반응형

디스크의 구조

(a)고정 헤드 디스크 : 여러 트랙을 고정으로 회전 ex)LP판

(b)이동 헤드 디스크 : 디스크 교체가 가능하며, 필요에 따라 디스크를 장착하여 사용

-디스크 시스템

=>디스크의 정보는 드라이버 번호, 표면 번호, 트랙 번호 등으로 나누는 디스크 주소로 참조한다.

트랙 : 원형 평판 표면에 데이터를 저장할 수 있는 동심원을 가리킨다. 자기장의 간섭을 줄이거나 헤드를 정렬하려고 트랙 사이에 일정한 공간을 두어 트랙을 구분한다.

실린더 : 동일한 동심원으로 구성된 모든 트랙, 즉 동일한 위치에 있는 모든 트랙의 집합을 의미한다.

섹터 : 트랙을 부채꼴 모양으로 나눈 조각을 의미한다. 트랙 내의 정보는 블록을 구성하고, 이 블록이 하드웨어적으로 크기가 고정되었을 때가 바로 섹터라고 한다. 섹터는 데이터 기록이나 전송의 기본 단위로, 일반적으로 512바이트의 데이터 영역으로 구성된다. 섹터는 고유 번호가 있어 디스크에 저장된 데이터의 위치 식별이 가능하다.

-디스크의 논리적 구조

디스크의 논리적 구조

순서

1.디스크 드라이버

2.프로세서

3.디스크 제어기

-디스크 액세스의 시간의 개념

디스크 액세스 시간 : 회전하는 디스크의 섹터를 액세스할 수 있는 시간

-디스크 액세스 시간 개념

회전지연시간 : 원하는 섹터가 입출력 헤드 아래로 회전할 때를 기다리는 시간.

탐색시간 : 디스크상의 원하는 섹터에 액세스하기 위해 헤드를 해당 트랙 또는 실린더로 이동해 위치시킨다.

전송시간 : 디스크와 메인 메모리 간의 섹터를 주고받는 데 걸리는 시간.

디스크 액세스 시간 계산

=이동 디스크 : 회전 지연시간 + 탐색 시간 + 전송 시간

=고정 헤드 디스크 : 회전 지연시간 + 전송시간

-디스크 스케줄링의 종류

-선입선처리 스케줄링 개념(FCFS, First Come First Served)

요청이 도착한 순서에 따라 처리하는 가장 간단한 스케줄링 알고리즘

프로그래밍 쉽고 어떤 요인도 무기한 연기하지 않고, 본질적 공평성을 유지한다.

디스크 요청이 흩어질 때는 실행 시간 오버헤드가 적다. 그러나 서비스 지연을 감소시키는 요청을 재정렬하지 않아서 일반적인 임의의 탐색 패턴 결과로 탐색 시간이 증가하면서 처리량이 감소한다는 단점이 있다.

총 454개의 헤드가 이동했다고 볼 수 있다.

-선입선처리 스케줄링의 예시

 

-최소 탐색 시간 우선(SSTF, Shortest Seek Time First)

디스크 요청을 처리하려고 헤드가 먼 곳까지 이동하기 전에 현재 헤드 위치에 가까운 모든 요구를 먼저 처리하는 방법

선입선 처리와 비교하면 헤드의 이동 거리가 3분의1 정도로 트랙 146개를 이동하므로 디스크 서비스 시간을 실질적으로 줄일 수 있다.

최소 작업을 우선 수행하므로 디스크 요구의 기아 상태 발생이 가능하다.

공정성을 보장할 수 없고, 서비스를 무기한 연기할 수 있으며, 응답시간의 높은 분산은 대화형 시스템에서는 받아 들일 수 없는 단점.

즉 => 선입선처리와 정반대!

-최소탐색시간 예시

-스캔 스케줄링

요청 큐의 동적 특성을 반영하여 기아 상태를 해결한다.

입출력 헤드가 디스크의 한쪽 끝에서 다른 끝으로 이동하며, 한쪽 끝에 도달했을 때는 역방향으로 이동하면서 요청한 트랙을 처리한다.

-스캔 스케줄링의 예시

-순환 스캔 스케줄링

스캔 스케줄링을 변형하여 대기시간을 좀 더 균등하게 처리하는 방법(스캔 스케줄링은 반대편 요청이 너무 긴 시간 대기하기 때문에)

스캔 스케줄링처럼 헤드는 한쪽 방향으로 이동하면서 요청을 처리하지만, 끝에 도달하면 다시 처음부터 요청 처리

바깥쪽 트랙과 안쪽 트랙을 차별하지 않아 반응시간의 변화를 줄일 수 있다.

동일한 실린더(트랙) 요청이 연속적으로 발생하면 처리가 무기한 연기될 수 있다.

-룩 스케줄링

스켄 스케줄링이나 순환 스캔 스케줄링은 끝에서 끝으로 이동하는 원리지만, 룩 스케줄링은 현재 방향에 더는 요청이 없을 때 이동 방향을 바꿔 서비스를 처리한다.

스캔 스케줄링과 순환 스캔 스케줄링의 이런 형태를 룩 또는 순환룩이라고 한다.

룩은 진행 방향으로 움직이기 전에 먼저 요청이 있는지 검사한다는 의미

룩 스케줄링은 헤드를 각 방향으로 요청에 따르는 거리만큼만 이동하는 원리다.

현재 방향에서 더는 요청이 없다면 헤드의 이동 방향을 바꾸는 방법이다.

-C-룩 스케줄링

-최소 지연시간 우선 스케줄링(SLTF, Shortest Latency Time First)

모든 요청 중 회전 지연시간이 가장 짧은 요청을 먼저 처리한다.

트랙을 일정한 수의 블록으로 나눈 섹터를 토대로 요청들을 섹터 위치에 따라 에 넣은 후 가장 가까운 섹터 요청을 먼저 처리한다.

고정 헤드에서는 탐색을 하지 않으므로 탐색 시간이 없다. 따라서 회전 지연시간만 지연시간이 되므로 드럼처럼 고정 헤드를 사용하면 효과적인 알고리즘이다.

섹터 큐잉 알고리즘이라고 표현하기도 한다.

섹터 큐의 예

-최소 위치 결정 시간 우선(SPTF, Shortest Positioning Time First)

가장 짧은 위치를 결정하는 시간, 즉 탐색 시간과 회전 지연시간이 합이 가장 짧은 요청을 다음 서비스 대상으로 선택한다.

최소 탐색 시간 우선 스케줄링처럼 처리량이 많고 평균 반응시간이 짧다.

가장 안쪽과 바깥쪽 실린더 요청이 무기한 연기될 가능성이 있다.

에센바흐 방법 : 탐색 시간과 회전 지연시간을 최적화하려고 한 것.

B를 먼저 요청한다. 그 이유는 단일 실린더 탐색을 연산하는 데 걸리는 시간이 더 짧기 때문이다.

-디스크 스케줄링 알고리즘의 선택

성능은 요청의 형태와 요청의 수에 좌우된다.

큐가 하나 정도밖에 요청하지 않는다면 모든 스케줄링 알고리즘의 효과가 거의 같다.

디스크 서비스 요청은 파일 할당 방법에 많은 영향을 받는다.

=>연속적으로 할당된 파일을 읽는 프로그램은 디스크 상의 인접된 범위 내 많은 요청이 발생한다.

=>링크 파일이나 색인 파일의 경우, 블록들이 디스크에 흩어져 헤드 이동거리는 길지만 디스크 사용 효율은 높다.

디렉터리 위치에 따라 이동거리가 달라진다.

=>모든 파일은 개방되어야 사용 가능하며, 파일 개방을 위해 디렉터리 구조를 조사해야 하므로 디렉터리가 자주 호출된다.

=>디렉터리를 디스크 양 끝에 두는 것 보다 중간 부분에 두는 것이 디스크 헤드 이동을 줄일 수 있다.

디스크는 시스템 성능과 신뢰성 측면에서 병목현상의 주요 원인이 된다.

=>컴퓨터 장치 중 가장 속도가 느리다.

=>전반적인 시스템의 성능은 아직 디스크의 속도와 신뢰성에 좌우된다.

 

 

출처 : 저서명: 운영체제 개정 3판, 저자: 구현회, 출판사: 한빛아카데미, 발행년: 2017

+ Recent posts