⭐Process = 사용중인 프로그램⭐
CPU의 수행 상태를 나타내는 하드웨어 문맥
프로세스의 주소 공간
프로세스 관련 커널 자료구조 : 커널 상태에 따라 수행 조절
프로세스는 상태를 변경해가며 프로그램을 수행한다.
그 상태는 아래와 같다.
New
프로세스가 생성중인 상태
Running
CPU를 잡고 instruction을 수행중인 상태
Ready
다른 조건들을 다 만족하고 CPU를 얻으려 기다리는 상태
*보통 running과 ready 상태를 번갈아가며 CPU를 사용한다
📍 Blocked VS Suspended
Blocked: 스스로가 문제(자신이 요청한 이벤트가 완료되면 ready)
Suspended: 남이 문제(외부에서 재개해줘야 active)
앞서 1절 프로세스 관련 커널구조에 소개되었던 PCB에 대해 자세히 알아보자.
운영체제가 각 프로세스를 관리하기 위해 유지하는 정보
1) OS가 사용하는 정보: 관리 용도
2) CPU 수행 관련 하드웨어 값
3) 메모리 관련: 위치 정보 제공
4) 파일 관련
open file descriptors...
CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정
A 프로세스의 문맥 저장
B 프로세스로 CPU 넘겨줌
다시 A로 돌아올 때 저장된 문맥 부분에다가 반환
큐는 아래와 같이 나뉘고, ready와 device 큐 중 하나에만 해당할 수 있다.
Long-term scheduler
Short-term scheduler
Medium-term scheduler