04. 디스크 관리
01. 디스크 구조와 접근 시간
1) 디스크 구조
- 트랙(Track)
- 디스크의 회전축을 중심으로 구성된 동심원 모양으로 디스크의 종류마다 개수가 모두 다름
- 일반적으로 200트랙(0 ~ 199 트랙)
- 섹터(Sector)
- 하나의 트랙을 몇 개로 분할한 블록으로 한 개의 섹터는 일반적으로 512byte ~ 1,024byte 용량을 가짐
- IPL(Initial Program Loader)
- 디스크에 접근할 때 디스크의 물리적인 정보를 제공함
- 일반적으로 부트(Boot) 섹터라고 함
- 물리적인 정보는 트랙 수, 섹터 수, 섹터 당 byte 수 등
- FAT(File Allocation Table)
- 사용자가 해당 클러스터의 포인트 정보(위치 정보)를 실수로 지우는 것을 예방하고 블록 접근을 빠르게 하기 위하여 포인터(섹터 위치)를 모아 놓은 곳
- 디스크 데이터 영역에 위치를 1:1로 사상한 정보들을 갖고 있음
- 보통 2개 이상의 복사본이 있음
- 디렉터리(Directory)
- 디스크에 저장된 파일의 기본적인 정보를 수록하는 공간으로 파일명, 파일 속성, 작성 날짜, 작성 시간, 파일 위치, 파일 크기 등의 정보를 가짐
- 실린더(Cylinder)
- 회전축을 중심으로 같은 거리에 있는 트랙들의 집합
- 하드 디스크처럼 여러 개의 디스크 판을 사용할 때 사용하는 단어로 플로피 디스크처럼 한 장을 사용할 때는 트랙과 같은 의미
2) 드라이브(Drive)
- 액세스 암(Access Arm) : 일기/쓰기 헤드를 움직여 주는 막대
- 고정축(Boom) : 액세스 암들을 동시에 이동시키는 막대로 탐색 시간(Seek Time)은 고정축의 이동 시간이 됨
- 헤드(Head) : 데이터를 읽어 내거나 기록하는 장치
3) 디스크 접근 시간의 종류
- 탐색 시간(Seek Time)
- 디스크 상의 원하는 데이터를 액세스하기 위해 트랙 또는 실린더에 헤드를 위치시키는 데 걸리는 시간
- 디스크 스케줄링은 대부분 탐색 시간만을 고려함
- 회전 지연 시간(Latency Time)
- 지정된 트랙에 위치한 헤드가 원하는 섹터에 위치시키는데 걸리는 시간
- Rotational Delay Time 또는 RPM 지연 시간이라고도 함
- 전송 시간(Transmission Time)
- 디스크로부터 주기억 장치로 데이터가 이동하는 시간
4) 디스크 스케줄링 전략의 목적
- 처리량을 최대화함
- 응답 시간의 최소화함
- 응답 시간의 편차를 최소화함
02. 디스크 스케줄링
1) FCFS(First Come First Served, FIFO)
- 도착 순서에 따라 실행 순서가 고정된다는 점에서 공평함
- 요청한 순서대로 진행하기 때문에 순서가 바뀌는 일이 없음
- 디스크의 부하가 적을 때 유리함
- 디스크의 부하가 커지면 응답 시간이 길어짐
- 탐색 시간을 최적화하려는 시도가 없음
2) SSTF(Shortest Seek Time First)
- 대기 큐에 먼저 들어와 있지 않더라도 탐색 거리가 짧으면 먼저 서비스 받음
- 디스크 스케줄링 기법 중 현재 헤드 위치에서 가장 가까운 요청을 우선적으로 처리하는 기법
- 가운데 트랙이 안쪽이나 바깥쪽보다 서비스 받을 확률이 높음
- 헤드에서 멀리 떨어진 요청은 기아 상태(Starvation State)가 발생할 수 있음
- FCFS보다 처리량이 많고 평균 응답 시간이 짧음
- 처리량이 많이 때문에 일괄 처리에 유용함
- 응답 시간의 편차가 크기 때문에 대화형 시스템에는 부적합함
3) SCAN
- SSTF의 응답 시간의 편차를 개선한 기법
- 진행 방향상의 가장 짧은 거리에 있는 요청을 먼저 수행함
- 진행 방향으로 끝까지 진행함
- SSTF에 발생하는 안쪽과 바깥쪽의 차별 대우를 최소화하고 응답 시간의 편차를 줄임
- 대부분 디스크 스케줄링 전략의 기본이 됨
- 부하가 적은 경우에는 SCAN 기법이 가장 좋은 결과를 가짐
4) C-SCAN
- 안쪽과 바깥쪽의 차별 대우를 모두 없앰
- 항상 바깥쪽에서 안쪽으로 이동하면서 서비스함
- 안쪽 방향으로 끝까지 진행함
- 응답 시간의 편차가 매우 작음
- 부하가 많은 경우에는 C-SCAN 기법이 가장 좋은 결과를 가짐
5) N-Step SCAN, SLTF, 에센바흐
1. N-Step SCAN 스케줄링 방식
- 헤드가 진행이 시작될 당시에 대기 중이던 요청들만 SCAN 방식으로 서비스하고, 진행 도중 도착한 요청들은 한데 모아져서 반대 방향 진행 시 최적으로 서비스할 수 있도록 배열됨
2. SLTF(Shortest Latency Time First)
- SLTF는 회전 지연 시간의 최적화를 위해 구현된 기법
- 같은 실린더에 대한 요청의 도착 순서와 무관하게 가장 짧은 회전 시간을 요구하는 요청을 먼저 서비스하는 스케줄링 기법
- 대기 큐에 있는 여러 요청을 섹터 위치에 따라 정렬하고, 가장 가까운 섹터를 먼저 서비스함
- 헤드의 이동이 거의 없는 고정 헤드 장치에서 주로 사용됨
- 섹터 큐잉(Sector Queuing)이라고도 함
3. 에센바흐
- 탐색 시간, 회전 지연 시간, 전송 시간을 모두 고려해서 개발된 스케줄링
03. 하드 디스크(Hard Disk)
1) 하드 디스크의 특징
- 플로피 디스크에 비해 대량의 자료를 기억할 수 있고, 고속으로 읽고 쓸 수 있음
- 컴퓨터 내부에 고정되어 있는 자기 디스크 장치를 회전하는 디스크 판 위로 읽기/쓰기 헤드가 움직이면서 디스크 표면에 데이터를 저장하거나 디스크에 저장되어 있는 데이터를 읽어 옴
- 하드 디스크는 헤드(Head), 액세스 암(Access Arm), 디스크(Disk), 트랙(Track), 섹터(Sector)로 구성되어 있음
2) 하드 디스크의 구성 요소
- 실린더(Cylinder)
- 여러 개의 디스크에서 같은 지름을 갖는 트랙의 집합
- 동시에 헤드가 접근하는 부분으로 실린더의 개수는 트랙의 개수와 일치함
- 클러스터(Cluster)
- 여러 개의 섹터를 하나의 블록으로 묶어서 블록 단위로 접근하게 되는데, 이 블록을 클러스터라고 함
3) 하드 디스크의 용량 계산
- 실린더의 개수와 면의 개수를 알려 줄 경우
- 하드 디스크 총 용량 = 실린더의 개수 × 면의 수 × 트랙당 섹터 개수 × 섹터 크기
- 헤드 개수와 실린더의 개수를 알려 줄 경우
- 하드 디스크 총 용량 = 헤드 개수 × 실린더의 개수 × 트랙당 섹터 개수 × 섹터 크기
- 디스크의 개수와 트랙 개수를 알려 줄 경우
- 하드 디스크 총 용량 = 2 × 디스크 개수 × 트랙 개수 × 트랙당 섹터 개수 × 섹터 크기
04. RAID(Redundant Array of Independent Disks)
1) RAID의 개념
- 여러 대의 하드 디스크가 있을 때 동일한 데이터를 다른 위치에 중복해서 저장하는 방법
- 여러 개의 하드 디스크를 마치 하나의 하드 디스크처럼 사용하는 것으로 입출력 속도 및 안정성을 개선시킨 기술 장치
2) RAID의 종류
- RAID-0
- 데이터를 여러 세그먼트로 분할해서 저장하는 방식
- 성능 향상을 위해 스트라이핑 기법을 채택
- 스트라이핑(Striping) : 여러 개의 디스크를 사용하게 되며 연속적인 데이터의 기록 시 각각의 디스크마다 서로 다른 데이터를 번갈아 가며 동시에 기록하거나 읽어내는 방식
- 중복 저장과 에러 검출 및 교정이 없는 방식
- RAID-1
- 두 개의 물리적인 디스크에 각각 중복 저장하는 방식
- 디스크 미러링(Disk Mirroring) 방식이며 높은 신뢰도를 갖는 방식
- RAID-2
- 해밍 코드 방식을 사용하여 디스크의 데이터 에러 검증에 사용하는 방식
- RAID-3
- 스트라이핑 방식으로 디스크에 저장하는 방식으로 패리티 정보는 별도의 디스크에 저장함
- RAID-4
- 블록 단위 스트라이핑을 통해 데이터를 여러 디스크에 분산 저장하는 방식으로 패리티를 패리티 전용 디스크에 저장함
- RAID-5
- 스트라이핑 방식 저장, 패리티 정보는 모든 하드 디스크에 나누어 저장함
- 패리티 블록들을 여러 디스크에 분산 저장하는 방식이며 단일 에러 검출 및 교정이 가능한 방식
- 고정적인 패리티 디스크 대신 패리티가 모든 디스크에 분산되어 저장되므로 병목 현상을 줄여줌
- RAID-6
- RAID-5의 패리티를 이중 구조로 구축하여 데이터 보호성을 높인 방식
- 두 개의 패리티 디스크를 사용하므로 두 개의 디스크 장애 시에도 데이터의 복구가 가능함
05. 광디스크 시스템(Optical Disk System)
1) 광디스크 시스템
- 빛의 반사나 굴절을 이용하여 자료를 읽어 내거나 기록할 수 있는 광 저장 매체, 드라이브 등 관련 장치 전부를 의미함
2) 광디스크 시스템의 특징
- 광디스크는 정보를 읽어 들이는데 레이저 빔을 이용함
- 기록 위치와 관계 없이 랜덤 액세스가 가능하여 정보를 빨리 읽을 수 있음
- 블루레이 디스크, CD-ROM, DVD, HD-DVD, 레이저 디스크 등과 같은 저장 매체에 기록함
- 대량의 정보 저장이 가능함
- 전기 신호를 이용하여 무작위 접근함
- 파일 갱신이 쉬우며, 영구 보존이 가능함
- 자료의 검색, 보존에 사용됨
3) 광디스크의 회전 속도 제어 기술
- 등각 속도(CAV) : 안쪽과 바깥쪽이 같은 용량으로 저장되도록 디스크의 안쪽과 바깥쪽의 밀도를 다르게 하여 트랜 면적이 다르더라도 모든 트랙이 같은 용량을 저장할 수 있도록 한 기술
- 등선 속도(CLV) : 안쪽과 바깥쪽이 다른 용량으로 저장되도록 디스크의 안쪽과 바깥쪽의 밀도를 같게 하여 트랙 면적에 따라 다른 용량을 저장할 수 있도록 한 기술
4) 등각 속도와 등선 속도의 비교
- 등각 속도(CAV)
- 면적이 차이가 있어도 같은 용량이 저장되므로 디스크 저장 공간이 비효율적으로 사용됨
- 디스크 평판이 안쪽이나 바깥쪽이나 같은 회전 속도로 회전함
- 밀도만 차이를 두면 되므로 회전 구동 장치가 간단함
- 저장 용량의 손실이 있음
- 등선 속도(CLV)
- 같은 면적에 같은 용량이 저장되기 때문에 디스크 저장 공간이 효율적으로 사용됨
- 회전 속도가 트랙마다 다름
- 회전 속도가 다르기 때문에 회전 구동 장치가 복잡함
- 저장 용량의 손실이 없음
06. FCB(File Control Block, File descriptor)
1) FCB의 역할
- 파일 시스템은 디스크에 존재하는 파일을 효과적으로 사용하기 위해서 생성되는 모든 파일의 정보를 가지고 있어야 함
- 파일 시스템은 파일명뿐만 아니라 생성 날짜, 실제 디스크에 저장된 위치 등의 정보를 FCB에 저장함
- 디스크에 존재하는 파일을 주기억 장치에 적재하기 위해서는 FCB의 정보를 이용함
- 주기억 장치에 존재하는 파일을 디스크에 저장할 때 FCB에 기록함
2) FCB 항목
- 파일명
- 접근 제어 정보
- 제거 시기
- 제거 날짜
- 접근 횟수
- 보조 기억 장치의 파일의 실제 위치
- 보조 기억 장치 유형
- 파일 유형
- 생성 날짜, 시간
- 최종 수정 날짜