스케쥴링(Scheduling)

스케줄링은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당
프로세스에게 할당하는 작업을 의미하며, 이를 수행하는 것을 스케쥴러(Scheduler)
라고 한다.

  • 프로세스가 생성되어 완료될 때 까지 프로세스는 여러 종류의 스케줄링 과정을
    거치게 된다.
  • 프로세스 스케줄링 기법에는 비선전(Non-preemptive) 스케줄링과
    선점(Preemptive)스케줄링이 있다.

비선점(Non-preemptice) 스케줄링 : 이미 할당된 CPU를 다른 프로세스가 강제롤 빼앗아 사용할 수 없는 스케줄링 기법이다.

FCFS = FIFO준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
SJF준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 기간이 가장 짧은 프로세스에게 CPU를 할당하는 기법
HRN실행 기간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법
우선 순위준비상태 큐에서 기다리는 각 프로세스마다 우선 순위를 부여하여 그 중 가장 높은 프로세스에게 먼저 cpu를 할당하는 기법

선점(Preemptive) 스케줄링 : 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법이다.

SRT현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 cpu를 할당하는 기법
라운드 로빈
(RR; Round Robin)
규정 시간 또는 시간 조각(Slice)을 미리 정의하여 CPU 스케줄러가 준비 상태 큐에서 정의된 시간만큼 각 프로세스에 CPU를 제공하는 시분할 시스템에 적절한 스케줄링 기법
다단계 큐프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용하는 기법
다단계 피드백 큐특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동 할 수 없는 다단계 큐 기법을 준시상태 큐 사이를 이동할 수 있도록 개선한 기법

답글 남기기