프로세스 상태: Difference between revisions
From CS Wiki
(새 문서: 분류:컴퓨터 구조 ;Process State 500px == 상태 종류 == {| class="wikitable" |- ! 상태 !! 설명 |- | New || 프로세스...) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
;Process State | ;Process State | ||
* 기본 | |||
[[파일:프로세스 상태전이도.png|500px]] | [[파일:프로세스 상태전이도.png|500px]] | ||
* 상세(지연 상태 표시) | |||
[[파일:프로세스 상태전이도 상세.png|500px]] | |||
== 상태 종류 == | == 상태 종류 == | ||
Line 9: | Line 12: | ||
! 상태 !! 설명 | ! 상태 !! 설명 | ||
|- | |- | ||
| New || 프로세스가 막 생성된 상태 | | '''New''' || 프로세스가 막 생성된 상태 | ||
|- | |- | ||
| Ready || 프로세스가 CPU에 실행되기 위해 대기하는 상태 | | '''Ready''' || 프로세스가 CPU에 실행되기 위해 대기하는 상태 | ||
|- | |- | ||
| Running || 프로세스에 포함된 명령어가 실행되고 있는 상태 | | '''Running''' || 프로세스에 포함된 명령어가 실행되고 있는 상태 | ||
|- | |- | ||
| Waiting || 프로세스가 특정 이벤트를 기다리는 상태 | | '''Waiting''' || 프로세스가 특정 자원이나 이벤트를 기다리는 상태 | ||
|- | |- | ||
| Terminated || 프로세스가 실행을 완료한 상태 | | Suspended Waiting || 프로세스가 대기 상태에서 기억 장치를 잃은 상태 | ||
|- | |||
| Suspended Ready || 프로세스가 기억장치를 제외한 다른 모든 필요한 자원들을 보유한 상태 | |||
|- | |||
| '''Terminated''' || 프로세스가 실행을 완료한 상태 | |||
|} | |} | ||
Line 26: | Line 33: | ||
|- | |- | ||
| 준비→실행 | | 준비→실행 | ||
(Dispatch) | ('''Dispatch''') | ||
|| 우선순위가 높은 프로세스 선정하여 명령어 실행 | || 우선순위가 높은 프로세스 선정하여 명령어 실행 | ||
|- | |- | ||
| 실행→준비 | | 실행→준비 | ||
(Timer | ('''Timer runout''') | ||
|| 클럭이 인터럽트를 발생시켜 제어권을 빼앗음(독점 방지) | || 클럭이 인터럽트를 발생시켜 제어권을 빼앗음(Preemption, 독점 방지) | ||
|- | |- | ||
| 실행→대기 | | 실행→대기 | ||
(Block) | ('''Block''') | ||
|| 프로세서가 입출력, 자원 등을 기다리기 위해 대기로 전환 | || 프로세서가 입출력, 자원 등을 기다리기 위해 대기로 전환 | ||
|- | |- | ||
| | | 대기→준비 | ||
(Wake up) | ('''Wake up''') | ||
|| 입출력이 완료되거나 자원이 할당되어 다시 실행 | || 입출력이 완료되거나 자원이 할당되어 다시 실행 | ||
|- | |||
| Swap-out | |||
(Suspend) | |||
|| 준비(대기) 상태에서 기억 장치를 반납하고 지연 준비(지연 대기) 상태로 전이 | |||
|- | |||
| Swap-in | |||
(Resume) | |||
|| 지연 준비(지연 대기) 상태에서 기억 장치를 할당받아 준비(대기) 상태로 전이 | |||
|} | |} | ||
== 같이 보기 == | |||
* [[CPU 상태]] |
Latest revision as of 23:48, 5 November 2020
- Process State
- 기본
- 상세(지연 상태 표시)
상태 종류[edit | edit source]
상태 | 설명 |
---|---|
New | 프로세스가 막 생성된 상태 |
Ready | 프로세스가 CPU에 실행되기 위해 대기하는 상태 |
Running | 프로세스에 포함된 명령어가 실행되고 있는 상태 |
Waiting | 프로세스가 특정 자원이나 이벤트를 기다리는 상태 |
Suspended Waiting | 프로세스가 대기 상태에서 기억 장치를 잃은 상태 |
Suspended Ready | 프로세스가 기억장치를 제외한 다른 모든 필요한 자원들을 보유한 상태 |
Terminated | 프로세스가 실행을 완료한 상태 |
상태 전이 동작[edit | edit source]
동작 | 설명 |
---|---|
준비→실행
(Dispatch) |
우선순위가 높은 프로세스 선정하여 명령어 실행 |
실행→준비
(Timer runout) |
클럭이 인터럽트를 발생시켜 제어권을 빼앗음(Preemption, 독점 방지) |
실행→대기
(Block) |
프로세서가 입출력, 자원 등을 기다리기 위해 대기로 전환 |
대기→준비
(Wake up) |
입출력이 완료되거나 자원이 할당되어 다시 실행 |
Swap-out
(Suspend) |
준비(대기) 상태에서 기억 장치를 반납하고 지연 준비(지연 대기) 상태로 전이 |
Swap-in
(Resume) |
지연 준비(지연 대기) 상태에서 기억 장치를 할당받아 준비(대기) 상태로 전이 |