이번 문서의 목표: 이 파일을 다 읽으면 LOOK·C-LOOK 알고리즘의 헤드 이동 거리를 SCAN·C-SCAN과 같은 예제로 비교 계산하고, RAID 0·1·5·6·10 각각의 실제 사용 가능 용량과 장애 허용 능력을 디스크 개수·용량으로부터 직접 계산하며, 성능·신뢰성·비용 사이의 트레이드오프를 설명할 수 있다.
이 편에서 새로 다루는 것
FCFS·SSTF·SCAN·C-SCAN 네 알고리즘의 정의와 계산은 독학사 2단계 운영체제 19편에서 헤드 53, 트랙 범위 0–199, 요청 큐 98·183·37·122·14·124·65·67 하나로 이미 전부 계산했다. 이 편은 그 계산을 반복하지 않고 같은 예제에 LOOK·C-LOOK을 추가로 계산해 여섯 알고리즘 전체를 한 표에 놓는다. 그리고 11편에서 다룬 단일 디스크 접근시간 계산을 넘어, 여러 디스크를 묶어 신뢰성과 성능을 동시에 얻는 RAID를 이 사이트의 어느 과목에도 없는 완전히 새로운 주제로 다룬다.
1. LOOK·C-LOOK — SCAN·C-SCAN의 실용적 개선판
쉽게 말하면: SCAN과 C-SCAN은 디스크의 물리적 끝(0번, 199번 트랙)까지 항상 가지만, LOOK과 C-LOOK은 “더 이상 처리할 요청이 없으면” 거기서 바로 방향을 바꾸거나 점프한다.
- LOOK: SCAN처럼 한 방향으로 이동하며 요청을 처리하지만, 디스크 끝까지 가지 않고 그 방향의 마지막 요청까지만 간 뒤 반대로 방향을 바꾼다.
- C-LOOK: C-SCAN처럼 한 방향으로 이동하지만, 끝까지 가지 않고 그 방향의 마지막 요청까지만 간 뒤, 반대쪽에서 가장 작은 요청 위치로 점프하고(트랙 0이 아니다) 같은 방향으로 계속 진행한다.
SCAN·C-SCAN이 디스크 물리적 끝까지 가는 이유는 새 요청이 그 사이에 들어올 가능성을 고려한 이론적 정의이고, LOOK·C-LOOK은 “지금 큐에 있는 요청까지만” 처리하면 된다는 실용적 관점의 개선이다. 그래서 실제 디스크 컨트롤러는 LOOK·C-LOOK 계열을 더 널리 사용한다.
같은 예제로 계산: 헤드 53, 트랙 범위 0–199, 요청 큐 98, 183, 37, 122, 14, 124, 65, 67(큰 번호 방향으로 시작)
LOOK: 53에서 시작해 65, 67, 98, 122, 124를 지나 이 방향의 마지막 요청인 183까지 간 뒤, 방향을 바꿔 37, 14를 처리한다(트랙 199까지 가지 않는다).
183 - 53 = 130: 53에서 이 방향의 마지막 요청 183까지 이동(가는 길에 65, 67, 98, 122, 124 처리)183 - 14 = 169: 183에서 방향을 바꿔 반대쪽 마지막 요청 14까지 이동(오는 길에 37도 처리)
C-LOOK: 53에서 183까지 이동해 처리한 뒤, 199까지 가지 않고 바로 반대쪽 가장 작은 요청인 14로 점프하고, 같은 방향(큰 번호 쪽)으로 계속 이동해 37을 마저 처리한다.
183 - 53 = 130: 53에서 183까지 이동(가는 길에 65, 67, 98, 122, 124 처리)183 - 14 = 169: 183에서 요청이 남아 있는 가장 작은 트랙인 14로 점프37 - 14 = 23: 14에서 같은 방향으로 계속 이동해 37 처리
2. 여섯 알고리즘 종합 비교표
같은 예제(헤드 53, 요청 큐 98·183·37·122·14·124·65·67)를 여섯 알고리즘 모두에 적용한 결과다. FCFS·SSTF·SCAN·C-SCAN 값은 운영체제 19편의 계산 그대로다.
| 알고리즘 | 총 이동 거리 | 디스크 끝(0, 199)까지 가는가 |
|---|---|---|
| FCFS | 640 | 해당 없음(도착 순서대로만 이동) |
| SSTF | 299 | 아니오 |
| SCAN | 331 | 예 |
| C-SCAN | 359 | 예(점프도 끝에서 끝) |
| LOOK | 299 | 아니오(마지막 요청까지만) |
| C-LOOK | 322 | 아니오(점프도 마지막 요청까지만) |
결과 해석: LOOK은 SCAN(331)보다 32칸 짧고, C-LOOK은 C-SCAN(359)보다 37칸 짧다. 두 경우 모두 디스크의 물리적 끝까지 가지 않고 실제 요청이 있는 지점까지만 움직였기 때문에 생기는 차이다. 이 예제에서 LOOK이 SSTF와 같은 299가 나온 것은 이 특정 요청 분포에서만 우연히 일치한 결과이며, 일반적으로 두 값이 같다는 규칙은 아니다.
자주 틀리는 점: LOOK을 SCAN과 같은 알고리즘이라고 착각하지 말 것. 차이는 “요청이 없는 구간까지 굳이 가는가”이며, 이름의 위치(가는 대상이 물리적 끝인지 마지막 요청인지)로 구분해서 기억한다.
3. RAID — 여러 디스크를 하나처럼 묶기
쉽게 말하면: 디스크 하나가 고장 나면 그 안의 데이터를 통째로 잃는다. RAID는 여러 디스크에 데이터를 나누거나 복제해 두어, 디스크 한두 개가 고장 나도 데이터를 지키거나 속도를 높이는 기술이다.
RAID(Redundant Array of Independent Disks, 독립 디스크들의 중복 배열)는 여러 개의 물리 디스크를 묶어 하나의 논리적 저장장치처럼 보이게 하면서, 데이터를 나누어 저장하는 스트라이핑(striping)이나 복제해 저장하는 미러링(mirroring), 오류를 복구할 수 있는 패리티(parity)를 이용해 성능과 신뢰성을 높인다. 이 주제는 독학사 2단계 컴퓨터구조·운영체제 과목 어디에도 없는, 4단계 통합컴퓨터시스템에서 새로 요구되는 영역이다.
RAID 0 — 스트라이핑, 속도만 추구
데이터를 여러 디스크에 조각(스트라이프, stripe)내어 나누어 저장한다. 여러 디스크에 동시에 읽고 쓸 수 있어 속도는 빠르지만, 중복 저장이 전혀 없어 디스크 하나만 고장 나도 전체 데이터를 잃는다.
- : 디스크 개수, : 디스크 한 대의 용량
RAID 1 — 미러링, 신뢰성만 추구
같은 데이터를 두 디스크에 그대로 복제해서 저장한다. 한 디스크가 고장 나도 다른 디스크에 똑같은 데이터가 있으므로 안전하지만, 디스크 용량의 절반만 실제로 사용할 수 있다.
RAID 5 — 분산 패리티, 속도와 신뢰성의 절충
데이터를 여러 디스크에 스트라이핑하면서, 그 데이터로부터 계산한 패리티(parity, 오류 복구용 검사 정보)를 디스크 하나 분량만큼 여러 디스크에 골고루 나누어 저장한다. 디스크 한 대가 고장 나도 나머지 디스크의 데이터와 패리티로 고장난 디스크의 내용을 복구할 수 있다.
- 개 디스크 중 디스크 한 대 분량이 패리티 저장에 쓰이므로 대 분량만 실제 데이터 용량이 된다(패리티가 한 디스크에 몰리지 않고 여러 디스크에 나뉘어 저장되지만, 총량으로 보면 한 대 분량과 같다).
RAID 6 — 이중 패리티, 디스크 두 대까지 허용
RAID 5와 원리는 같지만 패리티를 두 세트 저장해, 디스크 두 대까지 동시에 고장 나도 복구할 수 있다.
RAID 10(1+0) — 미러링 후 스트라이핑
먼저 디스크를 두 대씩 미러링(RAID 1)한 뒤, 그렇게 만든 미러 쌍들을 다시 스트라이핑(RAID 0)한다. RAID 1의 신뢰성과 RAID 0의 속도를 동시에 취하지만, 용량 손해는 RAID 1과 같다.
다섯 방식 비교표
| RAID 레벨 | 최소 디스크 수 | 사용 가능 용량 | 장애 허용 | 쓰기 성능 | 읽기 성능 |
|---|---|---|---|---|---|
| RAID 0 | 2 | 없음(한 대만 고장 나도 전체 손실) | 매우 좋음 | 매우 좋음 | |
| RAID 1 | 2 | 디스크 1대까지 | 보통(두 곳에 써야 함) | 좋음 | |
| RAID 5 | 3 | 디스크 1대까지 | 패리티 계산 부담으로 다소 저하 | 좋음 | |
| RAID 6 | 4 | 디스크 2대까지 | RAID 5보다 더 저하 | 좋음 | |
| RAID 10 | 4 | 각 미러 쌍에서 1대씩까지 | 좋음 | 매우 좋음 |
예제: 1TB 디스크 6대로 구성했을 때
, 인 경우 각 RAID의 사용 가능 용량을 계산한다.
결과 해석: 같은 6대의 디스크로도 목적에 따라 실사용 용량이 3TB에서 6TB까지 크게 달라진다. 속도만이 목표라면 RAID 0(6TB)을, 안정성이 최우선이라면 RAID 1이나 RAID 10(각 3TB)을, 용량과 안정성의 절충을 원한다면 RAID 5(5TB)나 RAID 6(4TB)을 선택하는 식으로, 사용 목적에 따른 트레이드오프 판단이 4단계 통합형 문항이 요구하는 핵심이다.
자주 틀리는 점: RAID 1과 RAID 10의 사용 가능 용량 공식이 똑같다고 해서 두 방식이 같다고 착각하기 쉽다. 용량은 같지만 RAID 10은 미러 쌍을 다시 스트라이핑하므로 RAID 1보다 읽기·쓰기 성능이 더 좋다 — “용량이 같으면 성능도 같다”는 착각을 특히 조심해야 한다. 또한 RAID 5를 “디스크 몇 대가 고장 나도 안전하다”고 과대평가하는 경우가 있는데, RAID 5는 동시에 두 대가 고장 나면 복구할 수 없다 — 이때는 RAID 6이 필요하다.
핵심 정리
- LOOK·C-LOOK은 SCAN·C-SCAN과 원리는 같지만 디스크의 물리적 끝이 아니라 그 방향의 마지막 요청까지만 이동한다는 점에서 실용적으로 더 짧은 이동 거리를 만든다.
- 같은 예제에서 총 이동 거리는 FCFS 640, SSTF 299, SCAN 331, C-SCAN 359, LOOK 299, C-LOOK 322 순으로 나타난다.
- RAID 0은 속도만, RAID 1은 신뢰성만, RAID 5·6은 절충(각각 1대·2대까지 장애 허용), RAID 10은 RAID 1의 안전성에 RAID 0의 속도를 더한 구조다.
- 사용 가능 용량 공식은 RAID 0이 , RAID 1·10이 , RAID 5가 , RAID 6이 다.
- 용량이 같다고 성능·신뢰성까지 같은 것은 아니다(RAID 1과 RAID 10 비교가 대표적).