[OS] 디스크 스케줄링

sky·2022년 5월 25일
0

정리

목록 보기
7/13
post-thumbnail

[1] 개요


파일 시스템
데이터와 프로그램을 저장하고, 현재 컴퓨터 시스템은 주로 디스크 시스템 중심으로 파일시스템을 처리한다.
운영체제
디스크, CD-ROM, DVD-ROM 같은 기억용량이 큰 기억장치를 관리하고 운영한다. 그리고 파일을 추상적으로 관리한다.

[2] 디스크 구조


(1) 하드디스크(Hard Disk Drive : HDD)의 구조

  • 플래터 : 데이터가 저장되는 곳으로, 양면으로 구성되어 있고 3-4판 정도가 있다.
  • 액츄에이터 암 : 헤드를 데이터가 있는 곳으로 움직여준다.
  • 헤드 : 데이터를 읽어준다.
  • 전원 커넥터 : 하드디스크에 전원을 공급한다.
  • 데이터 커넥터 : 하드디스크와 컴퓨터 사이의 데이터를 전송해준다.
  • 스핀들 모터 : 플래터를 회전시킨다.

(2) 이동헤드 디스크의 구성도

  • 트랙(Track) : 중심축에 대해 동심원으로 나누어진 것
  • 섹터(Sector) : 디스크 구조에서 부채꼴 모양으로 자른 것처럼 나누어진 구역으로, 일반적으로 512bytes이다.
  • 트랙 섹터(Track Sector) : 전체 섹터와 트랙의 교차점으로 둘러싸인 구역으로, 입출력의 기본 단위이다.
  • 실린더(Cylinder) : 헤드가 한번에 판독과 기록할 수 있는 원통형의 트랙 모임으로, 동일한 익덱스 번호를 가진다.

(3) 디스크 접근 시간

디스크로부터 데이터를 접근하는데 소요되는 시간 = (1)탐색 시간 + (2)회전 지연 시간 + (3)전송 시간

  • 탐색시간(Seek Time) : 디스크 헤드가 원하는 실린더(트랙)에 위치하는데 소요되는 시간이다. 다른 시간에 비해 압도적으로 오래 걸린다. (지연 시간과 전송시간을 합쳐도 탐색 시간에 못 미친다.)
  • 회전 지연 시간(Latency Time/Rotational Delay) : 플래터가 회전하면서 처리할 데이터가 헤드까지 오는 시간이다.
  • 전송 시간(Transmission Time) : 헤드가 읽은 데이터를 메인 메모리에 전송하는 시간이다.

[3] CD-ROM 구조


  • Compact Disk-Read Only Memory의 약자
  • 적은 비용으로 많은 데이터(650MB 이상)의 저장이 가능한 매체다.
  • 레이저를 이용해 재생해서 광저장 장치라고도 한다. (반사되는 빛의 강도를 이용)

디스크 저장 매체의 두 가지 재생 방식
CAV 방식 : 하드디스크, 플로피 디스크
CLV 방식 : CD-ROM


(1) CAV(Constant Angular Velocity)

  • 등각속도 방식이고, 트랙의 회전 각속도가 일정하다.
  • 동심원 형태의 트랙에 정보를 저장하고, 모든 트랙은 동일한 수의 비트(데이터)를 저장한다.(데이터 저장 밀도가 다름)
  • 전체적으로 데이터 저장 밀도가 낮아서 저장공간의 낭비가 생긴다.
  • 데이터 검색시간이 빠르다.


디스크의 회전속도는 언제나 일정하며, 헤드의 위치에 따라 데이터 전송속도가 변한다.


(2) CLV(Constant Linear Velocity)

  • 등선속도 방식이고, 트랙의 회전 각속도가 달라진다.
  • 데이터는 연속된 나선형 트랙을 따라 저장한다.(모든 트랙이 하나의 트랙으로 연결된 구조)
  • 각 나선형 트랙별 데이터 저장 밀도가 같아서 저장 공간 낭비가 없다.
  • 연속적인 오디오 또는 비디오 트랙에 적합하다,
  • 임의 접근(Random Access)을 요구하는 응용에는 부적합하고, CLV에 비해 저장용량이 크지만 데이터 검색시간은 느리다.

데이터 전송 속도는 언제나 일정하며, 헤드의 위치에 따라 디스크의 회전 속도가 변한다.

[4] 디스크 스케줄링


현재 디스크 헤드 위치를 중심으로 가장 적은 기계적 이동으로 다양한 디스크 접근 요청(Process)들을 처리할 수 있도록 대기 큐를 재배열하는 과정이다.

디스크 스케줄링 방법
1. 탐색 시간(Seek Time) 최소화
2. 회전 지연 시간(Latency Time) 최소화

( 탐색 시간이 최소화가 되어 있으면 지연 시간을 최소화한다. )

일반적으로 디스크 스케줄링은 탐색 시간이 지연 시간에 비해 훨씬 많은 시간이 소요되기 때문에 탐색 시간 최소화에 관심을 가진다. (지연 시간은 전체 디스크 처리율의 증가에 크게 영향을 주지 못함)


스케줄링 방법

(1) FCFS(First Come First Served) Scheduling

가장 간단한 스케줄링으로, 먼저 도착한 요청을 우선적으로 서비스한다.

장점 : 공평성이 보장되고, 프로그래밍도 용이하다.

단점
1. 우선순위가 높은 디스크 접근 요청에 대한 처리가 불가하다.
2. 디스크 헤드의 위치와 대기 중인 요청들 간의 상관 관계를 전혀 고려하지 않는다.
3. 탐색 패턴을 최적화하려는 시도가 없는 기법으로 효율성이 낮다.


(2) SSTF(Shortest Seek Time First) Scheduling

현재 헤드의 위치에서 가장 가까운 요청을 먼저 서비스한다.

장점
1. FCFS에 비해 디스크 처리율이 높고, 평균 응답시간(평균 탐색 시간)이 짧다.
2. 처리량이 많은 일괄 처리 시스템에 유용하다.

단점
1. 어떤 요청의 경우는 기근(Starvation)현상이 발생할 수 있다.
2. 가운데 트랙이 더 많은 서비스를 받을 수 있기 때문에 응답시간에 큰 편차가 발생할 수 있다.
3. 응답 시간의 편차가 커질 수 있기 때문에 대화형 시스템에는 부적합하다.


(3) SCAN & LOOK Scheduling

  • 헤드 이동의 동적인 특성과 대기 큐의 특성을 반영한 것으로, 헤드 진행 방향 상의 가장 짧은 거리에 있는 요청을 우선 처리하는 방법이다. (진행 방향 상의 새로운 요청도 처리함)
  • SSTF가 갖는 탐색 시간의 편차를 해소하기 위한 기법이다.
  • 헤드가 디스크의 한쪽 끝에서 반대편 끝까지 움직이고, 끝에서 역 방향으로 하여 계속 처리하는 방식이다.
  • LOOK 스케줄링은 헤드가 각 방향의 트랙 끝까지 이동하지 않고 마지막 요청 트랙까지만 이동하는 방법이다. (엘리베이터 알고리즘)

SCAN스케줄링일 경우 0번과 199번 트랙까지 이동하지만, LOOK스케줄링일 경우는 처음과 끝의 트랙까지 이동하지 않는다.


(4) C-SCAN(Circular SCAN) & C-LOOK Scheduling

  • SCAN 기법과 유사하나, 한쪽 끝에 다다르면 반대방향으로 SCAN하지 않고 다시 처음 시작 방향으로 이동하여 SCAN을 수행한다.
  • 중앙과 양 끝 쪽의 차별을 해소하기 위한 기법이다.


(5) SLTF(Shortest Latency Time First) Method

  • 회전 지연 시간의 최적화를 위한 스케줄링으로, 모든 요청 중에서 회전 지연 시간이 가장 짧은 요청을 먼저 처리한다.
  • 실린더 내의 여러 트랙에 대한 요청을 섹터 위치에 따른 대기행렬로 정렬하여 접근한다.
  • 섹터 큐잉(Sector Queuing)방법이라고 표현한다.
  • 헤드의 이동이 거의 없고 고정 헤드 장치인 드럼과 같은 장치에서 사용된다. (헤드가 여러개)
    • 고정헤드 : 탐색 시간 없이 회전 지연 시간만 소요한다.


(6) Eschenbach Method

  • 탐색 시간뿐만 아니라 회전 지연 시간도 최적화하는 기법이다.
  • 헤드는 C-SCAN처럼 움직이나, 데이터 요청과 관계없이 전체 트랙이 1회전할 동안 데이터 서비스를 제공한다.
  • 1회전 동안 섹터 내의 많은 데이터들이 처리되어 회전 지연 시간을 줄인다.(여러 번의 회전을 방지)
  • 부하가 큰 항공 예약 시스템을 위해 개발되었다.

디스크 스케줄링 성능

  • 디스크 서비스에 대한 요청은 파일 할당 방법에 따라 영향을 받는다.
    • 프로그램의 연속적인 할당은 디스크에 인접하여 저장되기 때문에 디스크 헤드 이동의 영향을 감소시킨다.
    • 링크된 파일이나 색인화된 파일은 헤드 이동의 증가 위험이 있다.
  • 자주 사용되는 Directory와 Index Block의 디스크 저장위치가 중요하다.
    • 디렉터리 구조 및 위치의 탐색, 파일의 개방 등 빈번한 사용
    • 디스크의 중간부분에 배치하는 것이 상대적으로 헤드 이동의 거리가 감소
  • 디스크 스케줄링은 운영체제 전체 성능에 영향을 미친다.
profile
개발자가 되고 싶은 1人

0개의 댓글