디스크에 대한 접근시간(access time)은 

  • 탐색시간(seek time) :  헤더가 실린더에 도착하기까지 걸리는 시간
  • 회전지연시간(rotational latency) : 섹터가 헤더에 도착하기까지 걸리는 시간
  • 전송시간(transfer time) : 섹터가 헤더에 도착 후 실제로 데이터가 읽고 쓰는데 걸리는 시간
  • 기타 등등

에 의하여 결정된다.

이 중에서 회전지연시간과 전송시간은 통제하기 힘든 부분이므로

 

운영체제는 탐색시간을 줄이기 위해 헤드의 움직임을 최소화 하는 스케줄링 작업을 함

 

1) FCFS(First Come First Service) 스케줄링

디스크에 먼저 들어온 요청을 먼저 처리 하는 방식 -> 비 효율적

( 이유 ) 입출력 요청이 디스크의 한쪽 끝을 처리한 후 반대쪽 끝을 처리해야 하는 경우 발생 -> 탐색시간이 비효율적으로 증가

 

2)SSTF(Shortest Seek Time First) 스케줄링

현재 위치로부터 가장 가까운 위치에 있는 요청을 먼저 처리

 

(+) 헤드의 이동거리 감소 -> 효율성 증가

(-) 기아현상(starvation)발생

--> 헤드의 이동거리 측면에서 가장 우수한 알고리즘은 아님

 

3)SCAN 알고리즘

헤드가 원판의 안쪽 끝과 바깥쪽 끝을 오가며 그 경로에 존재하는 모든 요청을 처리

버스가 일정한 경로를 따라 정류장을 도는 것과 유사한 방식

 

지그재그 방식 

 

(+) 효율성과 형편성을 만족시키는 알고리즘

(+) 한쪽 끝에서 다른쪽 끝으로 한번 이동으로 현재 큐에 있는 모든 요청 처리 가능

(+) 이동 거리측면에서 효율적

(+) 기아현상 발생 방지

(-) 공평성을 만족 시키지 못하는 알고리즘 - 실린더 위치의 기다리는 시간

 

4) C-SCAN(Circular-SCAN) 알고리즘

SCAN과 같은 방식으로 요청을 처리하는 알고리즘이지만 움직이는 방향이  다름

한쪽끝에서 다른쪽 끝으로 이동 후 다시 한쪽 끝에서 이동 시작

 

(+) 균일한 탐색시간 : 탐색시간의 편차가 줄어듬

(-) SCAN 보다 이동거리 증가

 

5) LOOK 과 C-LOOK 알고리즘

SCAN, C-SCAN 과 헤드의 이동방식이 유사한 알고리즘

이동방향: LOOK ( = SCAN), C-LOOK(= C-SCAN)

차이점:  가는 방향에 대기 중인 요청이 없으면 이동방향을 바꾼다는 점

 

--> 디스크 입/출력이 많은 시스템에서 언급한 기법들 중 가장 효율적인 방식

 

 

 

 

 

+ Recent posts