CPU 스케쥴링

지난주 복습

  • 다중 프로그래밍 환경에서 프로세스가 결코 발생하지 않을 사건을 기다리는 상태가 되면 교착상태라고 한다.
  • 교착상태는 상호배제,점유와대기,비선점조건,순환대기를 만족할 때 발생한다.
  • 교착 상태를 해결하는 방법으로는
    • 교착 상태가 발생하지 않도록 예방하거나
    • 교착상태의 발생 가능성을 인정하지만 발생 시점에 적절히 회피하거나,
    • 교착 상태가 발생하였는지 감시하여제거하거나,
    • 아예 무시하고 개발자의 몫으로 넘기는 방법이 있다.
  • 높은 우선순위의 프로세스가 낮은 우선순위의 프로세스로 인하여 우선순우가 낮은 것처럼 대기하고 있는 상태를 우선순위 역전이라고 한다. 이를 해결하기 위하여 우선순위 계층 프로토콜을 이용한다.

학습목표

  • CPU 스케줄링의 개념과 목적을 설명할 수 있다.
  • 단계별, 정책별 스케줄링 기법을 숙지하여 스케줄링 방식을 체계적으로 정리할 수 있다.
  • CPU 스케줄링의 종류에 대해서 살펴보고 각각의 특징을 기술할 수 있다.

학습내용


퀴즈로 확인하기

정리하기

  • 여러 프로세스들이 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에게 할당할지 결정하는 행우리르 스케줄링이라고 하며, 이를 통하여 시스템 성능을 극대화 한다.
  • 단계구분
    • 장기, 단기, 중기 스케줄러
  • 장기 스케줄러는 저장장치에 있는 프로그램을 선택하여 메모리에 적재하여 동작을 시작한다.
  • 중기 스케줄러는 동작중인 프로세스들 중에서 일부를 저장장치로 제외시키는 스와핑 동작을 수행하여 다중 프로그램의 정도를 조정한다.

  • 정책별 구분
    • 선점형/비선점형 스케줄링
  • 한 프로세스가 자원을 보유하고 있을 때 다른 프로세스가 해당 자원을 가져올 수 없다면 비선점형이고, 해당 자원을 가져올 수 있다면 선점형이다.

  • 알고리즘별 구분
    • 선입선처리(FCFS)
    • 최소작업 우선 스케줄링(SJF)
    • 우선순위(Priority)
    • 라운드로빈(RR)
    • 다단계 큐(MLQ)
    • 다단계 피드백 큐(MLFQ)
    • HRN
  • 시스템 성능 기준
    • CPU 사용률(CPU Utilization)
    • 처리량(Throughput)
    • 반환 시간(turn-around time)
    • 대기시간(Wating Time)
    • 응답시간/반응시간(Response Time)