Lecture 3. Process Management

OPhD·2021년 2월 6일
0

운영체제

목록 보기
3/3

1. 프로세스의 정의 및 종류

  • job vs process
  • job : 우리가 작성한 프로그램과 데이터를 묶어놓은 것이다.
  • process : job 실행을 시스템(커널)에 등록된 작업을 말함.

실행중인 프로그램.
즉 커널에 등록되고 커널 관리하에 있는 작업이다.
자원들을 요청하고 할당 받을 수 있음

종류는 아래와 같다.

(여담). 자원의 개념

커널 관리 하에 프로세스에게 할당 및 반납되는 수동적 개체 (passive entity)

2. PCB (Process Control Block)

os가 프로세스 관리에 필요한 정보를 저장하는 곳.

이게 관리하는 정보

! PCB 정보는 os별로 서로 다를 수 있다.

3. 프로세스의 상태 변화

자원 간의 상호작용에 의해 결정된다.

  • created state
    작업을 커널에 등록한 상태. PCB 할당 및 프로세스 생성. read 혹은 suspended ready 상태 중 하나로 넘어가게 됨. 쓸 수 있는 메모리 공간 여부에 따라 갈린다. 있는 경우에는 ready 상태가 됨

  • ready state
    프로세서(CPU) 외에 다른 모든 자원을 할당 받은 상태
    running 상태로 넘어가는데

  • running state
    프로세서와 자원을 모두 할당 받은 상태. running 에서 ready 상태 혹은 asleep 상태로 내려감
    running 상태에서 I/O request가 발생하면 asleep상태에 빠지게 된다. I/O 작업을 하는 동안 메모리에서 자고 있다고 생각하면 된다.

  • Blocked/Asleep stae
    프로세서 외에 다른 자원을 기다리는 상태로 wake-up을 통해 ready state로 전환이 가능하다.

  • suspended state (지연 상태)
    메모리를 할당 받지 못하거나 빼앗긴 상태를 의미한다.
    swap-out 또는 swap-in 과정을 거친다.

  • terminated/ zombie state
    프로세스 수행이 끝나 모든 자원이 반납되어 커널 내에 pcb 정보만 남아있는 상태

Note>! 프로세스 관리를 위한 자료구조

  • Ready Queue
  • I/O Queue
  • Device Queue

4. 인터럽트

4-1. 인터럽트 처리과정

5. Context Switching

5-1. Context Switching Overhead

0개의 댓글