📁 정보처리기사

[운영체제/OS] 프로세스 관리

박개봄 2021. 4. 3. 21:54
728x90

프로세스 상태 ('생준 실대완'으로 암기!)

 - 하나의 프로세스는 여러가지 이벤트에 의해, 서로 구분되는 상태 변화를 겪는다.

 - 생성, 준비, 실행, 대기, 완료 상태 가질 수 있다.

 

프로세스 상태

설명

생성(Create) 상태

 - 사용자에 의해 프로세스가 생성된 상태

준비(Ready) 상태

 - CPU를 할당받을 수 있는 상태

 - 준비 리스트(Ready List)

   : 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당 받음.

실행(Running) 상태

 - 프로세스가 CPU를 할당받아, 동작중인 상태

대기(Waiting) 상태

 - 프로세스 실행 중, 입출력 처리 등으로 인해 CPU를 양도하고,

   입출력 처리가 완료까지 대기 리스트에서 기다리는 상태.

 - 대기 리스트(Waiting List) : 우선순위가 존재하지 않음

완료(Complete) 상태

 - 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태

 

프로세스 상태 전이 ('디타 블웨스'로 암기!)

 - 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기까지 프로세스의 상태가 준비, 실행 및 대기상태로 변하는 활동

 - 활동 상태란, 프로세스가 기억장치를 할당받은 상태이다.

 - 지연 상태란, 프로세스가 기억장치를 할당받지 못한 상태이다.

 

프로세스 상태 전이

설명

디스패치

(Dispatch)
(스케줄링)

 - 상태 전이 : 준비 -> 실행

 - 준비 상태에 있는 여러 프로세스(Ready List) 중,

   실행될 프로세스를 선정(Scheduling)하여 CPU 할당(Dispatching)

   => 문맥교환 발생! (Context switching)

cf) 문맥교환 : CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록(PCB)에 저장하고, 다음 프로세스의 PCB로부터 문맥을 복원하는 작업.

타이머 런 아웃

(Timer run out)
(선점)

 - 상태 전이 : 실행 -> 준비

 - CPU를 할당받은 프로세스는 지정된 시간이 초과되면, 스케줄러에 의해 PCB 저장됨

 - CPU 반납 후, 다시 준비 상태로 전이

 - 타임 슬라이스(Time Slice) 만료, 선점(Preemption) 시 타임아웃 발생

블록

(Block)
(입출력 대기
또는 사건 대기)

 - 상태 전이 : 실행 -> 대기

 - 실행 상태에 있는 프로세스가 지정된 할당시간을 초과하기 전에,출력이나 기타 사건이 발생(block)하면 CPU 스스로 반납 -> 입출력이 완료될 때 까지 대기 상태로 전이

 - 즉시 실행 불가능한 시스템 콜, I/O 작업 시작, 프로세스 간 통신 시 Block 발생

웨이크 업

(Wake-up)
(입출력이나 이벤트 완료)

 - 상태 전이 : 대기 -> 준비

 - 입출력이 종료되는 순간에 대기 상태의 프로세스에게 입출력 종료 사실을 wait & signal 등에 의해 알려주고, 준비 상태로 전이

Swap-in
(재시작)

 - 프로세스에게 다시 기억장치가 할당될 경우

 - 상태 전이 : 지연준비 상태, 지연대기 상태 -> 준비 상태, 대기 상태

Swap-out
(중단)

 - 프로세스가 기억장치를 잃은 경우

 - 상태 전이 : 준비 상태, 대기 상태 -> 지연준비 상태, 지연대기 상태

 

728x90