2019년 2월 25일
디스크 스케줄링 (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) 증가 |
운영체제 기반 기법 | – 같은 데이터를 디스크 여러 곳에 중복 배치 – 순차 데이터를 디스크 트랙에 섹터 별 배치 – 필요 시 디스크 데이터들의 위치 재구성 |
응용 시스템 기반 기법 | – 인덱스 사용, 데이터 압축 기법 사용 – 보조 기억장치 해싱 기법 사용 |