프로세스 상태: 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 run out)  
('''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
  • 기본

프로세스 상태전이도.png

  • 상세(지연 상태 표시)

프로세스 상태전이도 상세.png

상태 종류[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)

지연 준비(지연 대기) 상태에서 기억 장치를 할당받아 준비(대기) 상태로 전이

같이 보기[edit | edit source]