스케줄링은 운영체제에서 시스템 자원, 특히 CPU같은 프로세서 자원을 효율적으로
할당하고 관리하는 과정이다
스케줄링의 목적
-CPU 자원의 효율적인 사용 : CPU가 유휴 상태로 남지 않도록 하여 시스템 자원의 활용도를 높인다.
-응답 시간 단축 : 사용자에게 더 빠른 응답을 제공하여 시스템 사용 경험을 개선한다
-공정한 자원 배분 시스템 자원을 공평하게 사용할 수 있도록 하여 특정 프로세스가 자원을 독점하지 않도록 한다
스케줄링 알고리즘 :
선점형 스케줄링 (Preemptive Scheduling) :
하나의 프로세슥 CPU를 할당 받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로
뺴앗아 사용할 수 있는 스케줄링 기법이다
종류로는 Roun Robin, SRT, 선점 우선순위, 다단계 큐(MQ), 다단계 피드백 큐(MFQ)등의 알고리즘이 있다
비선점형 스케줄링(Non-preemptive) 이미 할당된 CPU를 다른 프로세스가 강제로 뺴앗아 사용할 수 없는 스케줄링 기법이다
비선점 스케줄링의 종류에는 (FCFS(FIFO), SJF, 우선순위, HRN, 기한부 등의 알고리즘이 있다)