코딩자율학습단/컴퓨터구조와 운영체제

[컴구&OS] 5장. 보조 기억 장치

binary는 호남선 2025. 7. 10. 23:55

Preview

  • HDD
  • SSD
  • 디스크 스케줄링 알고리즘
  • RAID

 

본 게시물은 기술노트알렉, 「코딩 자율학습 컴퓨터 구조와 운영체제」, 길벗출판사, 2025 를 학습하고 작성되었습니다.


 

HDD

  • Hard Disk Drive
  • 대표적인 보조 기억 장치
  • 자기 디스크에 데이터 저장
  • 대용량 데이터 저장
  • 저렴한 가격, 느린 속도

HDD 구성 요소

  • 플래터(platter): 데이터 저장하는 자기 디스크, 스핀들 중심축으로 고속 회전
  • 스핀들(spindle): 플래터 회전의 중심축
  • 읽기/쓰기 헤드(read/write head): 자기장 변화로 데이터 읽고 씀
  • 엑추에이터 암(actuator arm): 헤드를 트랙 위로 이동시킴, 피벗을 축으로 움직임
  • 피벗(pivot): 엑추에이터 이동의 축, 헤드를 정확한 위치에 이동시킴

HDD 저장 구조

  • 트랙(track): 플래터 표면에 있는 동심원 형태의 경로, 실제 데이터 저장
  • 섹터(sector): 트랙을 더 작은 구간으로 나눈 데이터 저장하는 최소 단위
  • 실린더(cylinder): 여러 플래터에서 동일한 트랙 번호 수직으로 정렬한 데이터 단위
  • 클러스터(cluster): 파일 시스템에서 데이터 저장하는 기본 단위, 여러 섹터로 구성

HDD 저장 과정

  1. 논리적 주소를 물리적 주소(트랙, 섹터)로 변환
  2. 헤드가 트랙으로 이동
  3. 플래터 회전하여 섹터로 이동
  4. 데이터 읽거나 쓰기

HDD 성능 결정하는 주요 요소

  • 탐색 시간: 헤드가 원하는 트랙으로 이동하는 데 걸리는 시간
  • 회전 지연 시간: 플래터 회전해 원하는 섹터가 헤드 아래 도달할 때까지 걸리는 시간
  • 데이터 전송 속도: 데이터 읽거나 쓰는 속도
  • 디스크 단편화: 파일이 여러 트랙과 섹터에 분산되어 저장된 상태

HDD 성능 최적화

  • 고RPM HDD 사용: 데이터 접근 속도 향상
  • 디스크 조각 모음 수행: 탐색 시간 감소
  • 버퍼 큰 HDD 사용: 데이터 처리 속도 향상

SSD

  • Solid State Drive
  • 뛰어난 내구성
  • 적은 소음과 발열, 낮은 전력 소모
  • 높은 가격, 빠른 속도

SSD 구성 요소

  • NAND 플래시 메모리: 데이터 저장하는 비휘발성 메모리
  • SSD 컨트롤러: SSD의 데이터 관리 및 입출력 담당
  • 인터페이스: SSD와 컴퓨터 간 데이터 전송하는 통로
  • DRAM 캐시: 데이터 전송 속도 높이는 임시 저장소

SSD 저장 구조

셀(cell) -> 페이지(page) -> 블록(block) -> 플레인(plane) -> 다이(die) -> 패키지(package)

  • 셀: 데이터 저장하는 최소 단위
  • 페이지: 데이터 읽고 쓰는 최소 단위
  • 블록: 데이터 삭제하는 최소 단위

데이터 상태 관리

  • 유효(valid): 데이터 사용 가능한 상태
  • 무효(invalid): 삭제되었거나 새로운 데이터로 덮어쓴 상태
  • 비어 있는(free): 데이터가 완전히 삭제되어 새로운 데이터 저장할 수 있는 상태

디스크 스케줄링 알고리즘

  • HDD와 같은 물리적 디스크 장치에서 특성을 고려해 입출력 요청 효율적으로 처리하는 방법
  • FCFS(First-Come, First-Served): 요청 순서대로 처리
  • SSTF(Shortest Seek Time First): 현재 헤드 위치에서 가까운 요청부터 처리
  • SCAN: 헤드가 한 방향으로 이동하며 요청 처리하다 디스크 끝에 도달하면 반대 방향으로 이동하며 처리
  • C-SCAN(Circular SCAN): 헤드가 한 방향으로 이동하며 요청 처리하다 디스크 끝에 도달하면 가장 낮은 번호 트랙으로 돌아와 동일 방향으로 이동하며 처리

RAID

  • Redundant Array of Independent Disks
  • 여러 디스크를 논리적으로 결합해 성능 향상하고 안정성 높이는 데이터 저장 기술

RAID 주요 기술

  • 데이터 스트라이핑(data striping): 데이터 여러 디스크에 블록 단위로 나누어 저장, 병렬로 처리해 입출력 성능 향상
    블록(block): 데이터 쪼갠 가장 작은 단위
    스트라이프(stripe): 여러 디스크에 분산 저장된 블록 전체
  • 중복성(redundancy): 데이터 복사(미러링)하거나 패리티 정보 추가로 저장해 안정성 확보
    미러링(mirroring): 동일한 데이터 2개 이상의 디스크에 복제해 저장하는 기술
    패리티(parity): 데이터를 수학적 연산으로 변환해 복구용 정보 저장하는 기술

RAID 구현 방식

하드웨어 RAID 소프트웨어 RAID
전용 컨트롤러 사용 운영체제 기반으로 작동
뛰어난 성능 비교적 낮은 성능
높은 비용 낮은 비용
대규모 데이터 센터, 고성능 서버, 데이터 안정성 중요한 경우 소규모 서버, 개인 NAS 시스템, 예산 제한된 경우

RAID 레벨

  RAID 0 RAID 1 RAID 5 RAID 6 RAID 10
저장 방식 스트라이핑으로 분산 저장 미러링으로 동일 데이터 여러 디스크에 저장 스트라이핑 + 패리티 스트라이핑 + 이중 패리티 스트라이핑 + 미러링
데이터 안정성 매우 낮음
(데이터 복구 기능 없음)
높음 보통
(디스크 2개 이상 손상 시 복구 불가)
높음
(디스크 손상에도 중단 없이 서비스 가능)
높음
(빠른 복구, 디스크 손상에도 중단 없이 서비스 가능)
읽기 성능 매우 높음 높음 높음 높음 높음
쓰기 성능 매우 높음 보통 낮음 매우 낮음 높음
저장 공간 활용 비율(%) 100 50 {(n - 1) / n} * 100 {(n - 2) / n} * 100 50
비용 가장 낮음 높음 보통 높음 매우 높음
최소 디스크 수 2 2 3 4 4
(디스크 개수 짝수여야함)

*n은 디스크의 개수