[운영체제] Process Scheduling(프로세스 스케줄링)

김성록·2023년 3월 11일
0

운영체제

목록 보기
7/14

Process Scheduling에 대해 설명해보세요.


Prcoess Scheduling Queues

  • 프로세스를 스케줄링 하기 위한 3가지 큐가 존재한다.

    • Job Queue
      : Job Queue에는 시스템 내에 있는 모든 프로세스이 놓여진다. 이는 보조기억장치에 존재하는 프로세스가 메모리로 적재될 때 보조기억장치에 형성되어 있는 큐이다.
    • Ready Queue
      : Ready Queue에는 메모리에 적재되어 있는 프로세스들이 놓여진다. 이는 실행 가능한 프로세스들이 CPU에 자원을 할당받기 위해 기다리는 큐이다.
    • Device Queue
      : Device Queue에는 특정 입출력 장치를 대기하는 프로세스들이 놓여진다. 각 장치는 자신의 device queue를 가진다.

Process Scheduler

  • 각 큐에 프로세스들을 넣고 빼주는 scheduler에도 3가지 종류가 존재한다.

    • Long-term Scheduler

    : Long-term scheduler는 Job scheduler라고도 하며, 보조기억장치에 존재하는 프로세스 중 어떤 프로세스를 주 메모리로 적재할지 결정하는 역할을 한다. 즉, Secondary storage에 저장되어 있는 프로세스가 사용자에 의해 메모리에 적재되고 ready 상태로 된다.

    • Short-term Scheduler

    : Short-term Scheduler는 CPU scheduler라고도 하며, ready queue에 존재하는 프로세스들 중에서 어떤 프로세스를 running state로 만들지 결정한다.

    • Medium-term Scheduler

    : Medium-term Scheduler는 Swapper라고도 하며, 여유 공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓아내고, 차후에 다시 프로세스를 메모리로 불러와서 중단되었던 지점부터 실행을 재개하는 swapping 과정을 진행한다. 이를 통해 다중 프로그래밍의 정도를 완하하고, 현 시스템에서 메모리에 너무 많은 프로개름이 동시에 올라가는 것을 조절한다.

profile
예비 개발자

0개의 댓글