본문 바로가기

cs(with 매일메일)

[251203수] CPU스케줄링에 대해서 설명해주세요

CPU스케줄링이란? 

: 운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것 / 선점형과 비선점형이 있으며 다양한 스케줄링 알고리즘이 존재한다

 

1. 선점형 스케줄링

: 하나의 프로세스가 CPU를 사용하고 있더라고, 다른 프로세스가 자원을 강제로 빼앗아 할당해주는 방식

: 응답시간이 낮고 효율적

: 컨텍스트 스위칭 오버헤드, 경쟁 상태 발생

 

  1) RR(라운드 로빈)

  2) SRT(최소 잔여 시간 우선)

  3) 다단계 큐

 

2. 비선점형 스케줄링

: 하나의 프로세스가 자원을 사용하고 있다면, 해당 프로세스가 종료되기 전까지 다른 프로세스가 자원을 점유할 수 없는 방식

: 컨텍스트 스위칭 비용 적음

: 응답 시간이 길 수 있다

 

  1) FCFS(선입 선처리)

  2) SJF(최단 작업 우선)