프로세스 상태와 상태 전이

박세건·2023년 4월 6일

1. 상태 전이도

2. 프로세스 상태

생성

프로세스 최초 상태로, 주기억장치 적재되지 않고
보조 기억 장치에 저장되어 있는 실행 파일 상태

준비

프로세스가 CPU를 사용하여 실행 준비 된 상태
프로세스 상태 리스트 중 준비 리스트에 들어감
프로세스가 우선순위에 의해 정렬됨

실행

프로세스가 CPU를 차지하여 실행중인 상태
명령어들이 실행되고 있는 상태

대기

기다림(waiting) 또는 블록(block) 상태
I/O 동작의 완료 등 사건 발생을 기다리는 상태
프로세스 상태 리스트 중 블록 리스트에 들어감

종료

프로세스 실행이 완료되어 자원을 반납한 상태

3. 프로세스 상태 전이

Dispatch 준비→실행

– 프로세스 생성 상태에서 프로세서만 할당 받으면 실행 상태로 전이 과정
– 준비 프로세스 중 하나가 CPU 할당 받아 실행 상태로 전이
– 스케줄링 알고리즘에 의해 수행

Timeout 실행→준비

– 일정 시간이 지나면 스케줄러에 의해 PCB에 저장, 프로세서 반납 후 준비 상태로 전이

Block 실행→대기

– I/O 등의 자원 요청 후 즉시 할당 받을 수 없어, 할당 받을 때까지 기다리고 있는 상태로 전이
– I/O 처리는 CPU가 아닌 I/O 프로세스가 담당하기 때문에 발생

Wake up(조건만족) 대기→준비

– 필요한 자원이 할당되면 프로세스는 준비 상태로 전이
– 장치 관리자로부터 신호 또는 페이지 인터럽트 처리 의해 발생
– 준비 리스트의 맨 뒤에 붙음

Swap-out(suspend) 준비→지연, 대기→지연

– 프로세스 생성 후 메모리 부족, 또는 준비 상태의 프로세스가 기억장치를 잃은 경우 커널에 의해 메모리를 회수 당하고 중단 상태인 디스크로 Swap-out 됨

Swap-in(resume) 지연→준비, 지연→대기

– 기억장치가 다시 할당되는 경우, 지연 준비 상태로 전이, 디스크에서 다시 활동 상태인 메모리 영역으로 Swap-in됨

Suspend/ Resume

– 지연대기상태(suspendedasleep)도 지연준비상태(suspendedready)처럼 suspend/resume 되며 I/O 작업 요청이 완료되면 Wake up에 의해 지연준비상태(suspended ready)로 전이됨

출처

profile
멋있는 사람 - 일단 하자

0개의 댓글