All
저장장치 종류와 특성
순차접근 저장장치
•
데이터를 순차적으로 읽거나 쓸 수 있는 저장장치
•
초기 접근 시간이 굉장히 오래 걸림
•
대량의 데이터 백업용
•
예) 테이프
직접접근 저장장치
•
저장한 위치를 직접 찾아 데이터를 읽거나 쓸 수 있는 저장장치
•
= 임의 접근 저장장치(random access)
•
예) 자기 디스크, 광디스크, SSD
자기 디스크(HDD)
•
자성을 띈 디스크 표면에 데이터를 기록하고 읽음
용어 | 설명 |
플래터(Platter) | 데이터를 저장하는 원형의 디스크 판 |
헤드(Head) | 플래터 표면에서 데이터를 읽고 쓰는 장치 |
암(Arm) | 헤드를 특정 위치로 이동시키는 장치 |
고정축(Spindle) | 플래터를 회전시키는 중심 축 |
트랙(Track) | 플래터 표면의 데이터를 저장하는 동심원 형태의 경로 |
섹터(Sector) | 트랙을 더 세분화한 단위로, 데이터를 저장하는 최소 단위 |
실린더(Cylinder) | 여러 플래터의 동일한 위치에 있는 트랙의 모임 |
광디스크(Optical Disk)
•
디스크 표면에 레이저를 쏘아 반사되는 빛의 차이를 이용하여 데이터를 기록하고 읽음
•
나선형인 하나의 트랙으로 구성
•
예) CD-ROM, CD-RW, DVD, 블루레이 디스크 등
SSD(Solid State Drive)
•
플래시 메모리를 이용하여 데이터 저장, 전력 공급이 없어도 데이터를 유지하는 비휘발성 저장장치
•
기계적인 움직임이 없기 때문에 자기 디스크보다 속도가 빠르고 전력소모가 적음
•
용량대비 가격이 비싸며, 메모리 셀의 반복적인 쓰기와 삭제로 인해 수명이 상대적으로 짧음
디스크 스케줄링 알고리즘
디스크 스케줄링
•
여러 디스크 접근 요구를 효율적으로 처리하기 위해 접근 순서를 최적화하는 과정
•
프로세스들의 요구를 디스크 큐에 두고 관리
•
헤드의 이동, 디스크의 회전 같은 기계적 동작이 최소화도록 디스크 큐를 재배열
디스크 접근 요구 처리 시간
•
Total = 탐구시간 + 회전지연시간 + 전송시간
◦
탐구시간: 헤드가 올바른 트랙으로 이동하는 데 걸리는 시간
◦
회전지연시간: 원하는 섹터가 헤드 아래로 회전해 오는 데 걸리는 시간
◦
전송시간: 데이터를 실제로 읽거나 쓰는 시간
•
스케줄링은 탐구시간과 회전지연시간을 최적화하는 방향으로 이루어짐
FCFS(First-Come First-Served)
•
디스크 접근 요청을 도착 순서대로 처리
•
장점
◦
접근 요구의 도착순서대로 실행되므로 공평함
•
단점
◦
요청 순서에 따라 헤드가 먼 거리를 오가게 되면 성능 저하
◦
디스크 부하가 많을수록 평균 응답 시간이 길어질 수 있음
SSTF(Shortest Seek Time First)
•
현재 헤드 위치에서 가장 가까운(=탐구시간이 가장 짧은) 요청부터 처리
•
장점
◦
헤드 이동 거리 최소화
◦
FCFS 보다 처리량, 평균응답시간 개선 → 일괄처리 운영체제에 적합
•
단점
◦
양 끝쪽에 위치한 트랙에 대한 접근 요구는 기아상태 발생 가능
◦
트랙 위치에 따라 응답시간 편차 큼 → 시분할 운영체제에 부적합
SCAN
•
양 끝 트랙 사이를 왕복하며 진행방향의 가장 가까운 요청을 순서대로 처리
•
장점
◦
SSTF보다 응답 시간의 편차가 줄어듦
•
단점
◦
양 끝 요청은 한 번의 왕복 사이클에 한 번만 처리됨
◦
새 요청이 방향 전환 직후에 도착하면 응답이 지연됨
C-SCAN (Circular SCAN)
•
한쪽 방향으로만 이동하며 진행방향의 가장 가까운 요청 순서대로 처리
•
끝에 도달하면 가장 안쪽 트랙으로 즉시 돌아가서 다음 사이클 시작
•
장점
◦
응답 시간 분포가 일정함
◦
양 끝 요청의 처리 기회를 균등하게 보장
•
단점
◦
일부 요청을 위해 디스크 끝까지 이동해야 함 (비효율적 이동 발생 가능)
LOOK
•
SCAN과 유사하지만, 끝까지 가지 않고 요청이 존재하는 마지막 트랙까지만 이동 후 방향 전환
•
불필요한 이동 줄여 효율 개선
C-LOOK
•
LOOK과 유사하나, 한 방향으로만 요청을 처리
•
마지막 요청 처리 후, 가장 안쪽 요청 위치로 점프하여 다음 사이클 시작
SLTF (Shortest Latency Time First)
•
동일한 실린더에 요청이 여러 개 있는 경우, 회전 지연 시간(latency)이 가장 짧은 요청부터 처리
◦
실린더는 같으나 섹터가 다른 요청 중 디스크가 회전하면서 지금 회전 위치 기준으로 가장 먼저 만나는 섹터의 요청을 처리함
•
예시
현재 헤드 위치: 실린더 50
요청 A: 섹터 5
요청 B: 섹터 10
요청 C: 섹터 3
현재 디스크가 섹터 2를 지나가고 있다고 가정
디스크는 시계 방향으로 회전하고 있으니
◦
곧 섹터 3 → 섹터 5 → 섹터 10 순서로 지나감
SLTF는 이 중 섹터 3에 있는 요청 C를 먼저 처리함
→ 그다음 섹터 5(A), 섹터 10(B) 순으로 진행
•
고부하 환경에서, 같은 실린더에 요청이 몰릴 때 디스크 회전을 효율적으로 활용해서 처리량을 높임
파일관리
파일 생성, 삭제, 수정, 접근 제어 및 파일에 사용되는 자원관리
파일 구조와 접근방식
순차파일
•
레코드가 물리적 순서에 따라 저장되어 있는 파일
•
논리적 순서와 물리적 순서가 동일
•
순차접근 저장장치에 많이 이용
인덱스된 순차파일
•
각 레코드의 키를 기준으로 한 논리적 순서로 레코드가 저장
•
일부 주요 레코드 실제 주소가 저장된 인덱스 구성해 관리
•
인덱스를 통해 직접 접근도 가능하며, 일반적인 순차 접근도 지원
•
디스크 기반 저장장치에서 효율적 (예: 데이터베이스 인덱싱)
직접 파일
•
각 레코드의 키를 해시 함수 등을 통해 직접 물리적 위치로 매핑
•
특정 레코드를 빠르게 찾을 수 있음 (O(1)에 가까운 시간 복잡도)
•
해시 충돌 처리 전략 필요 (예: 체이닝, 오픈 어드레싱 등)
•
대용량 데이터 저장 시 매우 빠른 접근 가능
디스크 공간 할당
연속 할당 기법
•
파일 전체를 디스크 상의 연속된 블록들에 할당
•
예를 들어, 5개의 블록이 필요하면 디스크에 연속된 5개 공간이 필요함
•
장점
◦
디스크 헤드 이동이 최소화됨 → 빠른 순차 접근
◦
파일의 시작 위치와 크기만 저장하면 되므로 디렉터리 구조 단순
•
단점
◦
외부 단편화 발생 가능
◦
파일의 크기를 미리 알아야 함
◦
파일 크기 확장 시, 인접한 여유 공간이 없으면 전체 재배치 필요
불연속 할당 기법
•
파일을 여러 불연속 블록에 분산 저장하며, 각 블록은 포인터로 연결됨
•
대표적인 구현 방식: 연결 할당, 인덱스 할당
•
장점
◦
블록이 연속되지 않아도 할당 가능 → 유연한 공간 활용
◦
파일 크기를 동적으로 확장할 수 있음
◦
외부 단편화 거의 없음
•
단점
◦
헤드 이동이 많아져 접근 속도 저하 가능
◦
포인터 공간 및 연산 비용 존재
◦
직접 접근(Random Access)이 어려움 (연결 리스트 구조인 경우)

