3 min read

<운영체제> Disk Scheduling - LOOK, FSCAN, N-step SCAN

본 게시물은 영남대학교 곽종욱 교수님의 강의를 기반으로 작성됨

Look이란?

  1. 기존의 SCAN 방식에 이름에서 볼 수 있듯이 Look forward의 동작을 수행한다.즉, 들어온 요청들의 마지막 요청 지점을 체크하고 SCAN처럼 startpoint 또는endpoint까지 이동하지 않고 디스크 헤더가 마지막 요청 지점까지만 움직이는 동작을 수행하게 하는 정책이다.
  2. 위의 차이점을 제외하면 SCAN과 동일한 알고리즘으로 동작한다.
  3. 이 정책또한 SCAN정책 보다 요청들의 response-time-interval을 줄이는데 효과가 있다.
  4. Look의 연장선으로 C-Look도 존재하며 이는 C-SCAN과 마찬가지로 Look의 알고리즘을 한쪽 끝에 도착하면 바로 반대쪽 끝으로 이동하게 하는 방식으로 동작한다. 이 또한 끝에서 끝으로 가는동안은 요청을 수행하지 않는다.
  5. 해당 아래 이미지의 동그라미 친 부분을 보면 완전히 endpoint or startpoint까지 가지 않고 반대쪽 최소/최대 지점으로 이동하는 것을 볼 수 있다.

C-Look 이미지

FSCAN

  1. “F” 의 뜻은 “Freezing”이다. 즉, SCAN 방식에 무언가를 고정시켜서 진행한다는 늬앙스를 유추 해 볼 수 있는데, 구체적으로 이는 디스크가 요청에 대한 작업을 시작한 이후 들어오는 요청에 대해 진행 중인 경로 상의 요청이라도 endpoint를 찍고 돌아가는 길에 해당 작업을 수행하는 알고리즘이라고 보면된다.
  2. 기존의 SCAN의 경우 들어오는 순서에 상관없이 가는 경로에 있으면 해당 요청을 수행하였지만, 이러한 방식은 Arm-stickiness를 유발할 가능성이 있기에 이 확률을 줄이기 위한 동작을 수행하는 정책이 FSCAN이다.
  3. 조금 더 풀어서 서술하면 가는길에 요청이 들어와도 무시하고 끝점을 찍고나서 돌아오는 길에 해당 요청을 처리한다.
  4. 이 정책 또한 response-time-interval을 줄이는 정책이다

FSCAN 이미지

  • 디스크 헤더의 위치 : 63
  • Cylinder req queue : 33, 72, 47, 8, 99, 74, 52, 75

N-step SCAN이란?

  1. FSCAN의 변형 버전이다.
  2. 디스크 헤더가 n개의 요청만 받아들이고 이들만 수행한다.
  3. 만약 n이 엄청 큰 숫자이면 SCAN과 다를게 없고, n이 1이면 FCFS와 다를게 없다
  4. 앞서 소개된 정책들 중에response-time-interval을 가장 많이 줄일 수 있는 정책이다.