OS

[OS] CPU 스케쥴링

집한구석 2021. 11. 13. 14:56
728x90

스케쥴링

  • 프로세스가 생성되서 실행될 때 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업을 의미함
  • 프로세스가 생성되서 완료될 때까지 여러 스케쥴링이 실행됨

스케쥴링 기법 종류 

  • 비선점 스케쥴링 : CPU에 할당되어 실행되고 있는 프로세스를 우선순위와 상관없이 강제로 뺏지 않고 (뺏을수 없음) 사용하는 기법
  • 선점 스케쥴링 : 하나의 프로세스가 CPU에 할당되어 실행되고 있는데 우선순위가 높은 다른 프로세스가 할당된 CPU를 빼앗아서 사용하는 기법

비선점 스케쥴링 특징

  • 프로세스가 CPU를 할당 받으면 해당 프로세스가 완료될 때 까지 CPU를 사용
  • 프로세스 응답시간 예측하기가 용이하면서 일괄 처리방식에 적합
  • 우선순위가 높은 작업이 우선순위가 낮은 작업보다 더 늦게 처리되는 경우가 발생할 수 있음
  • 대표적인 알고리즘으로 FCFS, SJF, 우선순위, HRN, 기한부 등이 있음

선점 스케쥴링 특징

  • 우선순위가 높은 작업 즉 우선순위가 높은 프로세스를 빠르게 처리할 수 있음
  • 주로 빠른 응답시간이 요구되는 시분할 시스템에 적합
  • 많은 오버헤드를 초래할 수 있음
  • 라운드로빈, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등의 알고리즘이 있음

인터럽트용 타이머클록

비선점 스케쥴링 같은 경우 선점이 가능하도록 일정시간 배당에 대한 인터럽트용 타이머 클록이 필요함 

  • 하나의 시스템 내에서 동작하는 장치들을 감시하기 위해 주기적인 신호를 발생하는 것으로, 하나의 프로세스가 자원을 독점하지 못하도록 방지하기 위해 사용

'OS' 카테고리의 다른 글

[OS] 가상메모리  (0) 2021.12.26
[OS] 캐시지역성  (0) 2021.12.26
[OS] 스케쥴러  (0) 2021.11.10
[OS] 메모리 관리 전략  (0) 2021.11.08
[OS] Swap  (0) 2021.11.07