본문 바로가기
정보과학/운영체제특론

입출력관리와 디스크 스케줄링

by J1소프트 2023. 12. 3.
728x90

1. 이동 헤드 디스크
  디스크의 성능을 평가하는 데는 크게 나누어 헤드가 움직일 수 있는 이동 헤드 디스크 기억장치와 헤드가 고정되어 있는 고정 헤드 디스크 기억장치로 구분할 수 있습니다. 

1) 디스크 액세스
(1) 데이터 액세스
   ․데이터는 일련의 자기 디스크 나 플래터(platter)에 기록된다. 
     디스크는 고속으로 회전하는(때때로 분당 3,600회전) 공동축(spindle)에 부착되어 있다.
   ․데이터는 일련의 판독/기록(read-write)에 의해 액세스(읽거나 쓰는 작업)된다. 

 

(2) 디스크 액세스의 구성요소


※ 판독/기록 헤드
   ․데이터가 현재 위치에서 판독/기록 헤드에 인접한 위치까지 회전하는데 걸리는 시간을 회전지연시간(rotational latency time) 또는 대기시간이라고 한다. 
   ․리스트의 포인터가 마치 시계 바늘이 돌아가는 것처럼 그 원형 리스트를 돌아가게 되는 것이다.  
   ․모든 판독/기록 헤드는 하나의 고정축(boom)이나 이동 암 조립부 (moving-arm assembly)에 연결되어 있으며, 고정축은 안팎으로 이동할 수 있다. 
   ․고정축이 움직여서 판독/기록 헤드를 새로운 위치로 이동시키면 다른 집합의 트랙을 액세스할 수 있다.  데이터가 현재 위치에서 판독/기록 헤드에 인접한 위치까지 회전하는데 걸리는 시간을 회전지연시간(rotational latency time) 또는 대기시간이라고 한다. 
   ․리스트의 포인터가 마치 시계 바늘이 돌아가는 것처럼 그 원형 리스트를 돌아가게 되는 것이다. 
   ․모든 판독/기록 헤드는 하나의 고정축(boom)이나 이동 암 조립부 (moving-arm assembly)에 연결되어 있으며, 고정축은 안팎으로 이동할 수 있다. 
   ․고정축이 움직여서 판독/기록 헤드를 새로운 위치로 이동시키면 다른 집합의 트랙을 액세스할 수 있다. 
   ․고정축이 특정 위치에 있을 때 모든 판독/기록 헤드가 스치는 트랙의 집합을 수직 실린더(cylinder)라 한다. 
   ․고정축을 새로운 실린더로 옮기는 과정을 탐색(seek) 작업이라고 부른다. 
   ․고정축이 특정 위치에 있을 때 모든 판독/기록 헤드가 스치는 트랙의 집합을 수직 실린더(cylinder)라 한다. 
   ․고정축을 새로운 실린더로 옮기는 과정을 탐색(seek) 작업이라고 부른다. 

 

2) 이동 헤드 디스크
(1) 이동 헤드 디스크의 구성
   ․이동 헤드 디스크(moving-head disk)의 옆모습은 아래와 같다.


(2) 이동 헤드 이스크의 작동 원리
   ․이동 헤드 디스크의 특정 데이터 레코드를 액세스 하기 위해 보통 몇 가지의 작동이 필요하다.

 

 

2. 디스크 스케줄링
  ․다중 프로그래밍 컴퓨터 시스템에서는 많은 프로세스가 디스크에 저장된 내용을 읽거나 쓰기 위한 요구를 발생시킬 수 있습니다. 
  ․이 프로세스들이 때때로 이동 헤드 디스크가 지원하는 것보다 더 빠른 처리를 요구하기 때문에, 각 장치를 위해 대기열(waiting line)이나 대기행렬(queue)이 형성됩니다.
    따라서 탐색시간의 최적화하기 위해서는 디스크 스케줄링이 필요합니다. 

1) FCFS 스케줄링


(1) 읽기/쓰기를 위한 요구
   ․다중 프로그래밍 컴퓨터 시스템에서는 많은 프로세스가 디스크에 저장된 내용을 읽거나 쓰기 위한 요구를 발생시킬 수 있다. 
   ․이 프로세스들이 때때로 이동 헤드 디스크가 지원하는 것보다 더 빠른 처리를 요구하기 때문에, 각 장치를 위해 대기열(waiting line)이나 대기행렬(queue)이 형성된다.
 

(2) FCFS 서비스 방법
   ․먼저 도착한 요구가 먼저 서비스 받는 공평한 서비스 방법이다.
   ․FCFS는 요구 발생률(request rate), 즉 부하(load)가 높아지면 매우 긴 시간을 요구할 수 있는 단점이 있다.

 

(3) FCFS 무작위 탐색 패턴
   ․FCFS는 무작위 탐색 패턴(random seek pattern)을 갖기 때문에 연속적인 요구가 가장 안쪽의 실린더로부터 가장 바깥쪽의 실린더까지 탐색해야 하는 등 시간을 많이 소모하게 되는 경우가 발생할 수 있다.


(4) FCFS 스케줄링 기법
   (Step 1) FCFS 스테줄링의 요구와 서비스에 대해 알아봅시다.

FCFS 스케줄링의 요구 FCFS(First-Come First-Served) 스케줄링에서는 먼저 도착한 요구가 먼저 서비스를 받습니다.
FCFS는 일단 요구가 도착하면 실행예정순서가 고정된다는 점에서는 공평합니다.
FCFS 스케줄링의
서비스
보다 더 높은 우선순위의 요구가 도착한다고 해서 요구순서가 바뀌지는 않습니다. 실제로 FCFS는 판독/기록 헤드가 현재 위치하고 있는 동일한 실린더에서 액세스될 수 있는 다른 어떤 요구가 존재한다고 하더라도 멀리서 기다리는 다음 순서의 요구를 서비스하기 위해 긴 탐색을 할 것입니다.


   (Step 2) FCFS 스케줄링의 요구 분포와 탐색패턴에 대해 알아봅시다.

FCFS 스케줄링의
요구분포
요구가 디스크 면 전체에 걸쳐 균일하게 분포되어
FCFS 스케줄링의
탐색패턴
FCFS 스케줄링은 무작위 탐색 패턴이 될 것입니다. 이것은 대기행렬(queue)에서 기다리는 요구들간의 위치적 관계를 무시하고 탐색 패턴을 최적화하기 위한 아무런 시도도 하지 않습니다.

 

   (Step 3) FCFS 스케줄링의 부하와 편차에 대해 알아봅시다.

FCFS 스케줄링의
부하
디스크가 작은 부하일 경우는 FCFS가 사용될 만합니다.
부하가 커질수록 FCFS는 장치를 포화시키기가 쉽고 응답시간이 길어집니다.
FCFS 스케줄링의
편차
FCFS는 작은 편차를 제공하지만 고정축(boom)이 디스크상에 왔다 갔다 하기 때문에 편차가 작다고 해도 별 효과가 없습니다.



2) SSTF 스케줄링


(1) 탐색거리와 처리의 관계
   ․SSTF(Shortest-Seek-Time-First) 스케줄링에서는 최단 탐색거리나 최단 탐색시간을 가져오는 요구를 먼저 처리하는 기법이다.
   ․이 스케줄링 기법이서는 최단 탐색거리를 가져오는 요구는 비록 대기행렬(queue)의제일 앞에 있지 않다 하더라도 먼저 처리한다.
   ․SSTF는 실린더 지향의 방법이다.

 

 (2) SSTF의 요구 차별 경향
    ․SSTF는 특정 요구에 비해 차별하는 경향이 있다. 
    ․SSTF 탐색 패턴은 중간 범위의 트랙에 비해 최내각과 최외각 트랙이 서비스를 절대로 받지 못하는 심각한 국부성을 갖는 경향이 있다.


(3) SSTF의 단점
   ․SSTF는 FCFS보다 처리량이 많고, 평균 응답시간도 중간 정도의 부하량에 대해서 비교적 짧다. 그러나 최내각과 최외각에 대한 차별때문에 응답시간에 큰 편차가 생긴다는 단점이 있다.
   ․극단적인 경우 판독/기록 헤드에서 멀리 떨어진 요구는 기아상태가 일어날 수 있다. 
   ․처리량과 평균응답시간이 크게 향상된 것을 고려하면 이러한 큰 편차는 그리 문제되지 않을 수도 있다. 

 

(4) SSTF의 요구 차별 경향
   ․SSTF는 처리량이 주요한 관심사인 일괄처리 시스템에 유용하지만 응답시간의 편차가 크기 때문에(즉, 예상 가능성의 부족) 대화평 시스템에서는 채택되지 않는다.

 

3) SCAN 스케줄링
(1) SCAN 스케줄링의 배경
   ․SSTF의 응답시간에 대한 차별과 큰 편차를 극복하기 위해 Denning이 SCAN 스케줄링 방법을 개발했다. 

 

(2) SCAN 스케줄링의 특징
   ․SCAN은 선택된 방향(preferred direction)에서 가장 짧은 탐색거리를 갖는 요구를 선택한다는 것만 제외하면 SSTF와 같이 동작한다. 


   ․선택된 방향이 현재 외부 방향이면 SCAN은 외부 방향에서 가장 짧은 탐색거리를 선택하며, 최외각 실린더를 만나거나 선택된 방향에서 기다리는 요구가 더 이상 없을 때에는 방향을 바꾸어 작업을 계속한다.
   ․이런 점에서 종종 엘리베이터 알고리즘(elevator algorithm)이라고 불린다. 왜냐하면 엘리베이터는 기다리는 요구가 더 이상 없을 때까지 보통 한 방향으로 계속하고 그리고 나서 방향을 바꾸기 때문이다.
   ․SCAN은 실제로 구현하는 데 있어서 대부분의 디스크 스케줄링 전략의 기본이 되어 왔다. 

 

 3) SCAN 스케줄링


   (Step 1) SCAN과 SSTF의 개념에 대해 설명하시오.

SSTF의 개념 및 특징 ․SSTF(Shortest-Seek-Time-First) 스케줄링에서는 최단 탐색거리나 최단 탐색시간을 가져오는 요구를 먼저 처리하는 스케줄링 기법
SCAN의 개념 및 특징 ․SCAN은 선택된 방향(preferred direction)에서 가장 짧은 탐색거리를 갖는 요구를 선택하는 스케줄링 기법

 

   (Step 2) SCAN과 SSTF의 공통점과 차이점에 대해 설명하시오.

SCANSSTF의 공통점 SCAN은 개선된 처리량과 평균 응답시간의 견지에서는 SSTF와 매우 유사하지만, 그 것은 SSTF에서 비롯한 많은 차별을 제거하고 훨씬 낮은편차를 제공합니다.
SCANSSTF와 같이 실린더 지향 방법입니다.
SCANSSTF의 차이점 SCAN의 판독/기록 헤드의 진동하는 움직임 때문에 외부 트랙은 중간 범위 트랙보다 덜 조사되지만 SSTF에 비하면 그리 심각한 것은 아닙니다.



4) N-Step SCAN 스케줄링

N-Step SCAN의
특징
․디스크 요구 큐를 길이 N의 여러 개의 서브큐(subqueues)로 세그먼트화 되고 한 번에 하니씩 SCAN을 사용하여 처리된다.
․하나의 서브큐가 처리되는 동안 새로운 요구들은 어떤 다른 서브큐에 추가된다.
이를 약간 변형한 것으로 두 개의 서브큐 만을 사용하는 FSCAN 기법도 있다.
․진행(sweep) 도중 도착한 요구는 한데 모아져서 다음의 반대방향 진행 때 최적의 서비스를 위해 정렬되어진다.(N-Step SCAN 스케줄링 참조)
․각각의 진행에서 먼저 N개의 요구가(주어진 판독/기록 헤드 방향에 대한 최적의 순서로) 서비스 된다.
N-Step SCAN
스케줄링
N-Step SCAN의
결론
․N-Step SCAN은 처리량과 평균 응답시간에 있어서 좋은 실행효율을 보이며, 이의 가장 중요한 특징으로는 SSTF나 전통적인 SCAN방법보다 응답시간의 편차가 작다는 것이다.
․N-Step SCAN은 현재 실린더에 많은 수의 요구가 도착할 때 무한한 지연이 발생하는 가능성을 제거한다. 이러한 요구들은 반대방향 진행 때 서비스를 받기 위해 대기행렬에 저장된다.



5) C-SCAN 스케줄링


(1) C-SCAN 스케줄링의 특징
   ․C-SCAN 방법에서 암은 외부 실린더에서 내부 실린더로 움직이면서 최단 탐색에 대한 요구에 서비스한다. 
   ․암은 안쪽의 요구를 끝마쳤을 때에는 요구에 서비스하지 않고 최외각 실린더에서 가장 가까운 요구로 점프하여 다시 안쪽으로 움직이면서 요구를 처리하는 과정을 재개한다. 
   ․C-SCAN은 현재 진행중에 도착한 요구는 다음 진행 때 서비스되도록 구현될 수 있다.

 


(2) C-SCAN 스케줄리의 장점
   ․C-SCAN은 최내각 또는 최외각 실린더에 대한 요구의 차별을 완전히 제거했으며, 응답시간의 편차가 매우 작다. 

 

※ 가장 좋은 디스크 스테줄링 정책
   ․시뮬레이션 결과 가장 좋은 디스크 스케줄링 정책은 두 단계로 작동하는 것이 좋다.
   ․낮은 부하에서는 SCAN방법이 가장 좋고, 중간 부하부터 높은 부하에서는 C-SCAN이 가장 좋은 결과를 나타냈다. 
   ․회전시간 최적화를 겸비한 C-SCAN은 높은 부하상태에서 효율적으로 처리한다.

 

6) 에센바흐 기법
   ․에센바흐 기법(Eschenbach Scheme)은 원래 매우 부하가 큰 항공 예약시스템을 위해 개발되었다. 
   ․이 방법은 탐색시간뿐만 아니라 회전지연시간(rotational latency time)도 최적화하려는 최초의 시도였다.
   ․회전시간 최적화를 겸비한 C-SCAN 방법이 어떤 부하조건에서도 에센바흐 방법보다 더 좋다는 것이 증명되었다. 

 

7) SLTF 스케줄링
   ․높은 부하상태에서는 특정 실린더에 대한 다수의 참조가능성이 증가한다. 따라서 탐색시간 최적화뿐만 아니라 회전시간 최적화도 고려하는 것이 유용하게 되었으며, 드럼과 같이 헤드가 고정된 장치에서 회전시간 최적화가 오랫동안 사용되어 왔다.  



3. 디스크 캐싱
   ․만일 최근에 기록된 레코드가 판독된다면 디스크에서 판독되는 것보다는 주기억장소의 디스크 캐쉬 버퍼(disk cache buffe)애서 더욱 빨리 읽혀질 수 있습니다.


1) 디스크 캐싱의 개념
   ․일부 시스템에서는 한 번의 기록이 발생할 때 레코드가 곧바로 디스크에 써지기도 하지만 디스크 캐싱(disk caching)을 가진 시스템에서는 단지 주기억장소의 버퍼에 기록되게 된다. 
   ․레코드는 다음 기록이 필요로 하는 버퍼의 장소가 없을 때까지 남아 있게 되며, 바로 그때에 레코드가 실제로 디스크에 기록되게 된다. 
   ․기록이 반드시 프로그램이 그러하리라고 생각하는 때에 발생하는 것이 아니므로 어느 순간에 디스크 파일의 내용이 프로그램이 포함하는 것과는 다를 수가 있다. 
   ․시스템이 파괴하는 가능성을 생각할 때 이 문제는 매우 중요한 것이며, 프로그램상의 디스크의 내용과 실제 디스크의 내용간의 불일치 되는 기회를 줄이기 위하여 UNIX 운영체제는 버퍼의 내용을 디스크에 옮기는 동기화 작업을 정기적으로 실행시킨다. 
   ․디스크 캐싱의 요점은 빈번히 사용되는 기록을 주기억장소의 디스크 ?캐쉬버퍼에 보관하는 것이다. 물론 이 방법은 빈번히 사용되는 레코드가 무엇인지를 알 수 있는 경우에만 잘 작동되며, 이 문제를 해결하기 위해 국부적 휴어리스틱 (locality heuristic) 기법이 종종 사용된다. 
   ․최근에 참조된 기록이 가까운 장래에 참조될 가능성이 크다는 것이다. 
   ․디스크 캐슁 시스템에 종종 사용되는 또 다른 휴어리스틱은 최근에 참조된 레코드에 인접한 레코드를 미리 가지고 오는 것이다. 

 2) RAM 디스크

RAM 디스크란?

․RAM 디스크는 전통적인 임의 액세스 메모리
(RAM : Random Access Memory)를 본 딴 디스크 장치이다.
․전통적인 디스크에서의 탐색과 디스크의 회전을 위한 기계적 동작 때문에 감수해야 했던 지연시간을 완전히 제거했다.
․RAM 디스크는 특히 고효율의 응용에 특히 유용하다.

캐싱에서의
CPU 문제
․캐싱은 캐쉬의 내용을 유지하거나 디스크로부터 데이터를 판독하기 전에 캐쉬에서 데이터를 탐색하기 위해 어느 정도 CPU에 과부하를 초래한다.
․레코드 참조 패턴이 높은 국부성을 보이지 않는다면, 디스크 캐쉬 적중 확률(disk cache hit ratio)은 적어질 것이며 오히려 캐쉬를 관리하는 CPU의 노력에 의해 아마도 나쁜 수행 결과를 가져올 것이다.


RAM 디스크와
전통적인 디스크
비교
․자기 디스크와 레이저디스크는 속도가 느린 기계적 동작에 의존하기 때문에 기계적 작동을 제거하는 것이다. 년간 주변 시스템의 설계자들에게 주요목표가 되어 왔다.
․RAM 디스크는 아무런 기계적 동작도 포함되지 않으므로 전통적인 디스크보다 훨씬 빠르며, 주기억장치와는 분리가 되어 있으므로 운영체제나 응용 프로그램이 필요로 하는 공간을 차지하지 않는다.
․각각의 데이터 항목에 대한 참조시간은 전통적인 디스크에 비하여 균일하다. 하지만 몇 가지 단점도 가지고 있다.
․RAM 디스크는 보통의 디스크보다 비싸다. 그러나 느린 RAM을 이용한다면 주기억장치보다는 쌀 수 있다.
RAM의 문제점
및 가능성
․오늘날 사용되는 대부분의 RAM은 소멸성(volatile)이다.
즉 전원공급이 중단되면 RAM의 내용을 잃게 된다. 이 문제는 진지 백업(battery backup)을 사용하여 해결한다.
․오랜 시간의 전원 소모로 전지가 고갈될 수 있기 때문에 RAM 디스크 사용자는 자주 전통적 디스크로의 백업을 수행하여야 한다.
․주기억장치의 가격이 감소하고 저장 능력이 증가함에 RAM 따라 디스크가 결국 이동 헤드 자기 디스크 기억장치를 대신하게 되리라 예견된다.



3) 광 디스크
   ․컴퓨터 산업에서 하나의 불변의 사실은 항상 하나의 기술이 그 한계에 도달하면 다른 기술이 더욱 놀랄 만한 능력을 가지고 나타난다는 것이다. 이는 광 디스크(optical disk)의 경우에도 해당한다. 

광디스크에
사용된 다양한
기록 기법
․광 디스크에 사용된 다양한 기록기법에는 다음과 같은 것이 있다.
①강렬한 레이저의 열로 금속 피복에 미세한 구멍을 태우는 방법
②레이저의 열로 표면을 거칠게 하는 방법
③표면의 반사 정도를 사용하는 방법
최초의 광 디스크
WORM
․최초의 광 디스크는 WORM(Write-Once-Read-Many) 장치였다. 이는 기록 보관의 경우에 적합하며, 정기적으로 최신 정보의 변경을 필요로 하는 경우에는 유용하지 못했다.
․실제로(개인용 컴퓨터에 일반적으로 사용되는 하드디스크의 대략 100배에 해당하는 multi-gigabyte 범위의) 디스크의 광대한 저장량은 갱신을 필요로 하는 경우에도 효율적으로 사용될 수 있다.
․변경이 요구될 경우 이전의 디스크 중 기록되지 않았던 부분에 기록되며, 디스크의 각 섹터의 데이터가 현재에도 유용한지 아닌지를 지시하는 표시를 위하여 각 섹터마다 공간을 남겨둔다.
․만약 데이터 영역이 사용 불가능하게 된다면 한 포인터가 갱신된 데이터 영역을 지시한다. 그러나 불행하게도 이것이 무한정 계속될 수는 없다.
광 디스크의
기술의 등장과
전망
․일부 재기록이 가능한 광 디스크 상품이 최근 시장에 나타나서 자기 디스크 기억장치의 위력에 도전하고 있다.
CD-RW나 DVD-RAM과 같이 광디스크에 반복적으로 데이터 쓰고 지울 수 있는 장치들이 나오고 있으며 DVD의 경우 양면 2층일 경우 최고 17GB 이상을 저장할 수 있다.
․광 디스크 기술의 등장은 저장능력의 상한을 무색케 한다. 연구자들은 하나의 광 디스크에 1021bit의 정보를 저장하는 것이 가능하게 될 것이라고 내다본다. 이 양은 지금까지 생산된 모든 그림, 영화, 음성 기록과 함께 문명 이래로 기록된 모든 문서를 저장할 수 있는 충분한 능력에 해당한다.
․각각의 사람들은 인류지식의 총체를 포함하는 한 장의 디스크를 가질 수 있으며 이 디스크는 정기적으로 갱신될 수 있다.



정리하기

 

1. 직접 접근 저장장치는 드럼이나 디스크 위의 특정 위치에 있는 데이터를 읽거나 특정 위치에 데이터를 쓸 경우 사용되는 장치로 임의 접근 저장 장치(random access storage devices)라고도 하며 크게 구분하여 고정헤드(fixed head) 저장장치와 이동헤드(movable head) 저장장치로 나누어진다.

 

2. 일반적으로 디스크 구조는 고정헤드나 이동헤드에 관계없이 디스크 팩으로 구성될 경우 각 면은 동심원의 트랙(track)들로 구성되고 면마다 중심축으로 부터 같은 거리에 있는 트랙들의 집합은 실린더(cylinder)를 구성하게 된다.

 

3. 디스크 액세스(판독 또는 기록)는 탐색(seek), 회전지연(rotational latency), 레코드 전송(record transmission)의 세 가지 중요한 작업으로 이루어진다. 이들 중 가장 많은 시간이 소요되는 것은 탐색시간(seek time)이다.

 

4. SSTF는 마지막으로 서비스받은 요구에 가장 인접한 요구를 서비스하는 방법이다. 다음으로 서비스 받을 요구는 고정축(boom)이 움직이는 방향에는 관계없이 마지막 요구에 가장 가까운 것이 된다.

 

5. SCAN은 현재의 진행방향에 있는 모든 요구가 서비스를 받은 다음 방향을 바꾸어 이동을 계속한다는 것만 제외하면 SSTF와 같이 작동한다.

 

6. N-Step SCAN은 새로이 도착하는 요구들은 다음 번 되돌아올 때 서비스를 받도록 함으로써 발생할 수 있는 지연과 무한 연기상태를 방지한다.

 

7. C-SCAN은 한 방향으로만 서비스를 해줌으로써 SCAN에서와 같이 중간 범위의 트랙에만 치우치는 단점을 제거한다. 정해진 방향으로의 진행이 완료되면 고정축은 디스크의 반대편 끝으로 점프하여 다시 같은 방향으로 진행을 재개한다.

 

8. SLTF는 회전시간 최적화를 위한 알고리즘으로 일단 디스크 암이 특정 실린더에 도착하면 그 실린더의 여러 트랙에 대해 많은 요구들이 있을 수 있다. SLTF방법은 이런 모든 요구들을 검사한 후 가장 짧은 회전지연을 갖는 요구를 우선적으로 서비스한다.

 

9. 디스크 캐싱(disk caching) 는 자주 액세스되는 레코드를 보관하는 주기억장치의 한 영역으로서 디스크에 대한 긴 탐색 시간을 줄일 수 있으며 RAM 디스크는 전통적인 임의 액세스 메모리를 모방한 디스크 장치로 디스크보다 더 빠르지만 가격이 비싸다.

 

10. 오늘날 이용이 널리 확대되고 있는 광학 저장장치(opatical storage device)는 CD-ROM으로 부터 시작되어 현재에는 반복적으로 읽고 쓰는 것이 가능한 CD-RW(Compact Disk-ReWritable)난 DVD-RAM 등의 장치가 보편화되고 있다.




 
 

'정보과학 > 운영체제특론' 카테고리의 다른 글

네트워크와 분산처리  (1) 2023.12.09
파일관리  (3) 2023.12.05
가상기억장치의 주소변환과 관리기법  (1) 2023.12.02
병행프로세스  (2) 2023.12.02
운영체제의 개요  (1) 2023.11.28