프로세스 상태와 상태 전이

박세건·2023년 4월 6일
0

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개의 댓글