CPU Scheduling

minhee·2021년 4월 12일
0
post-thumbnail

cpu Scheduling 에는 비선점과 선점이 존재한다. 비선점에는 FCFS, SJF, HRN 등이 있고 선점에는 SRT, RR 등 여러가지의 스케줄링이 존재한다.
예시와 이미지는 마지막 링크를 참고해주세요! [] 가 참고 ppt 번호입니다.

비선점

FCFS [5-6]


  • 프로세스들은 대기 큐에 도착한 순서대로 적재되어 차례로 CPU를 할당 받는다.
  • 공평성을 갖고 있으며, 완료 시간을 예측하기 용이하다.
  • 각 프로세스 간에 있어서 응답 시간의 편차가 적다.
  • CPU 사용시간이 긴 프로세스에게 유리하다

SJF [7-8]


  • 작업할 시간이 가장 적은 프로세스에게 먼저 CPU를 할당한다.
  • 평균 대기시간이 최소가 되는 최적의 알고리즘
  • CPU 버스트 시간이 긴 프로세스는 기아상태에 빠질 수 있다.
  • 일괄처리 시스템의 장기 스케줄링에는 유리하지만 단기 스케줄링에는 적용하기 힘들다.

HRN [9-10]


  • SJF + 에이징 기법
  • 대기 시간과 실행 시간을 혼합하여 어느 작업을 CPU를 사용할 지 결정하는 방법
  • HRN = (대기 시간 + 실행 시간) / 실행 시간

선점

SRT [12-13]


SJF보다 효율적인 스케줄링으로 새로운 프로세스가 준비큐에 진입했을 때 CPU에서 실행 중이라고 해도 남아있는 작업시간 비교 후 선점 가능하다.

  • SJF보다 평균 대기시간이나 평균 반환시간에서 효율적이다.
  • 대화형 운용체제에 유용하다.
  • 프로세스의 실행시간 추적, 선점을 위한 context switch 등 오버헤드가 크다.

RR [14-15]


  • 프로세스는 FIFO 형태로 대기 큐에 적재되지만 주어진 시간 할당량 안에 작업을 마쳐야한다.
  • 할당량을 다 소비하고도 작업이 끝나지 않은 프로세스는 다시 대기 큐의 맨 뒤로 되돌아간다.
  • 대화식 사용자를 위한 시분할 시스템을 위하여 고안되었다.
  • 시간 할당이 매우 크면 FCFS와 동일해진다.
  • 시간이 적으면 context switch가 자주 발생하여 비효율적이다.

선점과 비선점 비교


참고자료 : https://speakerdeck.com/ahnminhee/cpu-scheduling?slide=15

0개의 댓글