반응형

Outline


① Disk Structure

② Solid-state disk (SSD) Characteristics

③ Disk Attachment

④ Disk Scheduling

⑤ Disk Management

⑥ RAID Structure

 

① Disk Structure


 

Spindle: 디스크의 중심. 데이터를 읽고 쓰기 위해서 spindle이 반드시 회전 해야함

Track: 여러 개의 sector로 구성

Sector: 데이터가 저장되는 최소 단위

Cylinder: spindle로부터 동일한 거리에 있는 track들의 집합

Platter: 데이터가 저장되는 공간. 여러 개의 track으로 구성

Arm assembly: 여러 개의 arm으로 구성됨

Read-write head: arm의 끝 부분. 특정 데이터를 읽고 쓰기 위해서 read-write head가 해당 track으로 가야함(seek).                              Read-write head가 서로 다른 cylinder를 가리킬 수 없음

 

Seek time: read-write head가 요청한 sector가 위치한 track으로 이동하는데 걸리는 시간

Rotational latency: 해당 sector가 read-write head의 밑으로 회전하는데 걸리는 시간

Transfer time: 데이터를 읽고 전송하는데 걸리는 시간

 

access time = seek time (트랙 찾기) + rotational latency (섹터 찾기) + transfer time (전송)

② Solid-state disk (SSD) Characteristics


● SSD 특징

1. HDD보다 비쌈

2. HDD보다 안정적

3. 수명 짧음

-> write 횟수 제한있기 때문에 wear-leveling을 통해 골고루 write 해야 함

4. 용량 작음

5. 더 빠름

6. 안움직임

-> seek time, rotational delay 없음

 

overwrite 안됨  : erase before write

R/W page 단위

erase block 단위 : 특정 page만 지울 수 없음

 

● Garbage collection

블록을 실제로 삭제하지 않고, 표기 후 적절한 시점에 일괄 삭제 처리하는 기술

● Flash Translation Layer

특정 content가 동일한 page에 계속 존재하지 않음 -> 특정 위치에 overwrite (X)

OS에서 보는 page 위치 계속 바뀜 -> mapping layer 하나 더 존재

③ Disk Attachment


https://youtu.be/Go8dQkaTaCQ

1. DAS (Direct Attached Storage), Host-attached

-> I/O bus 통해서 storage 접근

 

2. NAS (Network Attached Storage)

-> local connection이 아닌 network protocol로 storage 접근

-> RPC (Remote Procedure Call) 사용

-> 네트워크 통해서 남는 공간을 공유

-> 유일하게 OS 탑재

 

3. SAN (Storage Area Network)

-> network protocol이 아닌 storage protocol 사용

-> FC-AL (Fiber Channel Arbitrated Loop) 사용

-> 네트워크 통해서 남는 공간 할당

NAS: 파일 단위 전송 (느림)

DAS, SAN: 블록 단위 전송 (빠름)

④ Disk Scheduling


1. FCFS

-> 순서대로 진행

2. SSTF (Shortest Seek Time First)

-> 현재 head 위치에서 가장 가까운 것 기준

-> starvation 발생

-> optimal 아님

3. SCAN (elevator)

-> head가 끝에서 끝으로 이동하면서 처리

 

4. C-SCAN (Circular-SCAN)

-> 한 방향으로만 이동

-> 한쪽 끝에 도착하면 방향전환이 아닌 처음 위치로 되돌아감

5. LOOK

-> 끝까지 가지 않고 해당 방향에 request가 있는지 확인

-> 없으면 방향 전환

6. C-LOOK

-> 끝까지 안감 + 한 방향으로만 이동

⑤ Disk Management


● Disk formatting

1. physical formatting (low-level formatting)

-> disk를 sector 단위로 분할

 

2. logical formatting (Making a file system)

-> 흔히 말하는 포맷

-> file system 생성하려면 데이터를 다 지워야함 (file system 초기화)

-> file system 자료구조를 disk에 저장

 

● Boot block

-> 부팅 시 필요한 정보들이 저장됨

-> boot block이 시스템을 초기화

-> bootstrap이 ROM에 저장됨

-> bootstrap loader가 메모리에 boot block을 load하고 제어권을 넘겨줌

 

● Swap space

-> swap-out 된 페이지가 저장된 disk 공간 (backing store)

-> 일반적인 file system에서 사용될 수도 있고

-> 별도의 raw disk partition에서 사용될 수도 있음

 

● Swap map

-> swap out된 page를 사용하고 있는 process 개수

⑥ RAID Structure


● 목적

1. throughput 향상

  -> striping: 하나의 file을 여러 disk에 나눠서 저장

  1) bit-level striping    : 한 번 R/W 할 때 모든 디스크 동시 사용. 동기화 필요

  2) block-level striping : 특정 disk에서만 R/W 될 수 있음

 

2. fault-tolerance

-> disk 여러 개 사용하면 고장 확률 높아짐

-> MTTF (Mean Time To Failure)

    1 disk    -> 100,000시간

    100 disk -> 100,000시간 / 100 = 1,000시간 ≒ 41일

 

-> MTTR (Mean Time To Repair)

    (MTTF)² / 2 * MTTR = (100,000)² / 2 * 10 ≒ 57,000년

 

해결책

  1) mirroring : disk 복제, storage 용량 2배 필요

  2) parity      : parity block 사용 (XOR)

 

    A    B    C    (A⊕B⊕C) 

    A,B,C 중 하나 날라가도 복구 가능

    -> A ⊕ B ⊕ (A⊕B⊕C)

    -> A ⊕ C ⊕ (A⊕B⊕C)

    -> B ⊕ C ⊕ (A⊕B⊕C)

 

● 추가 개념

1. Hot spare  : 디스크 고장났을 때 대체

2. Rebuilding : 고장난 데이터를 복구하는 과정

 

● RAID (Redundant Array of Inexpensive (Independent) Disks)

1. RAID 0

-> non-redundant striping

-> 복구 불가

 

2. RAID 1

-> mirrored disks

-> storage 2배

 

3. RAID 3

-> bit-interleaved parity

-> parity + bit striping

 

4. RAID 4

-> block-interleaved parity

-> parity + block striping

-> 디스크 고장 안나면 낭비

 

5. RAID 5

-> block-interleaved distributed parity

-> parity 분산 + block striping

 

6. RAID 6

-> P+Q redundancy

-> 2개 동시에 고장나도 복구 가능

 

 

반응형

'CS 공부 > 운영체제' 카테고리의 다른 글

Chapter 13 ~ 15. File Systems  (0) 2021.09.24
Chapter 10. Virtual Memory Management  (0) 2021.09.24
Chapter 9. Memory Management Strategies  (0) 2021.09.23
Chapter 8. Deadlocks  (0) 2021.09.23
Chapter 6, 7 Process Synchronization  (0) 2021.09.23

+ Recent posts