메모리에 올려져서 실행 중인 프로그램을 프로세스라고 한다. 실행 파일은 코드 이미지라고 한다. 하지만 응용 프로그램을 프로세스라고 볼 수만은 없다. 응용 프로그램은 보통 여러 개의 프로세스로 이루어 질 수 있기 때문이다.
프로세스라는 용어는 작업, task, job이라는 용어와 혼용하여 사용
프로세스를 관리하는 주체는 스케쥴러이다. 어떠한 순서로 프로세스를 진행할 것인가를 결정하는 것을 스케쥴링 알고리즘이라고 한다.
First In First Out 스케쥴러는 가장 간단한 스케쥴러로써 배치 처리 시스템으로 보면 된다. 큐 구조와 동일하게 동작한다.
Shortest Job First 스케쥴러는 가장 프로세스 실행 시간이 짧은 프로세스부터 먼저 실행 시키는 알고리즘이다.
RealTime OS(RTOS)
General Purpose OS(GPOS)
- 프로세스 실행시간에 민감하지 않음
우선 순위 기반 스케쥴러는 말 그대로 우선 순위에 따라 프로세스 실행 순서를 결정한다.
현실적으로 모든 프로세스의 우선순위를 미리 지정하는 것은 어려움
시분할 시스템의 기반이 되는 스케쥴러로 다음과 같이 Ready-Queue에 각 프로세스를 넣어두고 각 시간별로 프로세서에 전달해 실행 후 완료되면 제거하고 완료되지 않으면 다시 선점하는 방식이다.