프로세스 상태 변화와 상태 정보

2023. 11. 11. 13:59스터디/OS 스터디

728x90

운영체제는 프로세스의 실행을 제어한다.

 

프로세스의 상태는 크게 실행 상태와 비실행 상태로 구분할 수 있다. 

비실행 상태에서 실행 상태로 바꾸는 것을 디스패치,

실행 상태를 비실행 상태로 바꾸는 것을 인터럽트라고 한다. 

더 세분화 하는 상태로 표현하면 다음과 같다.

 

 

프로세스의 상태 변화는 OS가 작업 스케줄러와 프로세스 스케줄러를 이용하여 관리한다.

작업 스케줄러는 스플러가 디스크에 저장한 작업 중 실행할 작업을 선정하고 준비 리스트에 삽입한다.

프로세스 스케줄러는 선정한 작업의 상태를 변화시키며 프로세스 생성에서 종료까지 과정을 수행한다. 

즉, 프로세스가 스스로 하는 것은 대기뿐이고, 나머지는 외부 조건으로 발생한다.

 

 

프로세스 제어 블록(PCB)

프로세서 제어블록(PCB)은 운영 체제가 프로세스를 제어할 때 필요한 프로세스 상태 정보를 저장하는 블록이다. 

프로세스가 생성되면 메모리에 PCB를 생성하고, 프로세스가 종료되면 PCB도 삭제한다.

PCB의 구조는 다음과 같다.

 

프로세스의 문맥 교환(Context Switching) 

인터럽트나 시스템 호출 등으로 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨 실행 항태가 되도록 하는 것을 프로세스의 문맥 교환이다. 

Context Switching이 발생하면 프로세스에 레지스터에 있던 내용을 나중에 사용할 수 있도록 저장한다.

 

참조 : 한빛아카데미 - 그림으로 배우는 구조와 원리 운영체제 - 구현회 저

728x90

'스터디 > OS 스터디' 카테고리의 다른 글

스레드  (0) 2023.11.11
프로세스 관리  (0) 2023.11.11
프로세스의 개념과 상태 변화  (0) 2023.11.11
운영체제의 소개  (0) 2023.11.01
컴퓨터 시스템의 동작  (0) 2023.11.01