반응형
Notice
Recent Posts
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Today
Total
관리 메뉴

오식랜드

[운영체제] 하드디스크 본문

dev-log/cs

[운영체제] 하드디스크

개발하는 오식이 2023. 10. 1. 14:28
반응형

구조

  • 플래터(n장) > 트랙(n바퀴) > 섹터(n칸)
  • 디스크 암 (ram) + 읽기/쓰기 헤드 → 이동하면서 데이터 읽음

플래터

  • 표면에 자성체 있음
  • 자기를 이용해 0,1 데이터 저장
  • 2장 이상 구성 (1장이면 플러피 디스크)
  • 항상 일정한 속도로 회전

트랙

  • 동일한 동심원상에 있는 섹터의 집합 (플래터에서 회전축을 중심으로 같은 거리에 떨어져있는 섹터의 집합)

실린더

  • 여러개에 플래터에 있는 같은 위치 트랙의 집합

섹터

  • 하드디스크의 가장 작은 저장단위
  • 1섹터가 10bit일 때, 5bit만 사용해도 무조건 10bit로 측정됨
  • 하나의 섹터에는 하나의 덩어리 데이터 저장
  • 배드 섹터 : 상처가 있어서 데이터를 저장할 수 없는 섹터

블록

  • 하드디스크 - 컴퓨터 사이 데이터를 전송하는 가장 작은 단위
  • 여러개의 섹터로 구성
  • 윈도우에서는 “클러스터”라고 함

⇒ 하드디스크는 “섹터”가 가장 적은 단위

⇒ 운영체제는 하드디스크에 데이터를 보내거나 받을 때 “블록”이 가장 적은 단위

헤드

  • 데이터를 읽거나 쓸 때 사용
  • 표면에 약간 떠있는 형태 (자성)

하드디스크와 CD 회전 비교

  • 하드디스크 ⇒ 등각속도 일정 방식
    • 멀리있는 섹터가 더 큼 (트랙마다 속도가 다름)
    • 장점 : 구동장치가 단순, 조용
    • 단점 : 바깥 트랙으로 갈수록 낭비공간이 생김
  • CD ⇒ 등선속도 일정 방식
    • 속도와 섹터 크기가 같음 (바깥쪽에 섹터가 더 많음)
    • 장점 : 섹터 공간이 낭비되지 않음
    • 단점 : 모터 제어가 복잡, 소음발생

데이터 전송 시간 구하기

  • 데이터 전송 시간 = 탐색 시간 + 회전 지연 시간 + 전송시간
  • 탐색 시간 : 헤더가 트랙에 도달하는 시간 (제일 오래걸림)
  • 회전 지연시간 : 헤더가 원하는 섹터에 도달
  • 전송 시간 : 데이터가 실제로 이동하는 시간

디스크 스케줄링

: 트랙 이동을 최소화하여 탐색 시간을 줄이기 위해 사용

이동 거리가 가장 짧은게 성능이 좋은 것

  1. FCFS
    : 요청 들어온대로 서비스
  2. SSTF아사현상 발생할 수 있음 (멀리 있는 것)
    : 현재 헤드가 있는 위치에서 가장 가까운 트랙부터 써비스 (거리 같으면 먼저 온거부터)
  3. 블록 SSTF (성능 안좋아서 안중요)
  4. SCAN끝에 닿으면 방향 전환
    아사현상 발생 (바깥 트랙)
    한 방향으로 쭉 나아가는 방식
  5. C-SCAN
    : SCAN과 같지만, 방향 전환할 때 반대편 끝으로 아무 작업 없이 이동
  6. LOOK효율은 제일 좋지만 매번 체크가 필요함 (오버헤드)
    : 마지막 트랙까지 가지 않고, 더이상 그 방향에 남은게 없으면 중간에서 방향 바꿈
  7. C-LOOKLOOK처럼 매번 체크가 필요
    : C-SCAN처럼 방향 전환 시 아무 작업 없이 이동하는 것
  8. 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