-
[운영체제 개념] 프로세스 process운영체제 Operating System/기초 핵심 개념 2020. 4. 6. 10:55
2. 프로세스 관리
2.1 프로세스
· 프로그램 vs 프로세스 (program vs process)
- process, task, job …
- program in execution: text + data + stack, pc, sp, registers, …
- 무덤 속 프로그램, 살아 움직이는 프로세스
- HD에 있는 여러 프로그램들 중 Memory로 적재되면 process라고 함.
- 수행중인 프로그램을 프로세스라고 함.
· 프로세스 상태
- new, ready, running, waiting, terminated
- 프로세스 상태 천이도 (process state transition diagram)
· PCB: Process Control Block
- Task Control Block (TCB) / PCB와 같은 용어
- 프로세스에 대한 모든 정보, 프로세스마다 1개씩 생긴다.
- process state (running, ready, waiting, …), PC, registers,
MMU info (base, limit), CPU time, process id, list of open files, …
- 사람과 비유하자면, '내 정보(Process)"를 "정부(OS)"가 가지고 있다.
'proces id(pid)' - 사람의 주민번호를 생각하면 더 쉽다.
- OS안에 프로세스 관리(process mgmt)를 하는 곳에 PCB가 있다. PCB는 프로세스마다 1개씩 생긴다.
PCB(#1)처럼 #1은 pid이라고 생각할 수 있다.
· 프로세스 대기열 (queue) : os에는 많은 queue가 있다.
1. Job Queue
- Job scheduler : 어떤 job을 memory로 올릴까 결정.
- Long-term scheduler : memory에 빈공간이 생겨야 일어난다. 그래서 자주 일어나지 않기 때문에 주기가 길다.
2. Ready Queue
- CPU scheduler : memory에 있는 process 중 어떤 것을 선택해 실행(서비스)을 할 것인지 결정.
- Short-term scheduler : switching이 빨리 일어나기 때문에 주기가 짧다.
3. Device Queue
- Device scheduler : 어떤 process를 먼저 device를 사용하게 해줄것인지 결정.
· Multiprogramming
- Degree of multiprogramming : main memory에 몇개의 process가 올라왔는지
- i/o-bound vs CPU-bound process
i/o-bound : cpu가 주로 i/o관련 일을 함. ex. 한글, 문서 편집
cpu-bound : cpu가 주로 cpu관련 일을 함. ex. super computing, 일기예보 등 계산이 많은 일
· Medium-term scheduler
- Swapping : 사용하고 있지않은 process중 어떤 것을 밀어낼지.
-> long term보다는 자주, short term보다는 자주 일어남
- HD 일부에 backing store (swap device)가 있어, swap out 당한
process는 잠시 보관하고, 다른 process가 swap in 이 된다.
· 용어
- Context switching (문맥전환) : process를 switching 함
- Scheduler : 어떤 놈을 선택할지 결정함
- Dispatcher : scheduler가 선택한 놈을 실행하도록 바꿔줌 ( pc값, register값 등)
- Context switching overhead : switching 할때마다 생기는 부담
'운영체제 Operating System > 기초 핵심 개념' 카테고리의 다른 글
[운영체제 개념] 하드웨어 보호 (0) 2020.04.05 [운영체제 개념] 이중모드 Daul mode (0) 2020.03.30 [운영체제 개념] 인터럽트 기반 시스템 (0) 2020.03.30 운영체제 역사 (0) 2020.03.29 운영체제의 정의 (0) 2020.03.28