운영체제(6) - 프로세스 관리
프로세스
프로그램 vs 프로세스
메모리에서 실행되는 프로그램 = 프로세스
무덤 속 프로그램, 살아 움직이는 프로세스
프로세스 상태
PCB
프로세스에 대한 모든 정보를 가지고 있다. 이러면 다시 CPU로 돌아올 때 복구하기 쉽다.
- process state (running, ready, waiting, …), PC, registers, MMU info (base, limit), CPU time, process id, list of open files, …
Queue
Multiprogramming
현대의 컴퓨터는 메모리에 여러 프로그램을 올릴 수 있는 멑티프로그래밍을 지원한다.
-
Degree of multiprogramming: 메모리에 프로그램이 몇 개 올라와 있는지
- I/O-bound process: 주로 입출력 장치를 사용 ex) word
-
CPU-bound process : 주로 CPU를 이용 ex) 일기예보 프로그램 => OS는 이 둘을 적당히 분배해야 한다.
-
프로세스가 오랫동안 움직임이 없다면 프로세스를 Swap device에 Swap out한다. 다시 프로세스를 실행하면 Swap in을 한다. 이것을 Swapping이라 하고 이 모든 과정을 Medium-term scheduler이라 한다.
- Context switching: 하나의 프로그램에서 다른 프로그램으로 CPU가 옮겨가는 것. Scheduler가 다음 프로그램을 정하고 Dispatcher가 프로그램의 상태를 저장하고, 레지스터 값을 변경한다. 너무 자주 일어나면 Overhead가 일어나 좋지 않다.
Leave a comment