Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

운영체제 12주차 정리 - 2 본문

2-1/운영체제

운영체제 12주차 정리 - 2

김브래 2023. 5. 21. 02:17

입출력시스템 - 디스크 및 RAID


하드 디스크 구조


기본 구조

- 암이 이동하여 트랙의 선별이 가능
- 원판이 회전하여 섹터의 접근이 가능

기능

원판(플래터)

• 표면에 자성을 입혀 0과 1의 데이터를 저장
- N극 : 0 / S극 : 1


• 보통 2장 이상으로 구성
• 일정한 속도로 회전


섹터

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


• 블록
- 하드디스크와 운영체제 사이 데이터 전송을 위한 단위
- 한 블록은 하드디스크내 여러 개의 섹터로 구성됨

 

• 섹터 vs 블록

- 하드디스크의 저장 단위
- 운영체제의 저장 단위

트랙

• 회전축을 중심으로 데이터가 기록되는 동심원
• 동일한 반경에 있는 섹터들의 집합


헤드

• 하드디스크에서 데이터를 읽거나 쓸 때 사용
• 원판에서 살짝 떨어져 있음
• 충격 등에 의해 생긴 원판의 상처 부분은 심할 경우 배드(bad) 섹터가 됨


CD 구조


기본 구조

- 소형의 빛을 반사할 수 있는 플라스틱의 원반
- 하드디스크처럼 트랙과 섹터로 구성
- 데이터 접근(읽기/쓰기)을 위해 수평으로 움직이는 헤드가 트랙 사이를 움직임

- 표면에 미세한 홈이 파여 있음
- 헤드에서 발사된 레이저가 홈에 의해 반사되는 각도로 값을 판단
• 빛 측반사: 0 / 빛 정반사: 1


디스크 회전 방식


각속도 일정 방식

- Constant Angular Velocity라고 함
- 원판을 일정한 속도로 회전(6500rpm, 7400rpm)
- 등속 회전을 하므로 안쪽과 바깥쪽의 섹터의 넓이가 서로 다름
- 일반적으로 하드디스크에 적용

 

선속도 일정 방식

- Constant Linear Velocity라고 함
- 중심축에서는 회전 속도를 낮추고 바깥영역에서는 회전 속도를 올려, 섹터의 영역을 효율적으로 활용하기 위함
- 순차적인 데이터(음악, 영화 등)의 경우 효율적
- 일반적으로 CD(또는 DVD)에 적용

 

각속도 일정 방식의 섹터

장점
• 일정한 속도로 회전을 위한 단순한 구동
• 저소음(소리가 일정함)


단점
• 모든 트랙의 섹터의 수가 동일
• 바깥쪽으로 갈수록 섹터의 공간이 낭비(밀도가 낮음)


선속도 일정 방식의 섹터

장점
• 한정된 공간에 더 많은 데이터를 담을 수 있음
• 바깥쪽의 섹터 낭비가 상대적으로 없음


단점
• 헤더의 위치에 따라 속도를 달리 해야하므로 모터 제어가 어려움
• 소음발생(소리가 일정하지 않음)


디스크 접근 성능


접근 성능

하드디스크 데이터를 전송(읽기/쓰기)에 소요되는 시간(평균치)으로 측정


디스크 스케줄링


디스크 스케줄링

- 트랙의 이동을 최소화하여 탐색 시간을 줄이는 것이 가장 큰 목적
• 트랙이 이동하는 총 거리가 짧을 수록 성능이 더 좋음


- 섹터의 탐색은 원판의 빠른 회전과 소수의 블록이 다수의 섹터로 구성되므로, 성능에 큰 영향을 주지 않음

 

공통 예


FCFS 디스크 스케줄링 - First Come, First Service Disk Scheduling

- 요청이 들어온 순서대로 트랙을 검색
- 헤드가 이동한 총 거리
• D = 40 + 10 + 40 + 20 = 110

SSTF 디스크 스케줄링 - Shortest Seek Time First Disk Scheduling

- 현재 헤더의 위치를 기준으로 가장 가까운 트랙을 검색
- 헤드가 이동한 총 거리
• D = 30 + 10 + 30 + 20 = 90

SCAN = 엘리베이터 알고리즘

- SSTF의 응답 시간 편차를 극복
- Denning*이 개발
- 기아 문제 해결
- 현재 방향의 마지막 트랙 도달 후, 방향을 바꿈
- 원하는 트랙이 가장 안쪽과 바깥쪽에 근접할 때 유리

 

- 동작 예: 시작 위치: 50
• D = 20 + 20 + 10 + 60 + 10 + 30 = 150

C-SCAN

- SCAN의 안쪽과 바깥쪽의 차별 대우를 없앰
- 스캔 방향을 지정된 한 방향으로만 제한
- 한 방향의 마지막 트랙을 만나면, 암은 디스크 반대쪽으로 돌아서 다시 스캔을 시작

 

- 동작 예: 시작 위치: 50
• D = 20 + 20 + 10 + 100 + 30 + 10 = 190

LOOK & C-LOOK

- SCAN과 C-SCAN에서 요청이 없을 시 끝까지 가는 상항을 제거
- LOOK : SCAN의 변형
- C-LOOK : C-SCAN의 변형

SLTF 디스크 스케줄링 - Shortest Latency Time First Disk Scheduling

헤더를 통해 데이터를 기록할 때, 원판의 회전 방향에 맞추어 재정렬 후 처리


RAID


RAID(Redundant Array of Independent Disk)

- 자동으로 백업을 하고 장애를 극복하기 위한 시스템
- 보통 두 개 이상의 동일한 디스크를 탑재하여 데이터를 중복 저장(백업)

 

- 대표적 종류:
• RAID 0 : 스트라이프(Stripe)
• RAID 1 : 미러링(Mirroring)
• RAID 2 : RAID 0 + ECC(Error Correction)
• RAID 4 : RAID 0 + Parity
• RAID 5 : RAID 4의 개선


RAID 0

- 스트라이프(Stripe)
- 여러 개의 디스크에 데이터를 분할하여 저장(백업기능 없음)
- 디스크의 용량이 부족할 때, 확장하여 마치 하나의 큰 용량의 디스크처럼 사용
- 하나의 디스크에서의 장애 발생은 전체 디스크에 영향을 줌

RAID 1

- 미러링(Mirroring)
- 하나의 데이터를 2개의 디스크에 나누어 저장하여 장애 시 백업 디스크로 활용
- 데이터가 똑같이 여러 디스크에 복사되기 때문에 미러링이라고 부름

- 같은 크기의 디스크를 최소 2개 이상 필요로 하며 짝수 개의 디스크로 구성
- 비용이 증가
- 속도가 느림

RAID 2

- RAID 0의 구조에서 데이터 복구를 위한 별도의 디스크를 구성
- 데이터 복구를 위해 별도의 디스크에는 ECC(Error Correction)를 저장
- 비용이 증가
- ECC처리를 위해 속도가 느려짐
- ECC용 디스크 고장 시, 다른 디스크의 내용 검증 불가

RAID 4

- RAID 0의 구조에서 데이터 검증을 위한 별도의 디스크를 구성
- 데이터 검증를 위해 별도의 디스크에서는 패리티(Parity)비트 정보를 저장
- 패리티 비트용 디스크에 과부하 발생
- 패리티 비트용 디스크 고장 시, 다른 디스크의 내용 검증 불가

RAID 5

- RAID 0의 구조에서 데이터 검증을 부여
- RAID4대비 검증 코드를 분산
- 한 디스크에 몰려있는 과부하를 해결

'2-1 > 운영체제' 카테고리의 다른 글

운영체제 13주차 정리 - 2  (0) 2023.05.27
운영체제 13주차 정리 - 1  (0) 2023.05.26
운영체제 12주차 정리 - 1  (0) 2023.05.21
운영체제 11주차 정리 - 2  (0) 2023.05.12
운영체제 11주차 정리 - 1  (0) 2023.05.12