* 해당 게시물은 경북대학교 컴퓨터학부 강의초빙교수, 배준현 교수님의 강의를 보고 작성되었음을 미리 알려드립니다. ( 개인적인 공부를 정리한 글입니다. )
> 주니온 TV Youtube Channel. https://www.youtube.com/channel/UCOcPzXDWSrnaKXse9XOPiog
> 주니온 TV Inflearn page. https://www.inflearn.com/users/@joonion
[ ] 컴퓨터의 역사
컴퓨터의 할아버지 > Alan Turing - Turing machine.
현대적 컴퓨터의 구성은 Alan Turing이 설계한 것과 다름 없다. > TMItalk : Turing machine의 이해 참조. ( 주니온 TV Youtube channel)
컴퓨터의 아버지 > John Von Neumann - ISA(Instruction Set Architecture.)
내장형 컴퓨터를 처음 도입한 것이 Von Neumann 이다.
A stored-program computer is a computer that stores programs in a memory.
RAM 안에 Program을 탑재하는데, CPU는 Program이 갖고 있는 명령어를 RAM에서 Fetch 후 execute한다.
이러한 fetch - execute cycle을 가진 제안한 것이 Von Neumann이다.
[ ] 프로그램
A program is a set of instructions that tells a computer's hardware to perform a task.
[ ] 운영체제
- Operating system is a program running at all times on the computer.
- to provide system service to application programs.
- to manage processes, resources, user interfaces, and so on.
> An operating system is a software that operates a computer system.
[ ] What Operating systems do.
- An operating system is a software that manages a computer's hardware.
즉 운영체제는 어플리캐이션, 사용자 그리고 하드웨어의 중간 역할을 해준다.
구성요소를 4가지(하드웨어, 운영체제, 애플리케이션, 사용자) 로 본다면, 아래의 그림으로 나타낼 수 있다.
[ ] Modern computer system.
Von Neumann architecture를 따르지 않는 새로운 시스템은 Modern computer system이라 한다. ex) 신경망, 네트웍, 양자
* Von Neumann architecture > 명령어로 이루어진 프로그램
- A typical instruction-execution cycle ( fetch -> execute )
- The instruction is then decoded. ( 메모리에서 피연사자를 가져오고, 내부의 register에 저장. )
[ ] Bootstrap.
- A bootstrap program is the first program to run on computer power-on and then load the operating system.
[ ] Interrupts.
- Hardware may trigger an interrupt at any time. > By sending a signal to the CPU, usually by way of the system bus.
[ ] Storage system.
- storage capacity and access time에 따라 다양한 종류로 나뉜다.
[ ] I/O Structure.
I/O를 처리하기 위해서는 복잡한 Architecture를 가지고 있다.
- A large portion of OS code is dedicated to managing I/O.
[ ] Definitions of Computer System Components.
CPU - The hardware that executes instructions.
Processor - A physical chip that contains one or more CPUs.
Core - The back computation
Multi Core - Including multiple computing cores on the same CPU. = with several cores on the same processor chip.
Process Core - Including multiple processors. ( Multi Core의 또다른 이름이라 생각하면 편함. )
[ ] Symmetric multiprocessing (SMP)
The most common multiprocessor systems.
- in which each peer CPU processor preforms all tasks.
[★] Multiprogramming.
- Run more than on program at a time.
- Keeps several processes in memory simultaneously.
- to increase CPU utilization.
[★] Multitasking.
- A logical extension of multiprogramming in which CPU switches jobs so frequently that users can interact with each job while it is running. = 멀티프로그래밍의 논리적 확장, CPU가 작업을 매우 빨리 전환하면서, 사용자들이 작업 중에서 다른 작업과 상호 작용할 수 있다.
위의 개념은 concurrency(동시 실행) 라 부른다. Parallelism(병렬) 과는 다른 개념이다. > Chapter 3에서 자세히 다룸.
CPU가 하나이면서 여러 개의 작업을 동시에 처리하기 위해서 CPU Scheduling이 필요로 하다. ( 목적은 CPU을 효율을 최대한 높이는 것.)
[★] Two separate mode of operations.
It has user mode and kernel mode.
kernel do can't cause other programs to execute incorrectly.
[ ] Virtualization.
Virtual Machine Manager 을 이용하여 다중 OS를 실행. > VMM은 OS scheduling을 함.
[ ] Operating System in the variety of computing environments.
- Traditional computing.
- Mobile ~
- Client-Server ~
- Peer-to-Peer ~ => bitcoin. (block-chain technique)
- Cloud ~
- Real-Time Embedded systems.
[ ] OS provides an environment for the execution of programs.
- User interface, Program execution, I/O operation, File-system manipulation,
Communications, Error detection, Resource allocation, Logging, Protection and security.
[ ] System calls in operating system.
- Provide an interface to the services made available by the OS.
- API = Application Programming Interface = System call 이란 OS의 API라 이해하면 좋음.
'Computing > Operating System' 카테고리의 다른 글
06 - 07 > Thread [쓰레드, 멀티 쓰레딩] (0) | 2021.11.07 |
---|---|
03 - 05 > Process [프로세스의 이해, 생성, 통신] (0) | 2021.11.07 |
[GNU] 정리. (0) | 2021.10.13 |
Memory Leak, Cache Hit&Miss (0) | 2021.10.13 |
Memory Fragmentation. 메모리 단편화 (0) | 2021.10.13 |