10-2.[os] 디스크 장치
디스크 장치의 종류
하드디스크
- = 제2저장장치: 메모리를 보조하는 장치라는 의미
- 스핀들(spindle) 원통 축에 플래터(platter)가 달려있음
플래터
- 플래터 표면에 자성체가 발려있어 자기를 이용해서 0과 1의 데이터 저장
- N극 -> 0, S극 -> 1
- 하드디스크 사양 7,500rpm -> 플래터가 1분에 7,500 바퀴를 일정한 속도로 회전
- 위아래 표면 다 사용
섹터와 블록
섹터(sector)
- 하드디스크의 가장 작은 저장단위
- 하나의 섹터: 한 덩어리의 데이터 저장
블록
- 하드디스크와 컴퓨터 사이에 데이터를 전송하는 가장 작은 논리적인 저장단위
- 여러 개의 섹터로 구성됨
= 클러스터(cluster) - (윈도우 운영체제)
메모리: 물리적으로 하나의 바이트마다 주소가 배정
- 하드디스크: 논리적인 단위인 블록마다 주소가 배정
-하드디스크 입장: 섹터가 가장 작은 저장 단위
- 운영체제 입장: 블록이 가장작은 저장단위
트랙과 실린더
트랙(track): 플래터에서 회전축을 중심으로 데이터가 기록되는 동심원, 즉 동일한 동심원상에 있는 섹터의 집합
헤드
- 디스크암 (disk arm)에 고정되어 있음
- 여러 플래터의 같은 위치에 있는 트랙을 동시에 읽고 씀
-실린더(cylinder): 여러 개의 플래터에 있는 같은 트랙의 집합
헤드와 플래터
- 읽기/쓰기 헤드(read/write head): 하드디스크에서 데이터를 읽거나 쓸 때 사용
헤드의 수 = 저장되는 플래터의 표면 수
보통 플래터 회전하면 약한 바람이 불면서 헤드가 떠 있게 됨
배드 섹터(bad sector): 플래터 표면에 생긴 상처로 인해 데이터 저장 못하는 부분
파킹(parking): 컴퓨터 종료 후, 헤드가 플래터의 표면에 흠집을 내지 않도록 플래터 맨 바깥쪽으로 이동
외부 충격에 민감
CD
- 트랙과 섹터로 구성
- 헤드가 트랙사이를 움직이면서 데이터를 읽음
- 표면에 미세한 홈이 파여 있음
- 헤드에서 발사된 레이저가 홈에 들어감
- 반사가 되지 않으면 -> 0
반사가 되어 돌아오면 -> 1
'CD를 굽는다' -> 레이저를 쏴서 표면을 태워 미세한 흠을 만드는 방식으로 데이터 저장
CD -> DVD -> 블루레이
하드디스크와 CD의 비교
- 둘다 원반을 사용
성능을 나타내는 단위:
- 하드디스크: rpm
- CD: 배속 (20배속, 40배속)
디스크 회전:
- 하드디스크: 플래터가 일정한 속도로 돌아간다
- CD: 헤드 위치에 따라 디스크 회전 속도가 변한다
데이터 쓰기:
- 하드디스크: 바깥쪽에서 안쪽으로 데이터가 채워짐
- CD: 안쪽부터 바깥쪽으로 데이터가 채워짐
- (중요한 정보는 안쪽 트랙에 저장)
- 데이터 보호 - 사용자가 CD를 만질 때 바깥쪽부터 잡기 때문
각속도 일정 방식의 회전:
- 플래터는 항상 일정한 속도로 회전
- 바깥쪽 트랙 속도가 안쪽 트랙의 속도보다 훨씬 빠르다
- 바깥쪽에 있는 섹터가 가장 안쪽에 있는 섹터보다 더 크다
- = 각속도 일정(constant angular velocity)
- 일정한 시간동안 이동한 각도가 같다
선속도 일정 방식의 회전:
- = 선속도 일정(constant linear velocity)
- 어느 트랙에서나 단위 시간당 디스크의 이동거리가 같다
- 헤드가 안쪽 트랙에 있을 때: 디스크의 회전속도를 빠르게
- 헤드가 바깥쪽 트랙으로 이동했을 때: 디스크의 회전속도를 느리게
각속도 일정 방식의 섹터
- 트랙마다 속도가 다르기 때문에 섹터의 크기도 다르다
모든 트랙의 섹터 수가 같고 바깥쪽 섹터의 크기가 안쪽 섹터보다 크다 단점
안쪽 트랙에 비해 바깥쪽 트랙으로 갈수록 낭비되는 공간이 생김
장점
- 디스크가 일정한 속도로 회전하기 때문에 구동장치가 단순
- 조용하게 작동한다
선속도 일정 방식의 섹터
- 모든 트랙의 움직이는 속도가 같고 섹터의 크기도 같다
- 안쪽 트랙보다 바깥쪽 트랙에 더 많은 섹터가 존재
- 모든 트랙의 섹터수가 다르다
장점
- 한정된 공간에 많은 데이터를 담을 수 있다
단점
- 모터 제어가 복잡
- 소음 발생
디스크 장치의 데이터 전송 시간
하드디스크의 데이터 전송 과정
하드디스크의 특정 섹터에 저장된 데이터를 읽거나 쓰려면 그 섹터가 있는 트랙까지 헤드가 이동
- 탐색 시간(seek time): 헤드가현재 위치에서 그트랙까지 이동하는데 걸리는시간
특정 트랙까지 이동한 헤드는 플래터가 회전하여 원하는 섹터를 만날때까지 기다린다
- 회전 지연 시간(rotational latency time): 섹터를 만날 때까지 회전하는 데 걸리는시간
헤드는 원하는 섹터에 있는 데이터를 읽어 전송
- 전송 시간(transmission time)
데이터 전송시간=탐색 시간+회전 지연 시간+전송 시간
- 탐색시간이 젤 오래 걸림
- 모터로 헤드를 이동해서 트랙까지 이동이 오래 걸림
1분에 7,500번 회전하기 때문에 섹터는 오래 안 기다림
하드디스크를 오래 사용 -> 차곡차곡 쌓여 있던 데이터를 쓰고 지우는 과정을 반복 -> 조각이 발생 -> 헤드가 여러곳 돌아다녀야해서 속도 느려짐
조각 모음 자주하기, 디스크 스케줄링 기법 -> 탐색 시간 최소화
디스크 장치 관리
파티션
- 대용량 저장장치를 구매하여 처음 사용할 때는 파티션을 나누고 포매팅을 한 다음 사용 포매팅 - 디스크를 초기화하는 작업
파티션
- 디스크를 논리적으로 분할하는 작업
- 파티션 하나에 파일 시스템 1개 탑재
- 각 파티션에 알파벳순으로 드라이브 이름을 부여 - C 드라이브, D드라이브
- a) 하드디스크 2개
- b) 대용량 하드디스크는 여러 개로 나누어 사용하면 관리가 편함, 하드 1개지만 2개처럼 보임
- c) 여러 개의 하드디스크를 하나의 파티션으로 통합. 운영체제가 보유한 파티션을 모두 보여주는 건 불편함. 많은 파티션을 관리하기 복잡함. 하드 n개가 1개로 보임.
마운트(mount): 유닉스 운영체제에서 여러 개의 파티션을 하나로 통합하는 기능
포매팅
- 파티션이 결정되면 포매팅을 함
디스크에 파일 시스템을 탑재하고 디스크 표면을 초기화하여 사용할 수 있는 형태로 만드는 작업
파일 테이블: 저장장치는 디스크에 저장된 파일의 위치와 크기 정보를 담고 있는 파일 테이블을 사용
포매팅: 빈 저장장치에 파일 테이블을 탑재하는 것
- 파일 시스템을 각 파티션의 상단부에 탑재
- 저장장치의 모든 섹터를 0으로 만들어 운영체제가 하드디스크를 사용할 수 있도록 준비하는 작업
느린 포매팅
- 일반적인 방식
- 모든 섹터를 0으로 만듦
- 배드 섹터를 찾음
빠른 포매팅
- 데이터는 그대로 둔 채 파일 테이블을 초기화
하드를 처음 사용할 때는 느린 포매팅, 쓰다가 다시 포매팅할 때는 빠른 포매팅
조각 모음
- 파티션을 나누고 포매팅을 한 후 하드디스크를 사용하다 보면 점점 느려짐
- 하드 디스크를 처음 사용할 때는 데이터가 앞에서부터 차곡차곡 쌓임
- 조각화, 단편화: 파일을 저장했다 지우면 중간중간에 빈 공간이 생기는 것
- 여러 군데를 돌아다니면서 읽어서 성능 저하됨
주기적으로 조각모음해줘야함
헤드를 움직여서 데이터에 접근하는 하드디스크와 달리, 반도체를 이용한 저장장치(USB, SSD)는 조각 모음을 하지 않아도 성능의 차이가 없다
조각 모음을하여 특정 위치의 메모리만 계속 사용하면 수명이 단축되지만, 반도체를 이용한 저장장치는 전체 공간을 고루 사용하기 때문에 수명 연장에도 유리함
네트워크 저장장치
- 네트워크를 사용하는 저장장치 - DAS, NAS, SAN
- 네트워크의 발달로 원격으로 사용하는 저장장치
DAS
- Direct Attached Storage
- 서버와 같은 컴퓨터에 직접 연결된 저장장치
- = HAS(Host Attached Storage)
- 여러 컴퓨터 중 하나를 파일 공유 서버로 지정하고 나머지 컴퓨터에서 지정된 컴퓨터에 접근하여 파일을 이용하는 방식
단점:
- DAS는 컴퓨터에 직접 연결된 저장장치를 사용하기 때문에 다른 운영체제가 쓰는 파일 시스템을 사용할 수 없다
- 데이터의 관리나 백업을 사용자가 직접 해야해서 번거롭다
- 각각의 컴퓨터에 붙어 있기 때문에 공유 데이터의 관리가 힘들고 데이터가 여러 컴퓨터에 중복되어 있다
NAS
- Network Attached Storage
- 기존의 저장장치를 LAN이나 WAN(Wide Area Network)에 붙여서 사용하는 방식
- NAS 전용 운영체제를 가진 독립적인 장치
- 새로운 하드디스크를 추가하거나 뺄 수 있다
- 저장장치를 네트워크 상에 두고 여러 클라이언트가 네트워크를 통해 접근
- -> 공유 데이터의 관리 및 데이터의 중복 회피가 가능
- 사용자 인터페이스를 이용하여 다양한 파일 관리가 가능
- NAS가 저장장치에 네트워크 인터페이스를 부착한 형태
SAN
- Storage Area Network
- 데이터 서버, 백업 서버, RAID 등의 장치를 네트워크로 묶고 데이터 접근을 위한 서버를 두는 형태
- 시스템이 제공하는 인터페이스를 통해 데이터에 접근
- 저장장치에 필요한 장치를 네트워크로 묶어 하나의 시스템을 구성하기 때문에 다 양한 서비스를 제공
- 데이터의 공유, 백업, 보안 등이 서버를 통해 자동으로 이루어짐 -> 사용자가 파일관리에 특별히 신경 쓸 일이 없음
- 편리함
단점:
- 데이터 서버나 백업 서버를 같이 구축하기 때문에 NAS보다 구축 비용이 많이 든다
- 큰 회사의 시스템이나 대형 웹 시스템에 적합