CPU 스케쥴링

00SNU3K·2021년 8월 6일
0
  • 선점

    • 작업을 하고 있을때 우선순위가 바뀌어 뺏길 수도 있음

    • Round Robin

      • 시간 할당량 안에 처리를 하지 못하면 뺏김
      • FCFS에 의해서 대기중인 다음 프로세스로 넘어가며(Preemptive), 실행 중이던 프로세스는 준비 완료 리스트의 가장 뒤로 보내짐
      • 각 프로세스는 같은 크기의 CPU 시간을 할당
    • SRT(Shortest Remaining Time)

      • SJF방식에 선점 방식을 도입, 실시간 시스템에 유리
      • 실행 중인 프로세스라도 남은 처리 시간이 더짧다고 판단되는 프로세스가 생기면 뺏김
  • 비선점

    • 작업을 하고 있을때 우선순위가 바뀌지 않아서 뺏기지 않음

    • FCFS(First Come First Service)

      • 순서적으로 들어온 것을 처리함
    • SJF(Shortest Job First)

      • 작업처리가 짧은 프로세스를 먼저 처리함
      • FCFS보다 평균 대기시간 감소, 큰 작업에 대해서는 대기시간 예측 어려움
  • Multi-Level Queue

    • 용도별로 여러 그룹으로 나누어 여러 개의 큐를 이용하는 스케쥴링

    • 각 큐의 독자적인 스케줄링 알고리즘에 따라 CPU 할당 받음

  • Multi-Level Feedback Queue

    • 여러 개의 큐에서 새로 들어오는 프로그램이 있으면 높은 우선순위를 할당하여 단계 1에서 즉시 수행하고 점차 낮은 우선순위를 부여함

    • 단계가 n 쯤 되는 나중에는 그 작업이 완료될때 까지 Round Robin 방식을 사용

    • FCFS + Round Robin을 혼합한 Hybrid 스케줄링 기법

profile
네트워크 전문가를 꿈꾸며

0개의 댓글