
💡 1분 핵심 요약 (TL;DR)
- ✅ 입출력 시스템 — 물리적 입출력장치 + 입출력 모듈. 느린 장치와 빠른 CPU 속도를 맞추기 위해 버스 구조가 폴링 → 제어기 → 버스 분리로 발전
- ✅ 하드디스크 구조 — 플래터·섹터·블록·트랙·실린더·헤드로 구성. CD와 달리 각속도 일정 방식으로 회전
- ✅ 디스크 스케줄링 — 트랙 이동을 최소화하는 기법. FCFS·SSTF·SCAN·C-SCAN·LOOK·SLTF
01 입출력 시스템과 버스의 구조
느린 장치와 빠른 CPU의 속도를 맞추는 방법
📖 입출력 시스템이란
모니터나 프린터 같은 하드웨어 물리적 장치뿐만 아니라 입출력 모듈까지 포함하는 개념입니다. 물리적 입출력장치가 실제로 입출력을 수행하고, 입출력 모듈은 메모리·프로세서·레지스터 같은 내부 저장장치와 물리적 입출력장치 사이의 이진 정보를 전송합니다.
| 역할 | 설명 |
| 입출력 채널 (입출력 프로세서) |
프로세서를 대신해 입출력과 관련된 복잡한 일을 처리하는 입출력 모듈 |
| 입출력 제어기 (장치 제어기) |
단순히 프로세서의 입출력 관련 일만 담당하는 입출력 모듈 |
장치마다 다른 속도와 채널
프로세스와 입출력장치는 속도가 다르므로 이를 맞추는 과정이 필요합니다. 키보드는 아무리 빨리 타이핑해도 1초에 1KB를 넘지 않는 저속 주변장치이고, 그래픽카드처럼 모니터에 초당 수십 장의 그래픽을 보여줘야 하는 장치는 고속 주변장치입니다. 버스를 1개만 쓰면 병목 현상이 발생하므로 여러 버스를 묶어 사용하는데, 이때 데이터가 지나다니는 통로 하나를 채널이라고 합니다.
✓ 채널을 도로로 비유하면
채널은 도로의 차선과 같습니다. 4채널 버스는 4개의 주변장치가 동시에 데이터를 주고받을 수 있는 4차선 도로와 같은 셈입니다.
입출력 버스 구조의 발전 3단계
| ① 초기 구조 모든 장치가 버스 1개 공유, 폴링(Polling) 방식 |
→ | ② 입출력 제어기 구조 메인버스(고속) / 입출력버스(저속) 분리, 제어기가 담당 |
→ | ③ 버스 분리 고속·저속 입출력버스 분리 + 채널 선택기, 그래픽카드는 별도 버스로 직결 |

⚠️ 폴링(Polling) 방식의 한계
초기 구조에서는 CPU가 작업 중 입출력 명령을 만나면 직접 입출력장치에서 데이터를 가져왔는데, 이 방식이 폴링입니다. 폴링 방식에서는 CPU가 입출력이 끝날 때까지 다른 작업을 할 수 없다는 한계가 있어, 이후 입출력 제어기를 사용하는 구조로 발전했습니다.
✓ 폴링의 대안 — 인터럽트(Interrupt)
입출력 관리를 제어기에게 맡기고 CPU는 그동안 다른 작업을 처리합니다. 입출력이 완료되면 제어기가 CPU에게 인터럽트(완료 신호)를 보내고, 그제서야 CPU가 결과를 처리합니다. 폴링과 달리 CPU가 입출력을 기다리며 멈춰 있지 않아도 됩니다.
📖 진짜 병목을 없애는 DMA(Direct Memory Access)
인터럽트 방식이라도 입출력장치와 메모리 사이의 실제 데이터 이동은 여전히 CPU가 담당해야 하는 병목이 남아 있습니다. DMA는 입출력 제어기가 CPU의 개입 없이 메모리에 직접 접근해 데이터를 전송하는 기법으로, 이 병목을 해소한 핵심 기술입니다. 입출력 제어 방식은 결국 폴링 → 인터럽트 → DMA → 채널 순으로 발전해 왔다고 볼 수 있습니다.
고속 주변장치가 저속 주변장치와 입출력 버스를 공유하면 속도가 현저히 떨어지므로, 고속 입출력 버스와 저속 입출력 버스를 분리해 운영합니다. 두 버스 사이의 데이터 전송은 채널 선택기가 관리하며, 그래픽카드처럼 입출력 버스로도 감당하기 어려운 장치는 별도의 그래픽 버스를 통해 메인버스에 바로 연결합니다. 이때 그래픽카드가 꽂히는 전용 포트가 AGP(Accelerated Graphics Port)입니다.
02 하드디스크의 구조
플래터부터 헤드까지, 데이터가 저장되는 원리
하드디스크는 1956년 처음 개발될 당시 교탁만 한 거대한 크기에 용량은 5MB 정도였습니다. 지금은 크기가 작아지고 용량은 훨씬 커졌으며, 같은 용량의 메모리보다 훨씬 싸고 데이터를 반영구적으로 저장할 수 있어 제2저장장치라고도 불립니다.
| 구성 요소 | 설명 |
| 플래터 | 표면에 자성체가 발려 있어 자기로 0과 1을 저장 (N극=0, S극=1). 보통 2장 이상이 일정한 속도로 회전하며, 위아래 표면을 모두 사용 |
| 섹터 / 블록 | 섹터는 물리적인 가장 작은 저장 단위. 블록은 여러 섹터로 구성된 논리적인 최소 전송 단위 (윈도우에서는 클러스터라고 표현) |
| 트랙 / 실린더 | 트랙은 한 플래터에서 회전축을 중심으로 데이터가 기록되는 동심원(섹터의 집합). 실린더는 여러 플래터에 있는 같은 트랙의 집합 |
| 헤드 | 데이터를 읽거나 쓰는 읽기/쓰기 헤드. 수는 플래터의 표면 수와 같으며, 플래터 회전 시 발생하는 바람에 의해 표면에서 살짝 떠서 작동 |

CD는 어떻게 다를까
CD도 원반을 사용하는 저장장치로, 하드디스크처럼 트랙과 섹터로 구성됩니다. 다만 헤드가 수평으로 움직이며 트랙 사이를 이동해 데이터를 읽습니다. 표면에 미세한 홈이 파여 있어 헤드에서 발사된 레이저가 반사되지 않으면 0, 반사되어 돌아오면 1로 인식하는 방식입니다.
03 하드디스크와 CD의 비교
같은 원반인데 왜 회전 방식이 다를까
| 하드디스크 · 원반 사용 · 성능 단위 : rpm · 플래터가 항상 일정한 속도로 회전 |
CD · 원반 사용 · 성능 단위 : 배속(20배속, 40배속 등) · 헤드 위치에 따라 회전 속도가 변함 |
📖 각속도 일정 — 하드디스크
플래터가 항상 일정한 속도로 회전하므로, 일정 시간 동안 이동한 각도가 동일합니다. 그 결과 바깥쪽 트랙이 안쪽 트랙보다 속도가 훨씬 빠르고, 가장 바깥쪽 섹터가 가장 안쪽 섹터보다 크게 만들어집니다.
📖 선속도 일정 — CD
어느 트랙에서나 단위 시간당 이동 거리가 동일하도록 만드는 방식입니다. 이를 구현하려면 헤드가 안쪽 트랙에 있을 때는 회전 속도를 빠르게, 바깥쪽 트랙으로 이동했을 때는 느리게 조절해야 합니다.

디스크 장치 관리 — 파티션과 포매팅
| 파티션 · 디스크를 논리적으로 분할하는 작업 · 파티션 하나에 파일 시스템 하나가 탑재 · 여러 디스크를 하나의 파티션으로 통합 가능 |
포매팅 · 저수준(물리적) 포매팅 : 텅 빈 디스크 표면에 물리적인 트랙·섹터를 구획하는 초기화 작업 (보통 공장 출고 시 수행) · 고수준(논리적) 포매팅 : 파티션 내에 파일 시스템을 설치하고 파일 테이블(이름·위치·크기 정보)을 생성 — 윈도우에서 흔히 하는 '포맷' |
04 디스크 스케줄링의 개요와 평가 기준
헤드의 이동 거리를 줄이는 것이 핵심
📖 디스크 스케줄링이란
여러 트랙에 대한 입출력 요청이 들어왔을 때, 트랙의 이동을 최소화해 탐색 시간을 줄이는 것을 목적으로 하는 기법입니다. 디스크 스케줄링 기법들의 성능은 트랙의 총 이동 거리로 비교합니다.
⚠️ 디스크 접근 시간(Access Time)의 3요소
디스크가 데이터를 실제로 처리하는 데 걸리는 총 시간은 탐색 시간(Seek Time) + 회전 지연 시간(Rotational Latency) + 전송 시간(Transfer Time)의 합으로 이루어집니다. 회전 지연 시간은 원하는 섹터가 헤드 아래로 올 때까지 디스크가 도는 시간을 말합니다. 디스크 스케줄링은 이 세 요소 중 가장 오래 걸리는 탐색 시간을 줄이는 데 초점을 맞춥니다.
| 평가 기준 | 설명 |
| 처리량 | 시간당 처리한 서비스 요청 수 |
| 탐색 시간 | 디스크 헤드가 이동하는 시간 |
| 평균 반응 시간 | 요청 후 서비스할 때까지의 대기 시간 |
| 반응(응답) 시간 변화 | 반응 시간의 예측 정도. 요청이 무기한 연기되지 않도록 방지하는지 여부 |
05 디스크 스케줄링 알고리즘 종류
FCFS부터 SLTF까지, 발전 과정으로 이해하기
| 기법 | 핵심 동작 |
| FCFS | 요청이 들어온 트랙 순서대로 서비스 (선입선처리) |
| SSTF | 현재 헤드 위치에서 가장 가까운 트랙부터 서비스 (최소 탐색 시간 우선) |
| SCAN | 헤드가 한 방향으로 끝까지 이동하며 서비스 (엘리베이터 기법) |
| C-SCAN | 한쪽 방향으로 이동할 때만 서비스, 반대 방향은 이동만 (순환 스캔) |
| LOOK | 서비스할 트랙이 없으면 끝까지 가지 않고 중간에서 방향 전환 |
| SLTF | 디스크 회전 방향에 맞춰 섹터 순서를 재정렬 (최소 지연시간 우선) |

❌ SSTF의 함정 — 기아 현상
SSTF는 가장 가까운 트랙부터 서비스해 효율성은 좋지만, 헤드 근처에 요청이 계속 몰리면 멀리 있는 트랙은 영원히 서비스받지 못하는 기아 현상이 발생할 수 있어 실제로는 잘 사용하지 않습니다.
SSTF의 공평성 문제를 완화하기 위해 등장한 것이 SCAN(엘리베이터 기법)입니다. SSTF보다 성능은 조금 떨어지지만 FCFS보다는 우수하고, 공평성도 SSTF보다 덜 위배해 실무에서 많이 사용됩니다. 다만 같은 트랙 요청이 연속되면 헤드가 제자리에 머물러 바깥쪽 트랙이 아사 현상을 겪을 수 있습니다. 이를 보완한 것이 C-SCAN(모든 트랙의 방문 횟수를 동일하게 맞춤)이고, SCAN의 불필요한 끝까지 이동을 없앤 것이 LOOK입니다.
📖 헤드가 고정된 디스크 — SLTF
드럼을 사용하는 일부 하드디스크는 헤드 지지대를 고정하고, 모든 트랙을 읽을 수 있는 여러 헤드를 부착해 탐색 시간이 없는 구조를 만듭니다. SLTF는 이 구조에서 디스크 회전 방향에 맞춰 섹터 순서를 재정렬하는 기법이지만, 장치 자체가 고가라 많이 사용되지는 않습니다.
📌 핵심 정리
· 입출력 시스템 : 물리적 장치 + 입출력 모듈(채널·제어기)
· 입출력 제어 방식의 발전 : 폴링(CPU 대기) → 인터럽트(완료 신호로 CPU 해방) → DMA(CPU 개입 없이 메모리 직접 접근) → 채널
· 버스 구조 발전 : 폴링 → 입출력 제어기 → 버스 분리(+AGP)
· 채널 : 데이터가 지나다니는 통로. 4채널 = 4차선 도로
· 하드디스크 구조 : 플래터(자성) · 섹터(물리 최소단위) · 블록(논리 최소단위) · 트랙 · 실린더 · 헤드
· 각속도 일정(HDD) vs 선속도 일정(CD) : HDD는 일정 속도 회전(rpm), CD는 헤드 위치별로 속도 조절(배속)
· 디스크 장치 관리 : 파티션(논리적 분할) · 저수준 포매팅(물리적 트랙·섹터 구획) · 고수준 포매팅(파일 시스템·파일 테이블 생성)
· 디스크 접근 시간 : 탐색 시간 + 회전 지연 시간 + 전송 시간 — 스케줄링은 이 중 탐색 시간을 줄이는 데 초점
· 디스크 스케줄링 목적 : 트랙 이동 최소화 — 처리량·탐색시간·평균반응시간·반응시간변화로 평가
· 스케줄링 종류 : FCFS(공평하나 비효율) · SSTF(효율적이나 기아현상) · SCAN(엘리베이터, 바깥쪽 아사 가능) · C-SCAN(공평하나 비효율적 이동) · LOOK(SCAN 개선) · SLTF(고정헤드 전용, 고가)
태그 : 입출력시스템이란폴링방식 입출력제어기하드디스크 구조 플래터트랙 실린더 섹터 차이각속도일정 선속도일정파티션 포매팅 차이디스크 스케줄링 종류SSTF 기아현상SCAN LOOK 차이운영체제 저장장치관리
'이전 수업 노트 > 운영체제' 카테고리의 다른 글
| 13. 운영체제 네트워크와 분산 시스템 - 네트워크, 보안 운영체제 (0) | 2026.06.26 |
|---|---|
| 12. 파일시스템 - 파일 분류, 파일 속성, 경로, 디렉터리 구조, 마운트 (0) | 2026.06.25 |
| 10. 가상 메모리 관리 - 요구 페이징, 페이지 부재, 페이지 교체 알고리즘 (0) | 2026.06.23 |
| 9. 가상 메모리 - 페이징/세그먼테이션, 매핑 테이블, 페이지 부재 (0) | 2026.06.22 |
| 8. 메모리 관리 - 메모리 관리정책, 주소, 메모리 오버레이, 스왑, 분할, 배치 방식 (0) | 2026.06.21 |

