오식랜드
[운영체제] 하드디스크 본문
반응형
구조
- 플래터(n장) > 트랙(n바퀴) > 섹터(n칸)
- 디스크 암 (ram) + 읽기/쓰기 헤드 → 이동하면서 데이터 읽음
플래터
- 표면에 자성체 있음
- 자기를 이용해 0,1 데이터 저장
- 2장 이상 구성 (1장이면 플러피 디스크)
- 항상 일정한 속도로 회전
트랙
- 동일한 동심원상에 있는 섹터의 집합 (플래터에서 회전축을 중심으로 같은 거리에 떨어져있는 섹터의 집합)
실린더
- 여러개에 플래터에 있는 같은 위치 트랙의 집합
섹터
- 하드디스크의 가장 작은 저장단위
- 1섹터가 10bit일 때, 5bit만 사용해도 무조건 10bit로 측정됨
- 하나의 섹터에는 하나의 덩어리 데이터 저장
- 배드 섹터 : 상처가 있어서 데이터를 저장할 수 없는 섹터
블록
- 하드디스크 - 컴퓨터 사이 데이터를 전송하는 가장 작은 단위
- 여러개의 섹터로 구성
- 윈도우에서는 “클러스터”라고 함
⇒ 하드디스크는 “섹터”가 가장 적은 단위
⇒ 운영체제는 하드디스크에 데이터를 보내거나 받을 때 “블록”이 가장 적은 단위
헤드
- 데이터를 읽거나 쓸 때 사용
- 표면에 약간 떠있는 형태 (자성)
하드디스크와 CD 회전 비교
- 하드디스크 ⇒ 등각속도 일정 방식
- 멀리있는 섹터가 더 큼 (트랙마다 속도가 다름)
- 장점 : 구동장치가 단순, 조용
- 단점 : 바깥 트랙으로 갈수록 낭비공간이 생김
- CD ⇒ 등선속도 일정 방식
- 속도와 섹터 크기가 같음 (바깥쪽에 섹터가 더 많음)
- 장점 : 섹터 공간이 낭비되지 않음
- 단점 : 모터 제어가 복잡, 소음발생
데이터 전송 시간 구하기
- 데이터 전송 시간 = 탐색 시간 + 회전 지연 시간 + 전송시간
- 탐색 시간 : 헤더가 트랙에 도달하는 시간 (제일 오래걸림)
- 회전 지연시간 : 헤더가 원하는 섹터에 도달
- 전송 시간 : 데이터가 실제로 이동하는 시간
디스크 스케줄링
: 트랙 이동을 최소화하여 탐색 시간을 줄이기 위해 사용
이동 거리가 가장 짧은게 성능이 좋은 것
- FCFS
: 요청 들어온대로 서비스 - SSTF아사현상 발생할 수 있음 (멀리 있는 것)
: 현재 헤드가 있는 위치에서 가장 가까운 트랙부터 써비스 (거리 같으면 먼저 온거부터) - 블록 SSTF (성능 안좋아서 안중요)
- SCAN끝에 닿으면 방향 전환
아사현상 발생 (바깥 트랙)
한 방향으로 쭉 나아가는 방식
- C-SCAN
: SCAN과 같지만, 방향 전환할 때 반대편 끝으로 아무 작업 없이 이동
- LOOK효율은 제일 좋지만 매번 체크가 필요함 (오버헤드)
: 마지막 트랙까지 가지 않고, 더이상 그 방향에 남은게 없으면 중간에서 방향 바꿈
- C-LOOKLOOK처럼 매번 체크가 필요
: C-SCAN처럼 방향 전환 시 아무 작업 없이 이동하는 것
- SLTF
: 디스크 회전 방향에 맞추어 재정령 후 서비스
RAID
- 미러링 : 하나의 원본 기스크와 똑같이 백업 디스크를 만들어 하나의 디스크가 고장나면 데이터를 복구하기 위해 사용
- 스트라이핑 : 여러 디스크에 데이터를 동시에 저장 데이터 입출력을 높이는 방식
⇒ 디스크가 고장난지 모르게 하기 위함
RAID 0 ⇒ 스트라이핑
- 병렬로 연결된 여러개 디스크에 동시에 입출력 할 수 있도록 구성
- 이론상으로는 4개 디스크 사용 시 속도가 4배 빠름 (싸서 여러개 두기 가능)
- 장애 발생 시 복구 기능이 없음
- 입출력이 빠르긴 함 (기업용, 개인용, 고급노트북 등에 쓰임)
RAID1 ⇒ 미러링
- 2개 이상의 짝수개 디스크로 구성
- 백업 디스크로 활용
- 단점 : 디스크를 사야해서 돈이 나가고, 같은 내용을 두번 저장해서 속도가 느려짐
RAID 2 ⇒ 해밍 코드
RAID 3 ⇒ 패리티 코드
- RAID2 보다 적은 용량으로 더 좋은 효과를 낼 수 있음
- 패리티 코드 계산중에 다른 디스크가 작동 못함 → RAID4에서 해결
RAID 4 ⇒ 패리티 코드
- 오류시 데이터가 저장되는 디스크와 패리티비트가 저장되는 디스크만 동작
- 오류에 해당 없는 디스크는 정상 작동
- 병목현상 발생 → RAID5에서 해결
RAID 5 ⇒ 패리티비트 분산
- 1개 오류 시 다른 디스크들을 통해 복구
- 2개 이상은 안됨 → RAID 6에서 해결
RAID 6 ⇒ 패리티비트 2개 구성
- 추가 디스크 필요
- 2개 디스크가 오류가 나도 복구 가능
RAID10 (RAID 1 + RAID 0)
- 미러링 후 스트라이핑
- RAID 01 → 오류 시 모든 디스크 중단
- RAID 10 → 일부 디스크만 중단 후 복구
반응형
'dev-log > cs' 카테고리의 다른 글
[운영체제] 파일 시스템 (0) | 2023.10.01 |
---|---|
[운영체제] 포트 (port) (0) | 2023.10.01 |
[운영체제] 입출력장치 (0) | 2023.10.01 |
[운영체제] 가상메모리 (0) | 2023.10.01 |
[운영체제] 메모리 (0) | 2023.10.01 |
Comments