10-2.[os] 디스크 장치

디스크 장치의 종류

하드디스크

  • = 제2저장장치: 메모리를 보조하는 장치라는 의미
  • 스핀들(spindle) 원통 축에 플래터(platter)가 달려있음

플래터

image.png

  • 플래터 표면에 자성체가 발려있어 자기를 이용해서 0과 1의 데이터 저장
  • N극 -> 0, S극 -> 1
  • 하드디스크 사양 7,500rpm -> 플래터가 1분에 7,500 바퀴를 일정한 속도로 회전
  • 위아래 표면 다 사용

섹터와 블록

섹터(sector)

  • 하드디스크의 가장 작은 저장단위
  • 하나의 섹터: 한 덩어리의 데이터 저장

블록

  • 하드디스크컴퓨터 사이에 데이터를 전송하는 가장 작은 논리적인 저장단위
  • 여러 개의 섹터로 구성됨
  • = 클러스터(cluster) - (윈도우 운영체제)

  • 메모리: 물리적으로 하나의 바이트마다 주소가 배정

  • 하드디스크: 논리적인 단위인 블록마다 주소가 배정

-하드디스크 입장: 섹터가 가장 작은 저장 단위

  • 운영체제 입장: 블록이 가장작은 저장단위

트랙과 실린더

  • 트랙(track): 플래터에서 회전축을 중심으로 데이터가 기록되는 동심원, 즉 동일한 동심원상에 있는 섹터의 집합

  • 헤드

    • 디스크암 (disk arm)에 고정되어 있음
    • 여러 플래터의 같은 위치에 있는 트랙을 동시에 읽고 씀

-실린더(cylinder): 여러 개의 플래터에 있는 같은 트랙의 집합

헤드와 플래터

  • 읽기/쓰기 헤드(read/write head): 하드디스크에서 데이터를 읽거나 쓸 때 사용
  • 헤드의 수 = 저장되는 플래터의 표면 수

  • 보통 플래터 회전하면 약한 바람이 불면서 헤드가 떠 있게 됨

  • 배드 섹터(bad sector): 플래터 표면에 생긴 상처로 인해 데이터 저장 못하는 부분

  • 파킹(parking): 컴퓨터 종료 후, 헤드가 플래터의 표면에 흠집을 내지 않도록 플래터 맨 바깥쪽으로 이동

  • 외부 충격에 민감

image.png


CD

  • 트랙과 섹터로 구성
  • 헤드가 트랙사이를 움직이면서 데이터를 읽음
  • 표면에 미세한 홈이 파여 있음
  • 헤드에서 발사된 레이저가 홈에 들어감
  • 반사가 되지 않으면 -> 0
  • 반사가 되어 돌아오면 -> 1

  • 'CD를 굽는다' -> 레이저를 쏴서 표면을 태워 미세한 흠을 만드는 방식으로 데이터 저장

  • CD -> DVD -> 블루레이


하드디스크와 CD의 비교

  • 둘다 원반을 사용

성능을 나타내는 단위:

  • 하드디스크: rpm
  • CD: 배속 (20배속, 40배속)

디스크 회전:

  • 하드디스크: 플래터가 일정한 속도로 돌아간다
  • CD: 헤드 위치에 따라 디스크 회전 속도가 변한다

데이터 쓰기:

  • 하드디스크: 바깥쪽에서 안쪽으로 데이터가 채워짐
  • CD: 안쪽부터 바깥쪽으로 데이터가 채워짐
    • (중요한 정보는 안쪽 트랙에 저장)
    • 데이터 보호 - 사용자가 CD를 만질 때 바깥쪽부터 잡기 때문

image.png

각속도 일정 방식의 회전:

  • 플래터는 항상 일정한 속도로 회전
  • 바깥쪽 트랙 속도가 안쪽 트랙의 속도보다 훨씬 빠르다
  • 바깥쪽에 있는 섹터가 가장 안쪽에 있는 섹터보다 더 크다
  • = 각속도 일정(constant angular velocity)
  • 일정한 시간동안 이동한 각도가 같다

선속도 일정 방식의 회전:

  • = 선속도 일정(constant linear velocity)
  • 어느 트랙에서나 단위 시간당 디스크의 이동거리가 같다
  • 헤드가 안쪽 트랙에 있을 때: 디스크의 회전속도를 빠르게
  • 헤드가 바깥쪽 트랙으로 이동했을 때: 디스크의 회전속도를 느리게

image.png

각속도 일정 방식의 섹터

  • 트랙마다 속도가 다르기 때문에 섹터의 크기도 다르다
  • 모든 트랙의 섹터 수가 같고 바깥쪽 섹터의 크기가 안쪽 섹터보다 크다 단점

  • 안쪽 트랙에 비해 바깥쪽 트랙으로 갈수록 낭비되는 공간이 생김

장점

  • 디스크가 일정한 속도로 회전하기 때문에 구동장치가 단순
  • 조용하게 작동한다

선속도 일정 방식의 섹터

  • 모든 트랙의 움직이는 속도가 같고 섹터의 크기도 같다
  • 안쪽 트랙보다 바깥쪽 트랙더 많은 섹터가 존재
  • 모든 트랙의 섹터수가 다르다

장점

  • 한정된 공간에 많은 데이터를 담을 수 있다

단점

  • 모터 제어가 복잡
  • 소음 발생

디스크 장치의 데이터 전송 시간

image.png

하드디스크의 데이터 전송 과정

  1. 하드디스크의 특정 섹터에 저장된 데이터를 읽거나 쓰려면 그 섹터가 있는 트랙까지 헤드가 이동

    • 탐색 시간(seek time): 헤드가현재 위치에서 그트랙까지 이동하는데 걸리는시간
  2. 특정 트랙까지 이동한 헤드는 플래터가 회전하여 원하는 섹터를 만날때까지 기다린다

    • 회전 지연 시간(rotational latency time): 섹터를 만날 때까지 회전하는 데 걸리는시간
  3. 헤드는 원하는 섹터에 있는 데이터를 읽어 전송

    • 전송 시간(transmission time)

데이터 전송시간=탐색 시간+회전 지연 시간+전송 시간

  • 탐색시간이 젤 오래 걸림
  • 모터로 헤드를 이동해서 트랙까지 이동이 오래 걸림
  • 1분에 7,500번 회전하기 때문에 섹터는 오래 안 기다림

  • 하드디스크를 오래 사용 -> 차곡차곡 쌓여 있던 데이터를 쓰고 지우는 과정을 반복 -> 조각이 발생 -> 헤드가 여러곳 돌아다녀야해서 속도 느려짐

  • 조각 모음 자주하기, 디스크 스케줄링 기법 -> 탐색 시간 최소화


디스크 장치 관리

파티션

  • 대용량 저장장치를 구매하여 처음 사용할 때는 파티션을 나누고 포매팅을 한 다음 사용 포매팅 - 디스크를 초기화하는 작업

파티션

  • 디스크를 논리적으로 분할하는 작업
  • 파티션 하나에 파일 시스템 1개 탑재
  • 각 파티션에 알파벳순으로 드라이브 이름을 부여 - C 드라이브, D드라이브

image.png

  • a) 하드디스크 2개
  • b) 대용량 하드디스크는 여러 개로 나누어 사용하면 관리가 편함, 하드 1개지만 2개처럼 보임
  • c) 여러 개의 하드디스크를 하나의 파티션으로 통합. 운영체제가 보유한 파티션을 모두 보여주는 건 불편함. 많은 파티션을 관리하기 복잡함. 하드 n개가 1개로 보임.

마운트(mount): 유닉스 운영체제에서 여러 개의 파티션을 하나로 통합하는 기능


포매팅

  • 파티션이 결정되면 포매팅을 함
  • 디스크에 파일 시스템을 탑재하고 디스크 표면을 초기화하여 사용할 수 있는 형태로 만드는 작업

  • 파일 테이블: 저장장치는 디스크에 저장된 파일의 위치크기 정보를 담고 있는 파일 테이블을 사용

포매팅: 빈 저장장치에 파일 테이블을 탑재하는 것

  • 파일 시스템을 각 파티션의 상단부에 탑재
  • 저장장치의 모든 섹터를 0으로 만들어 운영체제가 하드디스크를 사용할 수 있도록 준비하는 작업

image.png

  • 느린 포매팅

    • 일반적인 방식
    • 모든 섹터를 0으로 만듦
    • 배드 섹터를 찾음
  • 빠른 포매팅

    • 데이터는 그대로 둔 채 파일 테이블을 초기화
  • 하드를 처음 사용할 때는 느린 포매팅, 쓰다가 다시 포매팅할 때는 빠른 포매팅


조각 모음

  • 파티션을 나누고 포매팅을 한 후 하드디스크를 사용하다 보면 점점 느려짐
  • 하드 디스크를 처음 사용할 때는 데이터가 앞에서부터 차곡차곡 쌓임
  • 조각화, 단편화: 파일을 저장했다 지우면 중간중간에 빈 공간이 생기는 것

image.png

  • 여러 군데를 돌아다니면서 읽어서 성능 저하됨
  • 주기적으로 조각모음해줘야함

  • 헤드를 움직여서 데이터에 접근하는 하드디스크와 달리, 반도체를 이용한 저장장치(USB, SSD)는 조각 모음을 하지 않아도 성능의 차이가 없다

  • 조각 모음을하여 특정 위치의 메모리만 계속 사용하면 수명이 단축되지만, 반도체를 이용한 저장장치는 전체 공간을 고루 사용하기 때문에 수명 연장에도 유리함


네트워크 저장장치

  • 네트워크를 사용하는 저장장치 - DAS, NAS, SAN
  • 네트워크의 발달로 원격으로 사용하는 저장장치

DAS

  • Direct Attached Storage
  • 서버와 같은 컴퓨터에 직접 연결된 저장장치
  • = HAS(Host Attached Storage)
  • 여러 컴퓨터 중 하나를 파일 공유 서버로 지정하고 나머지 컴퓨터에서 지정된 컴퓨터에 접근하여 파일을 이용하는 방식

image.png

단점:

  • DAS는 컴퓨터에 직접 연결된 저장장치를 사용하기 때문에 다른 운영체제가 쓰는 파일 시스템을 사용할 수 없다
  • 데이터의 관리나 백업을 사용자가 직접 해야해서 번거롭다
  • 각각의 컴퓨터에 붙어 있기 때문에 공유 데이터의 관리가 힘들고 데이터가 여러 컴퓨터에 중복되어 있다

NAS

  • Network Attached Storage
  • 기존의 저장장치를 LAN이나 WAN(Wide Area Network)에 붙여서 사용하는 방식
  • NAS 전용 운영체제를 가진 독립적인 장치
  • 새로운 하드디스크를 추가하거나 뺄 수 있다
  • 저장장치를 네트워크 상에 두고 여러 클라이언트가 네트워크를 통해 접근
  • -> 공유 데이터의 관리 및 데이터의 중복 회피가 가능
  • 사용자 인터페이스를 이용하여 다양한 파일 관리가 가능
  • NAS가 저장장치에 네트워크 인터페이스를 부착한 형태

image.png


SAN

  • Storage Area Network
  • 데이터 서버, 백업 서버, RAID 등의 장치를 네트워크로 묶고 데이터 접근을 위한 서버를 두는 형태
  • 시스템이 제공하는 인터페이스를 통해 데이터에 접근
  • 저장장치에 필요한 장치를 네트워크로 묶어 하나의 시스템을 구성하기 때문에 다 양한 서비스를 제공
  • 데이터의 공유, 백업, 보안 등이 서버를 통해 자동으로 이루어짐 -> 사용자가 파일관리에 특별히 신경 쓸 일이 없음
  • 편리함

image.png

단점:

  • 데이터 서버나 백업 서버를 같이 구축하기 때문에 NAS보다 구축 비용이 많이 든다
  • 큰 회사의 시스템이나 대형 웹 시스템에 적합

Did you find this article valuable?

Support Christy Choi by becoming a sponsor. Any amount is appreciated!