X

디스크 스케줄링 (Disk Scheduling)

I. 디스크 읽기/쓰기 절차, 디스크 스케줄링

가. 디스크 스케줄링의 개념

  • 주 기억장치에 부재중인 데이터를 디스크로부터 불러오는데 소요되는 시간을 최소화하기 위한 스케줄링 기법

나. 디스크 스케줄링의 각 시간

스케줄링 설명
탐색 시간
(Seek Time)
– 헤드를 해당 데이터가 존재하는 트랙이나 실린더에 위치시키는 데 소요 시간
회전 지연시간
(Latency Time)
– 디스크 원판이 회전하여 섹터가 헤드의 바로 아래에 위치할 때까지 소요 시간
전송 시간
(Transfer Time)
– 디스크와 주 기억장치 간 실제 데이터가 이동하는데 소요 시간
  • 스케줄링 방법에 따라 시스템의 성능이 달라지며 탐색 시간 최적화가 스케줄링의 결정 요소

 

II. SCAN과 LOOK 방식의 동작 과정

가. 디스크 스케줄링 동작 과정에 따른 유형

동작 유형 설명
FCFS – First Com First Served
– 디스크 큐 도착 순서대로 처리
– 헤드 위치에 대한 고려 없어 시간 소요(낭비)
SSTF – Shortest Seek Time First
– 현재 헤드 위치 가장 가까운 요청 우선 처리
– 특정 요청에 대한 기아 상태 발생 가능성 존재
SCAN과
LOOK
– SSTF 기아 상태 발생 단점 보완 위해 방향성을 추가한 개선 알고리즘
N-Step
SCAN
– SCAN과 유사하나 서비스가 진행되는 도중 도착하는 요구에 대해 다음 방향 전환 후 처리

나. SSTF 기아 발생 단점 해결 위한 SCAN과 LOOK 기법 비교

항목 SCAN LOOK
공통점 – SSTF 스케줄링의 경우 현재 헤드 위치에서 멀리 떨어진 요청의 경우 기아 상태 발생 가능
– 기아 상태 방지위해 헤드 위치 중심 탐색 기준 방향성을 추가하여 단점 보완 필요
개념 – 진행 중 방향에 대한 처리 우선, 한쪽 끝 도달 시 방향 전환 – 대기 큐 검사, 진행 방향 요청이 없으면 그 자리 방향 전환
특징 – 진행방향 끝까지 이동
– 진행방향 짧은 거리
– 진행방향 끝까지 아님
– 대상 부재시 방향전환
단점 – 끝까지 진행하는 낭비
– 밀도 높은 부분 처리 시 대기시간 불균등
– 헤드가 지나간 쪽 요청은 다시 되돌아 올 때 서비스
보완
알고리즘
C-SCAN(Circular-SCAN)
– 헤드가 바깥에서 안쪽으로 진행 시만 요청 서비스 처리
– 대기균등화, 편차감소
C-LOOK(Circular-LOOK)
– 진행방향 추가 부재시 원래 시작 방향으로 되돌아가 처음 나타나는 요청부터 서비스

 

III. 주어진 상황에서 SCAN과 LOOK 기법 사례

  • 디스크 대기 큐: 85, 179, 31, 128, 10, 121, 55, 66
  • 헤드의 현재 이동 방향: 트랙 0번 방향
  • 헤드의 현재 위치: 50

가. SCAN 방식의 헤드 움직임 및 성능 평가

트랙 접근순서 50 31 10 0 55 66 85 121 128 179
헤드 이동거리 19 21 10 55 11 19 36 7 51
전체 탐색 길이 229 평균 탐색 길이 28.6

나. LOOK 방식의 헤드 움직임 및 성능 평가

트랙 접근순서 50 31 10 55 66 85 121 128 179
헤드 이동거리 19 21 45 11 19 36 7 51
전체 탐색 길이 209 평균 탐색 길이 26.1
  • 일반적으로 LOOK 기법이 SCAN 보다 평균 탐색 길이가 작아 성능 측면 상대적 우수
  • SCAN 기법 평균 이동거리는 6으로 LOOK 26.1에 비해 헤드의 평균 이동 거리가 길어 상대적으로 느린 성능 판단

IV. 디스크 성능 제고를 위한 방안

방안 설명
하드웨어
기반 기법
– 디스크의 저장 밀도 높임, 고정 헤드 사용
– 디스크 팩의 회전 속도(RPM) 증가
운영체제
기반 기법
– 같은 데이터를 디스크 여러 곳에 중복 배치
– 순차 데이터를 디스크 트랙에 섹터 별 배치
– 필요 시 디스크 데이터들의 위치 재구성
응용 시스템
기반 기법
– 인덱스 사용, 데이터 압축 기법 사용
– 보조 기억장치 해싱 기법 사용

 

Categories: CA/운영체제
도리: