OS-11) 보조 저장 장치
| topics | 700-컴퓨터과학 704 운영체제 |
| types | 이론 학습 |
| tags |
보조 저장 장치
디스크는 데이터를 저장하는 물리적인 매체
드라이브는 디스크를 읽고 쓰는 장치
HDD
자기 디스크(magnetic disks)라고도 함. 플로피 디스크가 이후에 나오면서 HDD로 부르는 걸로 바뀌었다.
- 드라이브가 초당 60-250 회전
- 디스크는 보통 30GB ~ 3TB 용량
- 디스크는 제거, 교체 가능하다
- 디스크 컨트롤러와 컴퓨터의 호스트 컨트롤러는 버스를 통해 통신함
단면도

성능
| 용어 | 설명 |
|---|---|
| 전송률 | 드라이브와 컴퓨터 사이의 데이터 흐름의 비율 |
| 대역폭 | 전송된 총 바이트 수를 총 전송 시간으로 나눈 값 |
| seek time | 디스크 암을 목표 실린더까지 이동시키는 시간 |
| rotational latency | 목표 섹터가 디스크 헤더 아래에 올 때까지 회전하는 데 걸리는 시간 |
계산 공식:
Access Latency = Average access time = average seek time + average latency
Average I/O time = Access Latency + (amount to transfer / transfer rate) + controller overhead
평균 입출력 시간 = 평균 접근 시간 + (전송량/전송률) + 컨트롤러 오버헤드
일반적인 성능
| 항목 | 값 |
|---|---|
| 전송률 | 6 GB/sec |
| seek time | 3 ~ 12ms |
| 평균 지연 시간 | rpm에 따라 바뀜. 높으면 적어짐 |
SSD
Solid-State Disks
| 특징 | 설명 |
|---|---|
| 신뢰성 | 더 좋을 수 있다 |
| MB당 비용 | 더 비싸다 |
| 생명주기 | 더 짧다 |
| 용량 | 더 적다 |
SAN & NAS
SAN (Storage Area Network)
- 저장장치를 위한 별도의 네트워크로 관리하는 것
- 대용량 저장장치 환경에 일반적
- 다수의 호스트가 복수의 저장장치 배열에 부착된다
- 엄청 비쌈
NAS (Network Attached Storage)
- 저장장치를 네트워크에 연결
- 지역적인 연결이 아님
- 호스트와 저장장치 사이의 원격 프로시저 콜(RPC)로 구현
- IP 네트워크상에서 TCP or UDP로 구현
디스크 스케줄링
FCFS (First-Come, First-Served)
디스크 요청을 도착한 순서대로 처리하는 알고리즘이다.
| 특징 | 설명 |
|---|---|
| 구현 | 간단하다 |
| 성능 | 요청이 몰릴 경우 저하될 수 있다 |
| 스타베이션 | 없다 |
예시:
- 요청 순서: 55, 14, 99, 25
- 처리 순서: 55 → 14 → 99 → 25
SSTF (Shortest Seek Time First)
현재 헤드 위치에서 가장 가까운 트랙의 요청을 먼저 처리하는 알고리즘이다.
| 특징 | 설명 |
|---|---|
| 장점 | 평균 탐색 시간을 줄일 수 있다 |
| 단점 | 특정 요청이 오랫동안 처리되지 않을 가능성이 있다 (스타베이션 문제) |
예시:
- 요청 순서: 55, 14, 99, 25
- 현재 헤드 위치: 50
- 처리 순서: 55 → 25 → 14 → 99
SCAN (Elevator Algorithm)
디스크 헤드가 한쪽 끝에서 다른 쪽 끝으로 이동하면서 모든 요청을 처리한 후, 방향을 바꾸어 반대 방향으로 이동하면서 요청을 처리하는 알고리즘이다.
| 특징 | 설명 |
|---|---|
| 이동 범위 | 디스크의 양쪽 끝까지 이동하며 요청을 처리 |
| 균형 | 탐색 시간의 균형이 잘 맞음 |
예시:
- 요청 순서: 55, 14, 99, 25
- 현재 헤드 위치: 50, 방향: 증가
- 처리 순서: 55 → 99 → 25 → 14
C-SCAN (Circular SCAN)
디스크 헤드가 한쪽 끝에서 다른 쪽 끝으로 이동하면서 요청을 처리한 후, 끝에 도달하면 반대 방향의 시작점으로 이동하여 요청을 처리하는 알고리즘이다.
| 특징 | 설명 |
|---|---|
| 방향 | SCAN의 변형으로, 한 방향으로만 요청을 처리 |
| 분포 | 일정한 탐색 시간 분포를 유지 |
예시:
- 요청 순서: 55, 14, 99, 25
- 현재 헤드 위치: 50, 방향: 증가
- 처리 순서: 55 → 99 → 14 → 25
LOOK
SCAN과 비슷하지만, 디스크의 끝까지 가지 않고 마지막 요청까지 이동한 후 반대 방향으로 이동하면서 요청을 처리하는 알고리즘이다.
| 특징 | 설명 |
|---|---|
| 장점 | 끝까지 이동하지 않으므로 탐색 시간이 절약됨 |
| 효율 | SCAN보다 효율적 |
C-LOOK
C-SCAN과 비슷하지만, 디스크의 끝까지 가지 않고 마지막 요청까지 이동한 후 처음 요청으로 돌아가서 처리하는 알고리즘이다.
| 특징 | 설명 |
|---|---|
| 장점 | 끝까지 이동하지 않으므로 탐색 시간이 절약됨 |
| 효율 | C-SCAN보다 효율적 |
디스크 관리
| 종류 | 설명 |
|---|---|
| 물리적인 포맷팅 | 디스크 컨트롤러가 읽고 쓸 수 있도록 디스크를 섹터로 나눈다 |
| 논리적인 포맷팅 | 하나 이상의 실린더 그룹으로 분할하고 각 그룹을 논리적인 디스크로 취급 |
스왑 공간
가상 메모리 디스크 공간을 메인 메모리의 확장처럼 사용한다.
- 현재는 일반적이지 않음
- 공간을 확보하거나 별도의 파티션에 생성
- 스왑 공간의 사용을 추적하기 위해 swap maps를 사용
관련 문서
- OS-10) 가상 메모리-%EA%B0%80%EC%83%81-%EB%A9%94%EB%AA%A8%EB%A6%AC.html) - 가상 메모리와 스와핑
- OS-12) 파일 시스템-%ED%8C%8C%EC%9D%BC-%EC%8B%9C%EC%8A%A4%ED%85%9C.html) - 파일 시스템 구조와 할당