1. What is OS ?
2. 운영체제의 전체적인 방향
What is OS?
- 컴퓨터는 정보를 처리하는 장치이다. 계산기와는 서로다른 특성을 보인다.
- 정보의 최소 단위 : bit(binary digit)
- 정보의 처리: 정보의 상태 변환 (0 -> 1, 1 -> 0)
- bool 대수, 논리 게이트, 논리 회로 등으로 정보를 처리한다.
- 컴퓨터는 범용성(universality)와 계산가능성(computability)의 특성을 가지고 있다.
- 범용성
- NOT, AND , OR 게이트만으로 모든 계산이 가능함
- NAND 게이트만으로 모든 계산을 할 수 있다.
- 범용 컴퓨터 : general-purpose computer
- 계산가능성
- Turing-computable : 튜링 머신으로 계산 가능한 것
- 정지 문제(Halting-Problem) : 튜링 머신으로 풀 수 없는 문제
- 범용성
- 현대의 거의 모든 컴퓨터는 폰노이만 구조(중앙처리장치(CPU), 메모리, 프로그램)를 가지고 있다.
메모리에 프로그램을 저장하는 양상을 띈다.- 기본적으로 폰 노이만 구조를 가지는 컴퓨터는 불러오기(fetch), 실행하기(execute) 를 한다.
- 메모리로 부터 명령어(instruction) 집합들을 불러오고 명령어 레지스터(instruction register)에 저장한다.
- 명령어들은 해독되어 내부 레지스터에 저장된다.
- 피연산자에 의해 명령어 집합들이 실행된다. 그리고 결과값들은 메모리에 저장된다.
- 컴퓨터는 여러가지 종류의 저장장치를 가지고 있고 접근시간, 저장용량에 따른 위계를 가지고 있다.
- OS에서 효율적인 작업처리를 위해 OS 작동방식을 이해해야한다.
- 멀티프로그래밍 : 하나 이상의 프로그램을 한번에 돌리는것, 동시에 여러 프로세스를 메모리에서 돌아가게 하도록 한다.
- 멀티태스킹(=멀티 프로세싱) : 멀티프로그래밍의 확장선, CPU가 작업을 변경하는 과정을 빠르게 함으로써 유저가 각각의 작업에 대해 상호작용할 수 있도록 하는것을 의미한다.
- CPU 스케쥴링 : 여러 프로세스가 (동시에) 실행될 준비가 된다면, 어떤 것을 먼저 실행시킬지에 대한 로직을 정하는 것
- user mode / kernel mode : 한 프로그램이 실수로 다른 프로그램을 실행시키지 않도록 할 수 있도록 한다.
- 가상화(Virtualization) : 하드웨어 위에 VMM(vmware, virtual box..)을 올려서 여러개의 커널의 OS를 동시에 사용할 수 있도록 할 수 있다.
운영체제의 전체적인 방향
process/thread - multiprocessing(cpu scheduling) - synchronization - deadlock
'CS > Operating System' 카테고리의 다른 글
[Operating System Concepts] Chapter6 Synchronization Tools (Part.1) (1) | 2023.11.04 |
---|---|
[Operating System Concepts] Chapter5 CPU Scheduling (1) | 2023.11.02 |
[Operating System Concepts] Chapter4 Thread & Concurrency (1) | 2023.10.31 |
[Operating System Concepts] Chapter3 Process (Part.2) (1) | 2023.10.29 |
[Operating System Concepts] Chapter3 Process (Part.1) (1) | 2023.10.27 |