Hard Disk Internals
Moving head disk mechanism
- 아래 내용은 참고
- 트랙(track): 디스크 표면에서의 원형 경로
- 스핀들(spindle): 디스크를 회전시키는 중심축
- 섹터(sector): 트랙을 나눈 작은 저장 단위
- 실린더(cylinder): 동일한 위치의 모든 트랙
- 표면(surface): 플래터의 저장 공간
- 플래터(platter): 회전하는 디스크
- 헤드(head): 데이터를 읽고 쓰는 장치
- 회전(rotation): 디스크의 회전 운동
- Disk I/O service time
- 디스크 I/O 서비스 시간: 탐색 시간 + 회전 지연 + 데이터 전송 시간
- 탐색 시간(Seek time): 디스크 헤드를 원하는 트랙으로 이동하는 시간(위 아래 수직이동)
- 탐색 시간 ≈ 탐색 거리
- 회전 지연(Rotational delay): 원하는 섹터가 디스크 헤드 아래에 올 때까지의 회전 시간(수평 이동)
- 최적의 경우 = 0
- 최악의 경우 = 한 번의 회전 시간
- 데이터 전송 시간(Data transfer time): 디스크 매체에서 디스크 버퍼로 데이터 전송 시간
- 탐색 시간 또는 회전 지연 >> 데이터 전송 시간
- 탐색 시간(Seek time): 디스크 헤드를 원하는 트랙으로 이동하는 시간(위 아래 수직이동)
- 디스크 I/O 서비스 시간: 탐색 시간 + 회전 지연 + 데이터 전송 시간
Hard Disks
- 플래터 크기
- 역사적으로 0.85인치에서 14인치까지 다양
- 일반적으로 3.5인치, 2.5인치, 1.8인치
- 용량
- 30GB에서 3TB까지 다양
- 성능
- 전송 속도: 이론적 – 6Gb/sec, 실제 – 1Gb/sec
- 탐색 시간: 3ms에서 12ms, 데스크탑 드라이브는 평균 9ms
- 평균 탐색 시간: 트랙의 1/3 기반으로 측정 또는 계산
- 스핀들 속도 기반 지연 시간: 1/(RPM/60) = 60/RPM
- 평균 지연 시간 = ½ 지연 시간
Solid-State Disks(SSD)
- 비휘발성 메모리
- 하드 드라이브처럼 사용되며 다양한 기술 변형이 있음
- 장점
- 하드 디스크 드라이브(HDD)보다 신뢰성이 높을 수 있음
- 훨씬 빠름
- 단점
- 메가바이트(MB)당 가격이 더 비쌈
- 수명이 더 짧을 수 있음
- 용량이 적음
- 추가 정보
- 버스 속도가 너무 느릴 수 있어 PCI에 직접 연결
- 이동이 필요한 부품이 없어서 탐색 시간이나 회전 지연이 없음
Magnetic Tape
- 초기 2차 저장 매체
- 오픈 스풀에서 카트리지로 진화
- 특징
- 비교적 영구적이며 대량의 데이터를 저장
- 접근 시간 느림
- 랜덤 액세스는 디스크보다 약 1000배 느림
- 주 용도
- 백업, 잘 사용되지 않는 데이터 저장, 시스템 간 데이터 전송 매체
- 보관 방식
- 스풀에 보관되며, 읽기-쓰기 헤드를 지나 감거나 다시 감음
- 전송 속도
- 헤드 아래에 데이터가 있을 때 디스크와 유사한 속도
- 140MB/sec 이상
- 일반 저장 용량
- 200GB에서 1.5TB
NAS(Network-Attached Storage)
- 정의
- 네트워크를 통해 로컬 연결(버스 등) 대신 사용 가능한 저장소
- 파일 시스템 원격 연결
- 네트워크를 통해 로컬 연결(버스 등) 대신 사용 가능한 저장소
- 공통 프로토콜
- NFS, CIFS
- 구현
- 원격 프로시저 호출(RPC)로 호스트와 저장소 간 데이터 전송
- 일반적으로 TCP 또는 UDP를 사용하는 IP 네트워크에서 실행
- iSCSI 프로토콜
- IP 네트워크를 사용해 SCSI 프로토콜 전송
- 장치 원격 연결(블록 단위)
- IP 네트워크를 사용해 SCSI 프로토콜 전송
Disk Scheduling Algorithms
- Disk I/O scheduler
- 일반적으로 새로운 서비스 요청은 요청 대기열(request queue)에 배치됨
- 요청(Request): 디스크 I/O 스케줄러의 스케줄링 단위
- R/W 유형, 디스크 주소, 섹터 수
- 요청(Request): 디스크 I/O 스케줄러의 스케줄링 단위
- 요청 완료 시 디스크 I/O 스케줄러는 다음 요청을 선택
- 평균 디스크 I/O 서비스 시간은 디스크 I/O 스케줄링 알고리즘에 따라 다름
- 일반적으로 새로운 서비스 요청은 요청 대기열(request queue)에 배치됨
Disk Scheduling Algorithms
- 목표
- 탐색 시간과 회전 지연 최소화
- 디스크 컨트롤러에서 실린더 기반 매핑
- 문제점
- 운영 체제는 회전 지연을 추정할 수 없음
- 디스크의 회전 속도와 트랙당 섹터 수가 다름
- 평가
- 요청 대기열(request queue) 상태와 현재 디스크 헤드 위치 제공
- --> 각 디스크 스케줄링 알고리즘마다 총 헤드 이동을 계산
FCFS (First Come First Served)
- 정의
- 도착 순서대로 요청 처리
- 예시
- 요청 상태: R1(25), R2(92), R3(56), R4(4), R5(17), R6(52), R7(10), R8(32)
- 디스크 헤드 위치: 22
- 단점
- 탐색 거리(seek distance)가 너무 김
SSTF (Shortest Seek Time First)
- 정의
- 현재 헤드 위치에서 최소 탐색 시간으로 요청 처리
- 예시
- 요청 상태: R1(25), R2(92), R3(56), R4(4), R5(17), R6(52), R7(10), R8(32)
- 디스크 헤드 위치: 22
만약 처리 순서를 구하라고 하면, 수직선에 각 request 헤드 위치를 표시한 후, 문제에서 주어진 디스크 헤드 위치부터 그리디 알고리즘으로 풀면 된다.
- 특징
- 그리디 알고리즘
- 일부 요청이 굶주림(starvation)에 빠질 수 있음
SCAN
- 디스크 헤드가 디스크 한쪽 끝에서 시작하여 반대쪽 끝으로 이동하면서 요청을 서비스함. 끝에 도달하면 방향을 바꿔 계속 서비스함.
- 엘리베이터 알고리즘(elevator algorithm)이라고도 함.
- 예:
- Queue state => R₁(25), R₂(92), R₃(56), R₄(4), R₅(17), R₆(52), R₇(10), R₈(32)
- Position of disk head => 22
C-SCAN
- SCAN의 변형임.
- SCAN보다 더 균일한 대기 시간을 제공함.
- 다른 끝에 도달하면 반환 경로에서 아무 요청도 서비스하지 않고 즉시 디스크 시작점으로 돌아옴.
- cf)SCAN : 다른 끝에 도달하면 방향을 바꿔서 서비스
- 예:
- Queue state => R₁(25), R₂(92), R₃(56), R₄(4), R₅(17), R₆(52), R₇(10), R₈(32)
- Position of disk head => 22
C-LOOK
- C-SCAN의 실질적 구현임.
- 디스크 헤드는 각 방향에서 최종 요청까지만 이동한 후, 디스크 끝까지 가지 않고 즉시 방향을 바꿈.
- 예:
- Queue state => R₁(25), R₂(92), R₃(56), R₄(4), R₅(17), R₆(52), R₇(10), R₈(32)
- Position of disk head => 22
Disk Formatting
Physical formatting (low-level formatting)
- 물리적 포맷팅 (저수준 포맷팅)
- 디스크를 사용하기 전에, 디스크 컨트롤러가 읽고 쓸 수 있는 섹터로 나누어야 함.
- 대부분의 하드 디스크는 제조 과정에서 물리적으로 포맷됨.
- 이 과정에서 각 섹터에 대한 특수 데이터 구조가 추가됨.
- 헤더와 트레일러는 디스크 컨트롤러가 사용하는 정보를 포함함.
- 예: 섹터 번호, 오류 수정 코드 (ECC)
Partition
- 파티션
- 디스크는 여러 논리 디스크로 나눌 수 있음.
- 운영체제는 각 파티션을 별도의 디스크처럼 취급할 수 있음.
Logical formatting
- 논리적 포맷팅
- 운영체제는 초기 파일 시스템 data structures를 저장함.
- 예: 슈퍼블록, 여유 공간 비트맵 등.
- 운영체제는 초기 파일 시스템 data structures를 저장함.
Swap Space Management
Swap space
- 스왑 공간
- 가상 메모리는 디스크 공간을 주 메모리의 확장으로 사용함.
- 두 가지 형태로 구현될 수 있음.
- 파일 시스템 내의 일반 파일 - 예: Windows
- 별도의 디스크 파티션 - 예: UNIX
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 13. File System Interface (0) | 2024.06.19 |
---|---|
[운영체제] 12. I/O Systems (0) | 2024.06.19 |
[운영체제] 10. Virtual Memory (0) | 2024.06.19 |
[운영체제] 09. Main Memory (0) | 2024.06.19 |
[운영체제] 08. Deadlocks (0) | 2024.06.19 |