[운영체제] 9. 저장장치 및 파일
1. 저장장치의 종류
순차접근 저장장치
순차접근 저장장치는 순차적으로 기록 및 판독을 하는 저장장치이다. 대표적인 순차접근 저장장치는 테이프이며 원하는 특정 데이터에 접근하는 것이 굉장히 비효율적이다. 오늘날에는 대량 데이터의 백업 용도 정도로만 사용되고 있다.
직접접근 저장장치
직접접근 저장장치는 위치를 직접 지정하여 데이터를 읽거나 쓸 수 있는 장치이다. 임의접근 저장장치(random access storage devices) 라고도 한다. 직접접근 저장장치의 종류는 크게 자기 디스크, 광 디스크, SSD 로 나뉜다.
2. 디스크 스케줄링
디스크 스케줄링(disk scheduling)은 디스크 접근 요구를 효율적으로 처리하기 위해 순서를 결정하는 작업이다. 디스크 스케줄러는 디스크 내의 데이터 위치 등 물리적 요소를 고려하여 큐를 재배열한다. 디스크에 접근하는데 요구되는 시간의 요소로는 탐구시간, 회전지연시간, 전송시간이 있다.
탐구시간은 헤드를 원하는 트랙에 이동시키는데 소요되는 시간이며, 가장 느리다. 회전지연 시간은 탐색시간이라고도 하며, 디스크 회전에 걸리는 시간이다. 전송시간은 보조기억장치에서 주기억장치로 이동되는데 걸리는 시간을 의미하며 가장 빠르다. 즉, 접근시간은 탐구시간+회전지연 시간+전송시간으로 정의된다.
FCFS 스케줄링
FCFS(First Come First Serve) 스케줄링은 가장 먼저 도착한 요구가 먼저 서비스를 받는 방법이다.
트랙의 이동 거리를 고려하지 않고 순서대로 처리하기 때문에 요청 간 이동거리가 멀어지면 처리량이 낮아진다.
SSTF 스케줄링
SSTF(Shortest-Seek-Time-First) 스케줄링은 최단 탐구거리(혹은 최단 탐구시간)를 가져오는 요구를 우선 처리하는 기법이다.
SSTF는 FCFS보다 처리량이 많고 평균 응답시간도 짧아지지만, 최내각과 최외각 데이터에 대한 차별 때문에 응답시간에 큰 편차가 생긴다는 단점이 존재한다.
SCAN 스케줄링
SSTF의 응답시간에 대한 차별과 편차를 극복하기 위해 고안되었다.
SSTF 스케줄링과 기본적인 동작원리는 비슷하나, 탐색을 진행중인 방향에서 가장 짧은 탐색거리를 처리하고, 최외각 실린더를 만나기 전 까지 방향을 바꾸지 않는다.
SCAN 알고리즘에서도 헤드가 진행하는 방향의 바로 앞에 요구가 도착하면, 실린더 끝까지 작업을 처리하고 돌아와야 하기 때문에 여전히 다소 불공평한 문제점을 가지고 있다.
N-Step SCAN 스케줄링
SCAN 스케줄링에서 응답의 편차를 줄이기 위해 고안되었다.
현재 진향방향에 새로운 응답이 들어와도, 최외각 실린더를 만나 반대의 진행방향으로 돌아오기 전까지 처리하지 않는 방법이다.
C-SCAN 스케줄링
SCAN 스케줄링의 또 다른 변형으로, 외각 혹은 내각 한방향으로만 이동할때 서비스를 처리한다.
LOOK 및 C-LOOK 스케줄링
SCAN 혹은 C-SCAN 알고리즘과 기본적으로 거의 동일하지만, 앞서 두 알고리즘은 최외각 실린더를 만나야지만 진행방향을 바꾼다. 하지만 LOOK, C-LOOK 알고리즘은 진행 방향에 더이상 요구가 없을 경우 더 이상 진행하지 않고 방향을 변경한다.
3. 파일 관리
파일 관리자의 요소
파일 관리자(file manager)는 파일에 의해 사용되는 자원 및 파일을 생성, 삭제, 수정, 접근 제어를 담당하는 운영체제의 주요 구성요소 소프트웨어이다.
파일 관리자의 기능
파일 관리자가 담당하는 기능들은 다음과 같다.
- 사용자가 파일을 생성, 수정 및 삭제할 수 있게 한다.
- 타인의 파일을 공동으로 사용할수 있게 한다.
- 여러 종류의 액세스 제어방법을 제공한다.
- 각 응용에 적합한 구조로 파일을 구성할 수 있게 한다.
- 백업 및 복구를 제공한다.
- 물리적 장치 이름 대신 기호화된 이름을 사용하여 참조하도록 한다.
- 보호 및 비밀을 보장한다.
- 사용자 편의 인터페이스를 제공한다.
파일 구조와 접근방식
- 순차 파일
- 레코드가 물리적 순서에 따라 저장되어 있는 방식이다.
- 인덱스된 순차 파일
- 레코드가 각 레코드의 키를 기준으로 한 논리적 순서대로 배열되어 있는 파일이다.
- 직접파일
- 레코드가 직접 엑세스 기억장치(Direct Access Storage Device, DASD)의 물리적 주소를 통해 엑세스 한다.
4. 디스크 공간 할당
연속 할당 기법
파일을 보조기억장치의 연속된 공간에 할당하는 기법이다. 생성하려는 파일 크기에 맞추어 저장공간을 미리 할당해야한다.
연속 할당기법의 장점은 논리적으로 연속된 레코드들이 물리적으로도 서로 인접하게 저장되므로, 디스크 전체에 퍼져있는 논리적인 연속 액세스보다 액세스 시간이 짧다. 또한 시작주소와 파일 길이만 유지하면 되므로 구현이 용이하다.
단점은 디스크에서 파일을 제거하는 경우 생기는 공간을 활용할 경우, 외부 단편화가 발생할 확률이 높다. 즉, 보조기억장치 내 인접한 빈 공간들을 집약해야 한다.
불연속 할당 기법
불연속 할당 기법은 섹터 또는 정해진 수의 섹터로 구성된 블록 단위로 공간을 할당한다. 블록단위로는 포인터로 연결되어 있으며 블록 체인 기법, 인덱스 블록 체인 기법, 블록 지향 사상기법 등의 방법으로 할당된다.