본문 바로가기
Computer Science/OS

프로세스 상태

by snfjddl 2021. 11. 19.

먼저 프로세스 상태를 관리하는 스케줄러에 대해 정리해야겠다.

스케줄러는 크게 3가지로 장기, 중기, 단기 스케쥴러가 있다.

 

- 장기 스케줄러(Job Scheduler): 대용량 메모리(디스크 등)에 있는 적재되어있는 프로세스들 중 일부 프로세스를 골라 메모리를 할당하여 바로 실행시킬 수 있는 상태로 변화시킨다.

*프로세스 상태 new -> ready

 

- 중기 스케줄러(Swapper): 메모리 여유 공간의 확보를 위해 일부 프로세스에 할당된 메모리를 해제시킨다.

*프로세스 상태 ready -> suspended

 

- 단기 스케줄러(CPU Scheduler): Ready Queue에 있는 프로세스를 실행시키고, 실행 중인 프로세스에 I/O나 인터럽트 발생 시 잠시 대기 상태로 변경하고 처리가 완료되면 다시 준비 상태로 변화시킨다.

*프로세스 상태 ready -> running  /  running -> waiting /  waiting -> ready

 

프로세스 상태

new: 프로세스 생성되어 대용량 메모리(disk 등)에 존재하는 상태. PCB가 생성되는 단계

ready: 프로세스가 메모리에 적재된 상태. 프로세스가 CPU 할당을 기다리는 단계

running: 프로세스가 CPU를 할당받아 수행중인 상태. 

blocked: 프로세스가 CPU를 할당받아도 바로 수행이 불가능한 상태. I/O 등의 작업을 처리 중.

terminated: 프로세스가 완료되어 종료된 상태.

suspended: 중기 스케줄러에 의해 메모리가 강제로 해제된 상태. 직접 다시 ready 상태로 변경시켜줘야 한다.

반응형

'Computer Science > OS' 카테고리의 다른 글

교착상태(Deadlock)  (0) 2021.08.19
CPU 스케줄링  (0) 2021.08.18
프로세스와 스레드  (0) 2021.08.18
운영체제의 역할  (0) 2021.08.18
[OSTEP] 운영체제 개요  (0) 2021.01.01

댓글