디스크 스케줄링: Difference between revisions

From CS Wiki
(새 문서: 분류:운영체제분류:정보처리기사 * '''SLTF''' ** 섹터 큐잉 방식 ** 회전 시간의 최적화를 위한 기법 ** 요청받은 섹터를 위치에 따라...)
 
No edit summary
Line 1: Line 1:
[[분류:운영체제]][[분류:정보처리기사]]
[[분류:운영체제]][[분류:정보처리기사]]
;Disk Scheduling


* '''SLTF'''
== 지연 시간 구성 ==
** 섹터 큐잉 방식
{| class="wikitable"
** 회전 시간의 최적화를 위한 기법
! 스케줄링
** 요청받은 섹터를 위치에 따라 재정렬 후 가까운 섹터부터 서비스
! 설명
** 고정 헤드 장치에 사용
|-
* '''Eschenbach'''
| 탐색 시간(Seek Time)
** 부하가 큰 항공 시스템을 위해 개발
| 헤드를 해당 데이터가 존재하는 트랙이나 실린더에 위치시키는 데 소요 시간
** 탐색 시간과 회전 지연 시간을 최적화하기 위한 최초의 기법
|-
** C-SCAN처럼 전체 트랙을 한바퀴
| 회전 지연시간(Latency Time)
* '''LOOK'''
| 디스크 원판이 회전하여 섹터가 헤드의 바로 아래에 위치할 때까지 소요 시간
** SCAN 기법으로 진행 방향의 마지막 요청 후 반대로 이동
|-
* '''SSTF'''
| 전송 시간(Transfer Time)
** 탐색거리가 짧은 트랙에 대한 요청을 먼저 서비스
| 디스크와 주 기억장치 간 실제 데이터가 이동하는데 소요 시간
** 헤드에서 멀리 떨어진 요청은 기아상태가 됨
|}
** 일괄처리에 유용
 
== 종류 ==
=== [[FCFS]] ===
;First Come First Served
먼저들어온 요청부터 처리
* 알고리즘이 단순하고 구현 용이
* 공정한 스케줄링
* 비효율적
 
=== [[SSTF]] ===
;Shortest Seek Time First
현재 헤드 위치에서 가장 가까운 트랙부터 처리
* 헤드 이동 거리 최소화
* 단위시간당 처리량 최대화
* [[Starvation]] 가능성
* 응답시간의 편차가 큼
 
=== SCAN ===
;aka. 엘리베이터 알고리즘
실린더의 양쪽 끝을 왕복하여 진행 방향에 있는 요청 처리
* SSTF의 응답시간 편차를 극복하기 위해 Denning이 제안
* 현재 가장 널리 사용됨(C-SCAN 포함)
* SSTF 대비 탐색시간의 편차 감소
* SSTF 대비 [[Starvation]] 해소
* 실린더 끝에 위치한 블록은 상대적으로 대기시간 및 대기 편차 큼
 
=== C-SCAN ===
;Circular SCAN
한쪽 방향으로 진행하며 진행 방향에 있는 요청 처리
* SCAN의 응답시간 편차 개선
* 처리할 블럭이 없어도 끝까지 이동하므로 비효율적
 
=== LOOK ===
* SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점, 마지막 지점 까지만 이동
* 진행여부 결정에 오버헤드 발생
 
=== C-LOOK ===
;Circular Look
* C-SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점부터 시작하고 더이상 처리할 블럭이 없으면 되돌아 옴
* 진행여부 결정에 오버헤드 발생
 
=== SLTF ===
;Shortest Latency Time First
회전 지연시간이 가장 짧은 것을 먼저 서비스
* 고정 헤드 장치에 적합
 
=== Eschenbach ===
* 부하가 큰 항공 시스템을 위해 개발
* 탐색 시간과 회전 지연 시간을 최적화하기 위한 최초의 기법
* C-SCAN처럼 전체 트랙을 한바퀴 돌 동안 요청을 재배열

Revision as of 08:33, 19 November 2019

Disk Scheduling

지연 시간 구성

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

종류

FCFS

First Come First Served

먼저들어온 요청부터 처리

  • 알고리즘이 단순하고 구현 용이
  • 공정한 스케줄링
  • 비효율적

SSTF

Shortest Seek Time First

현재 헤드 위치에서 가장 가까운 트랙부터 처리

  • 헤드 이동 거리 최소화
  • 단위시간당 처리량 최대화
  • Starvation 가능성
  • 응답시간의 편차가 큼

SCAN

aka. 엘리베이터 알고리즘

실린더의 양쪽 끝을 왕복하여 진행 방향에 있는 요청 처리

  • SSTF의 응답시간 편차를 극복하기 위해 Denning이 제안
  • 현재 가장 널리 사용됨(C-SCAN 포함)
  • SSTF 대비 탐색시간의 편차 감소
  • SSTF 대비 Starvation 해소
  • 실린더 끝에 위치한 블록은 상대적으로 대기시간 및 대기 편차 큼

C-SCAN

Circular SCAN

한쪽 방향으로 진행하며 진행 방향에 있는 요청 처리

  • SCAN의 응답시간 편차 개선
  • 처리할 블럭이 없어도 끝까지 이동하므로 비효율적

LOOK

  • SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점, 마지막 지점 까지만 이동
  • 진행여부 결정에 오버헤드 발생

C-LOOK

Circular Look
  • C-SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점부터 시작하고 더이상 처리할 블럭이 없으면 되돌아 옴
  • 진행여부 결정에 오버헤드 발생

SLTF

Shortest Latency Time First

회전 지연시간이 가장 짧은 것을 먼저 서비스

  • 고정 헤드 장치에 적합

Eschenbach

  • 부하가 큰 항공 시스템을 위해 개발
  • 탐색 시간과 회전 지연 시간을 최적화하기 위한 최초의 기법
  • C-SCAN처럼 전체 트랙을 한바퀴 돌 동안 요청을 재배열