운영체제의 역할 중 하나인 프로세스 스케줄링에 대해 배워보자.
프로세스(process)란 프로그램이 실행 되기 위해 주메모리에 load되어 있는 상태를 의미한다. 즉 쉽게 말해 실행중인 프로그램을 프로세스라고 한다.
프로세스의 메모리 layout을 살펴보면 네 가지 section을 포함한다.
OS가 프로세스를 관리하려면 프로세스의 상태에 대한 개념이 있어야한다.
운영체제는 프로세스를 스케줄링할 때 PCB 구조를 이용하여 스케줄링을 하며 아래와 같은 정보를 포함한다
- Process state: 프로세스의 상태 (new,running,ready,wait, terminated )
- Program Counter: PC라고 하며 다음 실행될 명령어의 메모리 주소
- CPU registers: IR(현재 명령어의 메모리 주소를 저장한 레지스터), DR
- ....