Scheduling

이주희·2022년 9월 15일
0

OS

목록 보기
4/17

scheduling policy

workload

프로세스가 동작하는 일련의 행위를 말함

가정..

모든 작업은

  1. 같은 시간동안 실행됨
  2. 동시에 도착함
  3. 일단 시작하면 종료될 때까지 실행됨
  4. CPU만 사용 (입출력 하지않음)
  5. 실행시간은 사전에 알려져있음

스케줄 평가항목

  • turnaround time (반환시간)
    작업이 완료된 시각 - 작업이 도착한 시각
    성능 측면에서의 평가기준이다
  • fairness (공정성)
    모든 프로세스에게 공등하게 실행기회 부여
    ex)Jain's Fairness Index

turnaround time 기준

First In First Out, FIFO

먼저 도착한거 먼저 실행함

문제점

처음 들어온 프로그램의 실행시간이 매우 길 경우
반환시간이 아주 길어진다
-> convoy effect

Shortest Job First, SJF (최단작업 우선)

같은 시간에 도착한 경우 실행시간 짧은 순으로 실행

문제점

다른 시간에 도착하게 된다면 convoy 문제가 다시 생갈 수 있음

Shortest Time-to-Completion First, STCF (최소 잔여시간 우선)

실행중에 새로운 작업이 도착하면 그 작업시간과 잔여시간을 비교하여 작은 쪽 실행한다


fairness 기준

새로운 평가기준 : responce time
시분할 컴퓨터의 등장으로 상호작용이 중요해짐

response time (응답시간)

작업이 도착하는 시점부터 처음으로 스케줄 될 때까지의 시간

T responce = T firstrun - T arrival

Round-Robin, RR

일정 시간동안 실행한 후 실행큐의 다음 작업으로 전환

time slice ( = scheduling quantum)
: 작업이 실행되는 일정 기간

타임 슬라이스의 길이 = 타이머 인터럽트 주기의 배수
ex) 타이머 인터럽트가 10ms마다 일어난다면 타임 슬라이스의 길이는 10ms, 20ms...등이 될 수 있음

time slice의 길이가
짧을 수록 응답시간이 짧아져서 RR의 성능이 좋아짐
너무 짧으면 문맥교환 비용이 성능에 큰 영향 미친다
& 반환 시간이 너무 길어짐

0개의 댓글