운영체제(6) - 프로세스 관리

less than 1 minute read

프로세스

프로그램 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