운영체제(8)-디스크 관리
업데이트:
책
<운영체제와 정보기술의 원리>, 반효경
을 읽고 정리한 내용입니다
디스크의 구조
디스크 외부에서는 디스크를 일정한 크기의 저장 공간으로 이루어진 1차원 배열처럼 취급하게 된다. 이 일정한 크기의 저장 공간을 논리 블록이라 한다.
논리 블록이 저장되는 디스크 내의 물리적인 위치를 섹터라고 부른다.
디스크의 물리적 구조는 마그네틱 원판으로 구성된다. 각각의 원판은 트랙으로 구성되고 각 트랙은 섹터로 나뉜다.
여러 원판에서 상대적 위치가 동일한 트랙들의 집합을 실린더라고 한다.
섹터 0은 최외곽 실린더의 첫 번째 트랙에 있는 첫 번째 섹터이다.
디스크에 데이터를 읽고 쓰려면 암이 해당 섹터가 위치한 실린더로 이동한 후 원판이 회전하여 디스크 헤드가 저장된 섹터 위치에 도달해야 한다.
디스크 스케줄링
디스크 접근 시간은 다음으로 구성된다
- 탐색 시간
- 디스크 헤드를 해당 실린더 위치로 이동시키는 데 걸리는 시간
- 회전 지연 시간
- 디스크가 회전해서 읽고 쓰려는 섹터가 헤드 위치에 도달하기까지 걸리는 시간
- 전송 시간
- 해당 섹터가 헤드 위치에 도달한 후 데이터를 실제로 섹터에 읽고 쓰는 데 소요되는 시간
접근 시간의 대부분은 탐색 시간이 차지한다.
디스크 스케줄링이란 여러 섹터들에 대한 입출력 요청을 어떠한 순서로 처리할 것인지 결정하는 매커니즘.
FCFS 스케줄링
디스크에 먼저 들어온 요청을 먼저 처리한다.
(숫자는 실린더 위치)
최악의 경우 입출력 요청이 디스크의 한쪽 끝과 반대쪽 끝에 번갈아 도착한다.
탐색 시간 효율이 좋지 않다
SSTF
Shortest Seek Time First
헤드의 현재 위치로부터 가장 가까운 위치에 있는 요청을 제일 먼저 처리한다.
기아 현상이 발생할 수 있다.
- 헤드에서 멀리 떨어진 요청은 오래 기다려야 한다.
SCAN
헤드가 디스크 원판의 한쪽 끝에서 다른 쪽 끝으로 이동하며 그 경로에 존재하는 모든 요청을 처리한다.
어떤 위치에 요청이 들어왔는지 상관없이 정헤진 방향으로 이동하면서 길목에 있는 요청을 처리한다.
엘리베이터와 유사한 스케줄링이로 엘리베이터 스케줄링 알고리즘으로 부르기도 한다.
탐색 시간이 효율적이고 기아 현상도 나타나지 않는다.
가장 안쪽이나 바깥쪽 위치보다는 가운데 위치가 기다리는 평균 시간이 더 짧다.
C-SCAN
SCAN과 유사하지만 헤드가 다른 쪽 끝에 도달해 방향을 바꾼 후에는 요청을 처리하지 않고 곧바로 출발점으로 다시 이동한다.
SCAN보다 헤드의 이동 거리는 조금 길어지지만 탐색 시간의 편차를 줄일 수 있다.
LOCK과 C-LOCK
헤드가 한쪽 방향 이동 중이다가 그 방향으로 전방에 더 이상 대기중인 요청이 없으면 헤드의 이동 방향을 즉시 반대 방향으로 바꾸는 스케줄링 방식
C-LOCK은 한쪽 방향으로 이동할 때만 요청을 처리한다
다중 디스크 환경에서의 스케줄링
다중 디스크를 사용하면 시스템의 성능과 신뢰성을 동시에 향상시킬 수 있다.
다중 디스크 스케줄링은 작업을 수행할 디스크를 결정하는 문제까지 포함한다.
- 탐색 시간 효율 측면
- 헤드의 현재 위치가 요청한 데이터와 가장 가까운 디스크를 선택한다.
- Load Balancing 측면
- 모든 디스크에 요청이 골고루 분배되어 많은 요청을 동시에 처리할 수 있다.
- 전력 절감 측면
- 일부 디스크에 요청을 집중시키고 나머지 디스크는 회전을 정지한다.
댓글남기기