- 프로세스 상태
- New: 프로그램이 메인 메모리에 할당
- Ready: 할당된 프로그램이 초기화 작업을 통해 실행되기 위한 준비
- Running: CPU가 해당 프로세스 실행
- Waiting: 프로세스가 끝나지 않는 시점에서 I/O로 인해 CPU를 사용하지 않고 다른 작업을 진행하는 중(해당 작업 종료 휴 CPU에 의해 실행되기 위해 ready 상태로 돌아감)
- Terminated: 프로세스 종료
*프로세스가 CPU 할당 시간을 모두 소진하였을 때 Interrupt에 의해 강제로 ready 상태로 변환된다.
프로세스는 수행하면서 상태가 여러 번 변하는데 이에 따라 서비스를 받아야하는 곳이 다른다. 프로세스는 일반적으로 여러 개가 한 번에 수행되므로 그에 따른 순서가 필요하다.
- Job Queue: 하드디스크에 있는 프로그램이 실행되기 위해 메인 메모리의 할당 순서를 기다리는 큐이다.
- Ready Queue: CPU 점유 순서를 기다리는 큐이다.
- Device Queue: I/O를 하기 위한 여러 장치가 있는데, 각 장치를 기다리는 큐이다.
각 큐 내부에 저장된 실제 데이터는 각 프로세스의 PCB가 저장되어 있다. 그리고 이러한 순서를 정해주는 스케줄링 알고리즘이 존재한다.