본문 바로가기

IT 용어 정리

[운영체제] 프로세스 생명주기 (Process Life-cycle)

https://vmilsh.tistory.com/374

 

운영체제 프로세스 생애주기(Process Lifecycle)에 대해서

안녕하세요? 허니입니다. 운영체제의 프로세스 생애주기(Process Life Cycle)에 대해 포스팅을 하려고 합니다. 프로세스 라이프사이클은 마치 한 사람의 삶의 모습과 닯아 있기 때문에 이해하기 쉬운

vmilsh.tistory.com

 

프로세스 생명주기는 총 5단계로 나뉜다.

 

1단계 : 생성 = 저장되어 있는 디스크에서 메모리로 프로그램을 올려 실행을 준비하는 상태 

2단계 : 준비 = 순서에 맞춰 처리를 기다리는 상태

3단계 : 실행 = 작업이 되고 있는 상태

4단계 : Sleep = 프로세스가 잠시 어떠한 조건에 의해 작업이 이뤄질 수 없는 상태로, 그 조건이 해결되기를 기다리는 상태

5단계 : 종료 = 처리를 마치고 프로그램을 종료한 상태

 

이 과정에서 주의해야 할 부분은 준비 상태에서 프로세스와 Sleep 상태의 프로세스는 각각의 List를 준비해야 한다.

 

준비 List에 있는 프로세스들은 각각 우선순위가 주어져 가장 높은 우선 순위의 프로세스의 차례로 CPU를 차지하게 된다.

그러나, Sleep List는 순위가 없다.

왜냐하면, 대기상태에서 벗어나는 것은 정해진 순위에 의해서가 아니라 대기상태로 머물러야 했던 그 어떤 조건들이 해결되면 다시 실행 상태로 돌아갈 수 있기 때문이다.

 

 

a : 생성과정에서 준비상태로 이동하는 과정에서 프로세스가 처리되기 위한 메모리와 필요한 주변 장치들이 체크된다.

 

b : 수행상태에서 다시 준비상태로 가는 떄는 현재 처리되고 있는  프로세스의 타임 퀸텀이 다 되었을 경우이다.

 

c : 준비상태에서 수행상태로의 이동 과정에서는 미리 정해진 알고리즘(FCFS, SJN 등 )에 따라 프로세스가 선택된다. 

 

d : 수행상태에서 Sleep 상태로의 이동은 입력/출력 요청에 의해 이뤄진다.

하나의 프로세스가 수행 상태에서 입력/출력이 요청되면 그 작업이 마쳐질 때까지 그 프로세스는 Sleep 상태로 잠시 이동되고, 커널의 스케줄링 알고리즘에 따라 적절한 순위의 프로세스가 수행상태로 이동되는 것이다.

 

e : Sleep 상태에서 준비상태의 이동은 입력/출력이 끝났다는 신호에 의해 이루어진다.

 

f : 수행상태에서 종료상태로의 이동은 작업이 성공적으로 완료되었거나 혹은 에러가 발생하여 작업이 미리 종료되는 경우이다.

 

다시한번 요약하자면,

 

1단계 : 생성 - 디스크에서 메모리로 프로그램을 올려 프로그램을 올린다.

2단계 : 준비 - CPU 스케줄러에 의하여 우선순위에 맞춰 자원을 할당받아 실행 준비하는 단계이다.

3단계 : 실행 - 작업이 처리되는 단계이다.

4단계 : Sleep - 어떠한 문제가 발생하였거나, 어떠한 프로그램이 수행상태에서 입/출력이 요청되면, 그 작업이 해결되고 종료가 될때까지 CPU 스케줄러 우선순위에 맞춰 순서를 기다리는 상태

5단계 : 종료

'IT 용어 정리' 카테고리의 다른 글

하이퍼바이저 란  (0) 2023.06.27
DOM 이란  (0) 2023.06.27
바인딩(binding) 이란?  (0) 2023.06.26
Clustering 이란  (0) 2023.05.18
WAS 종류  (0) 2023.05.18