프로세스(1)

프로세스란?

: 실행중인 프로그램

프로세스의 context

: 특정 시점에서 프로세스의 상태를 규명하기 위한 요소들

프로세스의 상태(state)

  • Running : CPU를 잡고 instruction을 수행중인 상태
  • Ready : CPU를 기다리는 상태
  • Blocked(wait, sleep)
    : CPU를 주어도 당장 instruction을 수행할 수 없는 상태
    ex) 디스크에서 file을 읽어온 후 처리해야 하는 경우
  • Suspended
    : 외부적인 이유로 프로세스의 수행이 정지된 상태
    프로세스 통째로 디스크에 swap out 된다.
    ex) 메모리에 너무 많은 프로세스가 올라와 있을 때

Process Control Block(PCB)

: 운영체제가 각 프로세스를 관리하기 위해 프로세스당 유지하는 정보

(1) OS가 관리상 사용하는 정보
- Process state, Process ID, scheduling information, priority

(2) CPU 수행 관련 하드웨어 값
- Program counter, registers

(3) 메모리 관련
- Code, data, stack의 위치 정보

(4) 파일 관련

Context Switch

: CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정
- CPU를 내어주는 프로세스의 상태를 PCB에 저장
- CPU를 새롭게 얻는 프로세스의 상태를 PCB에서 읽어옴
-> 한 프로세스가 CPU를 잃었다가 다시 얻었을때, 이전에 실행되었던 위치의 다음부터 실행이 된다.

**반효경 교수님 KOCW 공개강의 정리**

좋은 웹페이지 즐겨찾기