본문 바로가기
OS/쉽게 배우는 운영체제

저장장치 관리 (2)

by re-hwi 2022. 4. 10.

이번 단원에서는 여러개의 하드디스크를 하나로 사용하는 RAID 기법에 대해 배웠다.

 

이 전 글에서 여러 하드디스크를 하나의 파티션으로 모아논 것을 마운트라고 소개했었는데 RAID는 여러개의 하드디스크에 데이터를 각각 저장하여 데이터 복원, 혹은 속도 향상등의 작업을 하기 위해 사용한다.

 

또한 하드디스크가 데이터를 불러오는 과정중에 '탐색시간'은 헤드가 직접 움직여야 하기 때문에 가장 많은 시간이 소요된다.

 

그 탐색시간을 최대한으로 줄이기 위해 여러 기법을 사용하는데 그 기법에 대해 소개하겠다.


3. 디스크 스케줄링 

 

1. FCFS 디스크 스케줄링 

: 가장 단순한 스케줄링. FIFO 와 같이 가장 먼저 들어온 트랙 순서대로 서비스한다. 가장 단순한 대신 가장 효율이 낮은 기법이기도 하다.

2. SSTF 디스크 스케줄링

: 현재 헤드가 있는 위치를 기준으로 가장 가까운 트랙부터 서비스한다. 가장 효율성이 좋지만 아사현상을 일으킬 수 있다.

3. 블록 SSTF 디스크 스케줄링

: SSTF의 아사현상을 해결하기 위한 방법으로 스케줄링에 에이징 기법을 적용한 것이다. 공평성을 보장하지만 그만큼 효율성은 떨어진다.

4. SCAN 디스크 스케줄링

: 어느 한 쪽 방향으로 움직이기 시작하면 그 방향으로 끝까지 이동한 후 다른 방향으로 이동한다. 하지만 동일한 트랙에서 요청이 연속적으로 발생하면 트랙이 움직이지 못해 아사현상이 일어난다.

5. C-SCAN 디스크 스케줄링

: SCAN 알고리즘에서 한쪽으로만 움직이면 양 끝이 한번 선택받는동안 가운데는 두번 선택을 받기 때문에 상대적으로 불이익을 받는다는 이유때문에 한쪽 방향으로 이동하면 가운데는 이동하지만 서비스는 하지 않는다. 

 

불필요한 행동을 함으로써 개인적인 생각으로는 가장 좋지 않은 스케줄링이라고 생각한다.

6. LOOK 디스크 스케줄링

: SCAN 스케줄링에서 불필요한 부분을 제거한 스케줄링이다. SCAN 스케줄링은 요청이 없어도 맨 마지막 트랙까지 이동하지만 LOOK 스케줄링은 요청이 있는 가장 마지막 트랙까지 이동한다. 

7. C-LOOK 디스크 스케줄링

: 이것도 C-SCAN 디스크 스케줄링과 마찬가지로 중간을 작업없이 이동하는 스케줄링이다. 따라서 매우 비효율적이다.

8. SLTF 디스크 스케줄링

: 기존 방식은 헤드가 트랙의 위치를 맞추어 이동하지만 이 방식은 트랙이 헤드의 위치에 맞추어 이동한다. 그래서 매우 빠르게 데이터를 읽을 수 있고 헤드가 한 번에 그 줄에 있는 모든 트랙을 읽을 수 있다. 

 

하지만 매우 고가이기 때문에 잘 사용되지 않는다.

4. RAID 

 

RAID의 개요 

: 하드디스크의 가격이 낮아짐에 따라 여러 하드디스크를 한 번에 사용하기에 부담이 적어졌다. 그래서 RAID 에서는 여러 디스크에 데이터를 동시에 저장하여 데이터 복구, 전송 속도를 향상할 수 있다.

 

1. RAID 0 (스트라이핑)

: 하나의 하드디스크에서 안녕이라는 문자를 가져오려면 1. 안 →2. 녕 이 순서로 가져오지만 2개의 디스크에 '안'과 '녕'을 저장한다면 한번에 두 디스크에서 안녕이라는 글자를 바로 가져올 수 있다. 

 

이러한 속도의 향상을 위한 기법을 RAID 0 (스트라이핑) 이라고 부른다. 하지만 RAID 0 은 데이터를 복구하는 기능이 없어 데이터를 잃을 수 있다.

2. RAID 1 (미러링)

: RAID 0 이 속도를 향상하기 위한 방법이라면 RAID 1은 데이터를 복구하는 것에 초점을 맞추는 기법이다.

 

하나의 하드디스크에 있는 모든 데이터를 다른 디스크에 저장하고 어느 부분이 오류가 생기든 바로 복구 가능하다는 장점이 있지만 낭비되는 공간이 많고 같은 내용을 두번 저장하기 때문에 속도가 느려질 수 있다.

3. RAID 2

: 오류를 검출하기 위해 오류 교정코드를 만들고 오류가 발생하면 이 코드를 이용하여 오류를 해결한다. 하지만 오류를 검출하는데에 많은 비용이 들어가기 때문에 잘 사용되지 않는다.

 4. RAID 3

: 오류를 패리티 비트를 사용하여 검출하고 해결한다. 데이터를 나누는 방식은 섹터 단위로 나누어 저장한다.

 

패리티비트의 작동 방식은 한 줄의 수를 짝수와 홀수로 구분하여 0과 1로 나타낸다. 그래서 하나의 디스크가 고장나도 짝수인지 홀수인지 알 수 있다. 

 

5. RAID 4

: RAID 3과 같이 데이터를 저장하지만 저장하는 크기가 블록으로 나눈다.

 

패리티 비트를 사용하고 RAID 3은 데이터를 읽거나 쓸 때 패리티 비트를 구성하기 위해 모든 디스크가 동시에 동작해야하는 단점이 있지만 RAID 4는 데이터를 사용할 때 하나의 디스크만 동작하면 되기 때문에 단점을 보완할 수 있다. 

 

6. RAID 5

: RIAD 4의 단점인 병목현상을 해결하기 위해 나온 방법이다. RAID 4에서는 패리티가 담긴 (5번 디스크) 디스크가 고장나면 오류를 검출할 수 없지만

 

RAID 5는 패리티를 여러 디스크에 나누기 때문에 어떤 디스크가 고장나도 복구가 가능하다.

 

7. RAID 6 

: RAID 5와 같은 방식이지만 패리티 비트가 2개이다. 그래서 디스크가 동시에 2개가 고장나도 복구가 가능하다.

 

8. RAID 10

: RAID 0과 1을 합친 형태이다. 속도와 어떠한 데이터든 복구가능하다는 점에서 완벽하지만 최소 4개 이상의 디스크가 있어야 한다.

 

9. RAID 50/ 60

: RAID 5와 6에 RAID 0인 스트라이핑을 합친 기법이다. 이 기법도 RAID 1,5,6의 장단점과 똑같다. 

 

5. 하드웨어 규격과 발전

 

  • CPU 포트 : CPU를 꽂는 포트
  • 램 포트 : 램을 수직으로 꽂는 포트
  • 그래픽 포트 : 주변장치인 그래픽 카드가 다른 주변장치에 비해 속도가 매우 빠르기 때문에 CPU에 직접 연결한다. 
  • SATA : 하드디스크를 꽂는 직렬 ATA 포트 
  • PCI : 그 외의 주변장치를 연결하는 포트

- 그래픽카드는 여러가지 일을 해야하는 CPU와 달리 계산만 해야하는 장치이기 때문에 계산의 능력이 CPU보다 월등히 높다. 

반응형

'OS > 쉽게 배우는 운영체제' 카테고리의 다른 글

파일 시스템 (2)  (0) 2022.04.16
파일 시스템 (1)  (0) 2022.04.12
저장장치 관리 (1)  (0) 2022.04.04
가상 메모리 관리 (2)  (0) 2022.04.03
가상 메모리 관리 (1)  (0) 2022.03.23

댓글