디스크 스케줄링 (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 기법 비교

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

 

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

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

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

트랙 접근순서5031100556685121128179
헤드 이동거리19211055111936751
전체 탐색 길이229평균 탐색 길이28.6

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

트랙 접근순서503110556685121128179
헤드 이동거리192145111936751
전체 탐색 길이209평균 탐색 길이26.1
  • 일반적으로 LOOK 기법이 SCAN 보다 평균 탐색 길이가 작아 성능 측면 상대적 우수
  • SCAN 기법 평균 이동거리는 6으로 LOOK 26.1에 비해 헤드의 평균 이동 거리가 길어 상대적으로 느린 성능 판단

 

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

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

 

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^