문서 읽는 데 47분 · 37강 · 4과목 · 프로그래밍 언어 활용

디스크 스케줄링과 UNIX

목차 22
전체 59강 중 37강 · 4과목 · 프로그래밍 언어 활용

디스크 스케줄링은 디스크 요청 큐에서 헤드 이동(탐색 시간)을 최소화하는 순서로 요청을 재정렬하는 기법이다. 4과목 운영체제에서 디스크 스케줄링 총 이동 거리 계산(특히 SCAN)·SSTF 단독 기아·C=Circular 분별, 그리고 UNIX 커널/쉘 자리 분별·i-node 함정은 거의 매 회차 출제되는 빈출이다. 36강 페이지 교체(★FLLON OS★)가 메모리에서 어떤 페이지를 내보낼지였다면, 37강 디스크 스케줄링(★FSSCL★)은 디스크에서 어떤 요청부터 헤드를 움직일지 — 같은 자원 스케줄링 무대가 메모리에서 디스크로 옮겨온 단원이다.

핵심 암기: 접근 시간 3요소 ★탐회전★(탐색>회전>전송) · 디스크 스케줄링 5종 ★FSSCL★(FCFS·SSTF·SCAN·C-SCAN·LOOK) · SSTF 단독 기아 · C=Circular=한 방향 · UNIX 3구성 ★커쉘파★ · 파일시스템 4영역 ★부슈아데★ · i-node에 파일 이름 없음(디렉토리가 관리)


PART A — 디스크 구조와 접근 시간

디스크 구조 4용어 ·디스크 구조·

[정의] 데이터가 디스크의 어디에 어떻게 저장되는지를 나타내는 기본 용어 = 플래터·트랙·섹터·헤드. LP 레코드판 하나면 한 번에 잡힌다 — 판이 돌고(플래터·회전), 바늘(헤드)이 원하는 곡(트랙)으로 이동해 음을 읽는다.

[흐름] 구조 한눈에

텍스트
   ┌─ 트랙(track) : 플래터 위에 새겨진 동심원
   │   ┌─ 섹터(sector) : 트랙을 부채꼴로 쪼갠 최소 저장 단위
      
  ◎ 플래터(platter) : 데이터가 자기로 저장되는 원반
   
   └─ 헤드(head) : 데이터를 읽고 쓰는 바늘
       여러 플래터의 같은 번호 트랙을 수직으로 묶으면 = 실린더(cylinder)

[표] 4용어 + LP판 비유

용어 정의 LP판 비유
플래터(Platter) 데이터가 자기로 저장되는 원반 LP 레코드 판
트랙(Track) 플래터 위 동심원 LP의 동심원 음구
섹터(Sector) 트랙을 부채꼴로 쪼갠 최소 저장 단위 피자 한 조각
헤드(Head) 읽고 쓰는 바늘 턴테이블 바늘

🔑 암기 "트랙=원(동심원) / 섹터=부채꼴 조각(최소 단위) / 여러 플래터의 같은 트랙 묶음=실린더"

⚠️ 함정 "트랙=부채꼴 / 섹터=동심원" ❌(→ 자리 바꿔치기·트랙이 동심원·섹터가 부채꼴 조각) / "섹터가 트랙보다 크다" ❌(→ 섹터는 트랙을 쪼갠 최소 단위).

🎯 빈출 용어 정의 매칭. 간헐 출제지만 접근 시간·스케줄링의 전제 용어.

접근 시간 3요소 — ★탐회전★ ·접근 시간·시험 1순위·

[정의] 디스크에서 데이터 한 번 읽는 시간 = 탐색 + 회전 + 전송. 머리글자를 모으면 ★탐회전★.

텍스트
디스크 1회 접근 시간 = 탐색 시간(최대) + 회전 지연(중간) + 전송 시간(최소)

[표] 3요소 분해

순서 이름 영문 한 줄 정의 비중
탐색 시간 Seek Time 헤드를 원하는 트랙으로 이동 최대 ★
회전 지연 Rotational Latency 원하는 섹터가 헤드 아래로 올 때까지 중간
전송 시간 Transfer Time 실제로 데이터를 읽거나 쓰는 시간 최소(μs)

💡 도서관에서 책 찾기 — 서가까지 걷기(탐색·최대) → 책이 눈에 들어오기(회전) → 꺼내 읽기(전송·최소). 걷는 시간이 가장 길듯, 디스크도 탐색이 최대 비중이라 스케줄링의 목표가 탐색 최소화다.

🔑 암기 "★탐회전★ — 탐색 > 회전 > 전송 / 탐색이 최대 비중 / 스케줄링 목표 = 탐색 최소화"

⚠️ 함정 "회전 지연이 가장 큰 비중" ❌(→ 탐색이 최대) / 보기에 "응답 시간(Response Time)"이 끼어 있으면 그건 CPU 스케줄링 용어 — 디스크 접근 시간 3요소엔 들어가지 않는다(34강).

🎯 빈출 "디스크 접근 시간에 해당하지 않는 것" 부정형으로 응답 시간을 끼워 넣는 함정이 단골. 거의 매 회차.


PART B — 디스크 스케줄링 5종 ★FSSCL★

디스크 스케줄링이란 + ★FSSCL★ 5종 개관 ·스케줄링·

[정의] 디스크 스케줄링 = 디스크 요청 큐에서 헤드 이동(탐색 시간)을 최소화하는 순서로 요청을 재정렬하는 기법. 요청을 들어온 순서대로만 처리하면 헤드가 디스크 위를 멀리 왕복해 전체 소요 시간이 두세 배까지 늘어난다.

[분류] 5종을 한 두음으로 — ★FSSCL★

글자 알고리즘 한 줄 정의 비유 기아
F FCFS 선착순 — 요청 순서 그대로 식당 번호표 X
S SSTF 가장 가까운 요청 우선 엘리베이터 수리 기사 O
S SCAN 한 방향 끝까지 + 끝에서 반대로 일반 엘리베이터 X
C C-SCAN 한 방향만 + 끝에서 처음으로 점프 에스컬레이터 X
L LOOK SCAN과 같으나 요청 있는 곳까지만 "끝까지 안 감" X

[흐름] 이 강의 공통 계산 예제 (5종을 같은 조건으로 비교)

텍스트
요청 큐(들어온 순서) : 98, 183, 37, 122, 14, 124, 65, 67   (총 8개)
현재 헤드 : 53   /   디스크 범위 : 0 ~ 199   /   방향 : 증가(바깥쪽)

트랙 번호로 정렬하면
  헤드 53 아래 :  37, 14
  헤드 53 위   :  65, 67, 98, 122, 124, 183   (증가 방향이라 이쪽부터)

🔑 암기 "★FSSCL★ — 선착순(F) / 가까운 것(S·기아 단독) / 양방향(S) / 한방향(C) / 요청까지만(L). 보기 첫 글자로 1초 분류"

🎯 빈출 ① 총 이동 거리 계산(SCAN 1순위) ② 기아 발생 여부(SSTF 단독) ③ 알고리즘↔특징 짝짓기 오류. 세 유형이 매 회차 1~2문항.

💡 36강 페이지 교체 6종 ★FLLON OS★ ↔ 37강 디스크 스케줄링 5종 ★FSSCL★ — 같은 자원 스케줄링 무대가 메모리에서 디스크로 옮겨온 짝꿍 두음.

F · FCFS — 선착순 ·스케줄링·

[정의] FCFS(First-Come First-Served) = 요청이 들어온 순서 그대로 처리. 재정렬·끼어들기 없음.

텍스트
FCFS 이동 (큐 순서 그대로)
  53  98  183  37  122  14  124  65  67
  45 + 85 + 146 + 85 + 108 + 110 + 59 + 2 = 총 이동 640

[표] 장단점

장점 단점
구현 가장 간단 헤드 이동 거리 큼(요청이 흩어지면 최악)
기아 없음 — 들어온 순서 보장·공평 탐색 시간 최적화 전혀 없음

🔑 암기 "FCFS = 선착순·구현 최간단·절대 기아 X·이동 거리 큼"

⚠️ 함정 "FCFS는 기아(Starvation) 발생" ❌ → 선착순이라 모든 요청이 반드시 순서대로 처리되어 절대 기아 없음. 100% 함정.

🎯 빈출 기아 여부 판별의 기준선. SSTF와 짝지어 "기아 X ↔ O"로 출제.

S · SSTF — 가장 가까운 요청 우선 ·스케줄링·시험 1순위·

[정의] SSTF(Shortest Seek Time First) = 현재 헤드에서 탐색 거리가 가장 짧은(가까운) 요청을 매번 먼저 처리.

텍스트
SSTF 이동 (매 시점 가장 가까운 요청)
  53  65  67  37  14  98  122  124  183
  12 + 2 + 30 + 23 + 84 + 24 + 2 + 59 = 총 이동 236

[표] 시험 1순위 — 기아 발생 여부 5종 비교

알고리즘 기아? 이유
FCFS X 들어온 순서대로 반드시 처리
SSTF O 가까운 것만 우선 — 5종 중 단독 기아
SCAN X 양끝까지 훑음 → 모든 요청 처리 보장
C-SCAN X 한 방향 순환 → 처리 보장
LOOK X SCAN과 같은 순환 구조

💡 인기 많은 치과 — 가까운 환자만 봐주면 멀리서 오신 어르신은 하루 종일 대기실. 새 요청이 계속 들어오면 먼 트랙은 영원히 밀린다 = 기아(Starvation).

🔑 암기 "SSTF = 가까운 것 우선 / 5종 중 단독 기아 / 기아 보이면 SSTF·SSTF 아니면 기아 X (양방향 즉답)"

⚠️ 함정 "SSTF는 회전 지연 최소화" ❌ → 이름이 Shortest Seek(탐색) Time First, 탐색 시간 최소화다(회전 아님·단어 바꿔치기) / "SSTF는 공평하다" ❌ → 불공평·기아 발생.

🎯 빈출 "SSTF 설명으로 틀린 것"에서 ③ 기아 안 함 / ④ 공평을 끼워 넣는다. 매 회차 1순위.

S · SCAN — 양방향(엘리베이터) ·스케줄링·계산 1순위·

[정의] SCAN = 한 방향으로 끝(디스크 경계)까지 이동하며 처리하고, 끝에 닿으면 반대 방향으로 돌아오며 나머지를 처리. 별명 엘리베이터 알고리즘.

텍스트
SCAN 이동 (증가 방향 먼저  끝 199 찍고  반대로)
  위로 끝까지 :  53  65  67  98  122  124  183  199(끝)
  반대 방향   :  199  37  14

  공식 = (끝점 − 시작점) + (끝점 − 반대편 최소값)
       = (199 − 53)     + (199 − 14)
       =   146          +   185        = 총 이동 331

🔑 암기 "SCAN = 양방향·끝까지 / 공식 (끝−시작) + (끝−반대편 최소값) / 정렬·빼기 두 번이면 암산"

⚠️ 함정 "SCAN은 한 방향만 처리" ❌ → 한 방향은 C-SCAN, SCAN은 양방향(끝 찍고 반대로).

🎯 빈출 총 이동 거리 계산의 1순위. 끝(경계)까지 가느냐(SCAN)·마지막 요청까지만 가느냐(LOOK)로 답이 갈린다 — 같은 조건에서 LOOK이면 199까지 안 가고 183에서 턴 → 299로 떨어진다.

C · C-SCAN — 한 방향 + 점프 ·스케줄링·시험 1순위·

[정의] C-SCAN(Circular SCAN) = 한 방향으로 끝까지 처리한 뒤, 서비스 없이 처음(반대 끝)으로 점프같은 방향으로만 다시 처리. SCAN의 "양방향 대기 편차"를 줄여 더 공평하다.

텍스트
C-SCAN 이동 (한 방향만 + 끝에서 처음으로 점프)
  53  65  67  98  122  124  183  199(끝)   이동 146
  199 ──────── 0 (점프·서비스 X)                   이동 199
  0  14  37                                       이동  37
  ────────────────────────────────────────────────────────
  총 이동 = 146 + 199 + 37 = 382

[비교] SCAN ↔ C-SCAN

항목 SCAN C-SCAN
방향 양방향(위↔아래) 한 방향만
끝 도달 후 반대 방향으로 서비스 처음으로 점프 후 같은 방향
대기 편차 작음(공평)

🔑 암기 "★C=Circular=한 방향★ — 끝 도달 후 처음으로 점프, 점프 거리(199)도 합산"

⚠️ 함정 "C-SCAN이 양방향으로 왕복" ❌ → 그건 SCAN 설명. C가 붙으면 Circular = 한 방향만. 매년 짝짓기 1문항.

🎯 빈출 SCAN↔C-SCAN 방향 자리 바꿔치기. C 글자 하나로 즉답.

L · LOOK — 요청까지만 ·스케줄링·

[정의] LOOK = SCAN과 같으나 디스크 끝까지 가지 않고 그 방향의 마지막 요청까지만 가고 턴. "요청이 183까지인데 왜 199까지 가?" — 쓸데없이 끝까지 안 간다. (C-LOOK = C-SCAN의 LOOK판·점프도 마지막 요청 위치 기준.)

텍스트
LOOK 이동 (마지막 요청 183에서 턴 — 199까지 안 감)
  위로 요청까지 :  53  65  67  98  122  124  183(턴!)
  반대 방향     :  183  37  14

  공식 = (마지막 요청 − 시작) + (마지막 요청 − 반대편 최소)
       = (183 − 53)          + (183 − 14)
       =   130               +   169          = 총 이동 299   (SCAN 331 대비 −32)

🔑 암기 "끝까지 → SCAN/C-SCAN / 요청까지만 → LOOK/C-LOOK. 헤드 이동 최소는 SSTF·LOOK이지만, SSTF는 기아라 실무 1순위는 LOOK"

⚠️ 함정 "LOOK은 디스크 끝까지 이동" ❌ → 요청 있는 곳까지만(끝 경계까지 안 감).

🎯 빈출 SCAN과의 분별(끝 경계 도달 여부). 현실 OS 디스크 드라이버가 자주 채택하는 방식.


PART C — 저장장치와 스케줄링의 변화

HDD vs SSD와 저장 계층 ·저장장치·🌟 여기만·

[정의] HDD(플래터+헤드·기계식)는 탐색 시간이 수 ms로 크지만, SSD(플래시 메모리·전자식)는 탐색 시간이 거의 0이다. 그래서 SSD에선 헤드 이동을 줄이는 디스크 스케줄링의 중요성이 상대적으로 떨어진다.

[표] HDD vs SSD

항목 HDD SSD
구조 플래터+헤드(기계식) 플래시 메모리(전자식)
탐색 시간 수 ms(가장 비쌈) 거의 0(즉시)
스케줄링 필요성 매우 중요 상대적으로 덜 중요
내구성 충격 약함 충격 강함 + 쓰기 마모 한도

💡 자주 쓰는 데이터(Hot)는 빠른 SSD/NVMe에, 가끔 쓰는 데이터(Warm)는 HDD+SSD 혼합, 드물게 쓰는 데이터(Cold·백업·아카이브)는 값싼 HDD에 — 계층형 스토리지도 36강 지역성·자원 배치와 같은 발상이다.

🔑 암기 "HDD=탐색 비쌈→스케줄링 중요 / SSD=탐색 거의 0→스케줄링 덜 중요 (디스크가 사라지는 건 아님·HDD 계층 여전히 존재)"

⚠️ 함정 "SSD는 탐색 시간이 HDD보다 길다" ❌ → SSD는 탐색 시간이 거의 0으로 훨씬 짧다.

🎯 빈출 간헐 출제. HDD/SSD 탐색 시간 비교 한 줄만 잡으면 충분.


PART D — UNIX 구조와 파일시스템

UNIX 등장과 6특징 ·UNIX·

[정의] UNIX = 1969년 AT&T 벨연구소에서 켄 톰슨·데니스 리치가 만든 운영체제. C언어로 작성된 최초의 OS로, UNIX를 만들기 위해 C언어도 함께 개발했다.

[표] UNIX 정체성 + 계열

항목 내용
등장 1969년 · AT&T 벨연구소
작성 언어 C언어(UNIX와 동시 개발)
6특징 이식성·소스 공개·멀티유저·멀티태스킹·계층적 파일시스템·파이프 철학
계열 정체
UNIX 정통 System V · BSD · Solaris(공식 인증)
Linux UNIX에 영감받은 오픈소스(UNIX-like)
macOS 공식 UNIX 인증(BSD·Darwin 기반)
Android Linux 커널 기반 → UNIX-like

🔑 암기 "UNIX = 1969·벨연구소·톰슨/리치·C언어로 작성된 최초 OS / 이식성 좋음(C언어라 다른 기종 이식 쉬움)"

⚠️ 함정 "UNIX는 어셈블리로 작성" ❌(→ C언어) / "macOS는 UNIX 계열이 아니다" ❌(→ 공식 UNIX 인증 OS).

🎯 빈출 작성 언어(C)·이식성·계열 매칭. 간헐.

UNIX 3구성 — ★커쉘파★ ·UNIX·

[정의] UNIX는 정확히 3덩어리 = 커널·쉘·파일시스템. 머리글자 ★커쉘파★.

텍스트
  사용자
    │  명령 입력
    
  [ 쉘  Shell ]     ── 명령어 해석기 (사용자커널 다리·여러 개·교체 O)
    │  시스템 호출(system call)
    
  [ 커널 Kernel ]   ── 자원 관리·하드웨어 제어 (하나·상시·교체 X)
    │  직접 제어
    
  [ 하드웨어 ]

[표] ★커쉘파★ 3구성

글자 구성요소 한 줄 정의 비유
커널(Kernel) 하드웨어 제어·자원 관리 CEO + 인프라팀
쉘(Shell) 사용자 명령 해석·전달 비서·창구 직원
파일시스템 데이터 저장·관리 구조 문서 보관 창고

🔑 암기 "★커쉘파★ — 커널(하드웨어)·쉘(명령 해석)·파일시스템(저장). UNIX 3대 구성 끝"

⚠️ 함정 "UNIX 3대 구성에 컴파일러 포함" ❌ → 컴파일러는 사용자 공간 도구이지 OS 구성이 아니다. 3구성은 커쉘파뿐.

🎯 빈출 3구성 매칭·컴파일러 끼워넣기 함정.

커 · 커널 — UNIX의 심장 ·UNIX·시험 1순위·

[정의] 커널(Kernel) = 하드웨어와 직접 소통하는 OS 본체. 시스템에 하나만 존재하고, 부팅 시 가장 먼저 메모리에 올라가 종료까지 상주한다.

[표] 커널 5대 역할 (33~36강 회수)

# 역할 비고
1 프로세스 관리 생성·스케줄링(33~34강)
2 메모리 관리 할당·가상 메모리(35~36강)
3 파일시스템 관리 i-node
4 장치 드라이버 디스크 스케줄링
5 시스템 호출 처리 read·write·fork

💡 커널은 하드웨어를 캡슐화한다 — 일반 프로그램은 하드웨어에 직접 접근하지 못하고, 반드시 커널의 시스템 호출을 거쳐야 한다.

🔑 암기 "커널 = 하나·핵심·상시 상주·하드웨어 직접·교체 불가 / 5대 역할(프로세스·메모리·파일시스템·장치·시스템 호출)"

⚠️ 함정 "커널이 여러 개" ❌(→ 하나) / "커널은 세션만 메모리 상주" ❌(→ 종료까지 상주·세션은 쉘) / "쉘이 하드웨어 직접 통신" ❌(→ 커널만 직접).

🎯 빈출 커널 역할 "옳은 것 고르기"에서 ③ 하드웨어 직접 제어가 정답. 매 회차.

쉘 · 명령어 해석기 ·UNIX·시험 1순위·

[정의] 쉘(Shell) = 사용자가 입력한 명령어를 해석해 커널에 전달하는 명령어 해석기(Command Interpreter). 커널과 정반대 성질 — 여러 개 존재하고, 세션 동안만 실행되며, 자유롭게 교체할 수 있다.

[표] 쉘 종류

특징
sh UNIX 원조 쉘(Bourne Shell)
bash sh 강화판 — 리눅스 기본
csh C언어 문법 기반(BSD)
ksh sh + csh 합침(엔터프라이즈)
zsh 자동완성·플러그인 — macOS 기본

💡 쉘의 핵심 기능은 파이프(|) — 한 명령의 출력을 다른 명령의 입력으로 연결한다. 리다이렉션(>·<)·스크립트도 쉘의 기능이다.

🔑 암기 "쉘 = 여러 개·인터페이스·세션 단위·하드웨어 간접·교체 자유 / 핵심 기능 = 파이프·리다이렉션"

⚠️ 함정 "쉘이 부팅 시 가장 먼저 로드되어 종료까지 상주" ❌ → 그건 커널 설명. 쉘은 세션 단위(로그인~로그아웃) / "쉘은 하나만 존재" ❌(→ 여러 개).

🎯 빈출 "쉘 설명으로 틀린 것"에 커널 성질(부팅 로드·상시 상주·하드웨어 직접)을 끼워 넣는다. 매 회차.

커널 vs 쉘 — 6대 분별 ·UNIX·매 회차 빈출·

[정의] 매 회차 나오는 커널/쉘 비교를 6항목 분별표 한 장으로. 6항목 중 하나만 자리가 정반대면 그게 함정 정답이다.

[표] 커널 vs 쉘 6대 분별

항목 커널
역할 하드웨어 제어·자원 관리 사용자 명령 해석
위치 OS 핵심(코어) 사용자↔커널 인터페이스
하나만 여러 개 선택
메모리 상주 종료까지 상시 세션 동안만
하드웨어 접근 직접 간접(커널 경유)
교체 가능성 불가 자유

🔑 암기 "커널 = 하나·핵심·상시·직접·교체X / 쉘 = 여러개·인터페이스·세션·간접·교체O"

⚠️ 함정 6항목 중 한 줄만 커널↔쉘 자리를 뒤바꿔 출제. "상시 상주"·"부팅 시 먼저"·"하드웨어 직접"이 쉘 자리에 있으면 전부 커널 자리(100% 함정).

🎯 빈출 매년 최소 1문항. 자리 분별만 정확하면 즉답.

파일시스템 4영역 — ★부슈아데★ ·파일시스템·

[정의] UNIX 파일시스템은 정확히 4영역 = 부트 → 슈퍼 → i-node → 데이터. 머리글자 ★부슈아데★이고, 이 순서가 디스크 저장 순서(앞→뒤)와 일치한다.

텍스트
부트  슈퍼  i-node  데이터    (디스크 앞쪽부터 차례대로)

[표] ★부슈아데★ 4영역

글자 영역 저장 내용
부트 블록(Boot Block) 부팅 시 필요한 부트로더 코드(디스크 가장 앞)
슈퍼 블록(Super Block) 파일시스템 전체 관리 정보(전체 크기·빈 블록 수·블록 크기)
i-node 리스트 각 파일의 메타데이터(파일당 1개·파일 이름 제외)
데이터 블록(Data Block) 파일의 실제 내용

🔑 암기 "★부슈아데★ — 부팅 / 전체 정보 / 파일별 메타데이터 / 실제 내용 (디스크 저장 순서)"

⚠️ 함정 "i-node에 파일 데이터(실제 내용)가 들어있다" ❌(→ 메타데이터만·내용은 데이터 블록) / "슈퍼 블록이 개별 파일 권한 정보" ❌(→ 슈퍼는 전체 관리·개별 파일은 i-node).

🎯 빈출 영역↔역할 매칭. "메타데이터+전체"→슈퍼 / "메타데이터+파일별"→i-node 자리 분별.

아 · i-node — 단골 함정 1순위 ·파일시스템·시험 1순위·

[정의] i-node = 각 파일의 메타데이터를 담는 블록(파일당 1개). 크기·소유자·권한·시간·데이터 블록 주소는 들어 있지만 — 파일 이름은 없다. 이름은 디렉토리가 관리한다.

[흐름] 이름은 디렉토리, 메타데이터는 i-node

텍스트
디렉토리(이름  번호 매핑)        i-node(파일별 메타데이터)
  report.txt    12345    ───   i-node 12345 : 크기·UID·권한·시간·링크 수
  photo.jpg     67890    ───                  + 데이터 블록 주소 ── 실제 내용
                                  ※ 파일 이름은 i-node에 없음!

[표] i-node가 담는 것

담음 ⭕ 안 담음 ❌
파일 크기·종류 파일 이름(→ 디렉토리)
소유자 UID/GID·접근 권한 파일의 실제 내용(→ 데이터 블록)
생성·수정·접근 시간·링크 수
데이터 블록 주소

💡 주민등록증(i-node) — 주민번호로 신원 확인은 되지만, 사람을 이름으로 검색할 땐 가족관계등록부(디렉토리)에서 이름→번호로 찾는다.

🔑 암기 "i-node = 파일별 메타데이터(파일당 1개) / 파일 이름은 ★제외★ — 디렉토리가 이름↔i-node 매핑 관리"

⚠️ 함정 "i-node에 파일 이름 포함" ❌(→ 디렉토리) / "파일 하나에 i-node 여러 개" ❌(→ 파일당 1개) / "i-node 번호를 사용자가 지정" ❌(→ OS 자동 부여) / 변형 — "파일 이름을 바꿔도 i-node 번호는 그대로" ✅(정상·이름은 디렉토리에만 있으니까).

🎯 빈출 "메타데이터 저장 구조" 용어 찾기 → i-node. 파일 이름 포함 여부가 단골 함정 1순위.


기출 다지기

[기출 1 출제] 디스크 접근 시간(Disk Access Time)에 해당하지 않는 것은? (부정형)

  • ① 탐색 시간(Seek Time)
  • ② 회전 지연 시간(Rotational Latency)
  • ③ 전송 시간(Transfer Time)
  • ④ 응답 시간(Response Time)
정답 및 해설 보기

정답: ④ 응답 시간(Response Time)

디스크 접근 시간 3요소 = ★탐회전★(탐색+회전+전송). 응답 시간은 CPU 스케줄링의 평가 척도라 디스크와 무관하다.

선지 디스크 접근 시간? 설명
① 탐색 시간 O 헤드를 원하는 트랙으로 이동(최대 비중)
② 회전 지연 O 원하는 섹터가 헤드 아래로
③ 전송 시간 O 실제 데이터 읽기/쓰기
응답 시간 X 정답 — CPU 스케줄링 용어(34강)

🔑 ★탐회전★(탐색+회전+전송)에 응답(Response)이 끼어 있으면 100% 정답. 디스크엔 응답 시간이 없다.

[기출 2 출제] SSTF 디스크 스케줄링에 대한 설명으로 틀린 것은? (부정형)

  • ① 현재 헤드 위치에서 가장 가까운 요청을 먼저 처리한다.
  • ② FCFS에 비해 평균 탐색 시간이 짧다.
  • ③ 모든 요청을 공평하게 처리하여 기아 현상이 발생하지 않는다.
  • ④ 특정 위치에 요청이 집중되면 멀리 있는 요청은 무한 대기할 수 있다.
정답 및 해설 보기

정답: ③ 기아가 발생하지 않는다 (틀림)

SSTF는 가까운 요청만 우선해 멀리 있는 요청이 무한 대기 — 5종 중 단독 기아. ③과 ④는 정반대 진술이라 둘 다 참일 수 없다.

선지 옳음? 설명
① 가까운 요청 우선 O SSTF 정의
② FCFS보다 짧음 O 탐색 거리 감소
기아 X·공평 X 정답 — 기아 O·불공평이 SSTF 최대 약점
④ 무한 대기 가능 O ③의 반대(정상 진술)

🔑 "SSTF=공평/기아 없음"은 100% 함정. 기아 보이면 SSTF·SSTF면 기아.

[기출 3 출제] 다음 조건에서 SCAN 알고리즘으로 처리할 때 총 헤드 이동 거리는? (계산) 요청 큐 : 98, 183, 37, 122, 14, 124, 65, 67 / 현재 헤드 : 53 / 증가 방향 / 디스크 0~199

  • ① 208
  • ② 236
  • ③ 331
  • ④ 380
정답 및 해설 보기

정답: ③ 331

SCAN = 증가 방향으로 끝(199)까지 간 뒤 반대로. 공식 = (끝점−시작점) + (끝점−반대편 최소값).

텍스트
[1] 증가 방향 정렬 : 65, 67, 98, 122, 124, 183
[2] 끝(199)까지   : 53  183  199   이동 = 199−53 = 146
[3] 반대 방향     : 199  37  14         이동 = 199−14 = 185
[총 이동]         : 146 + 185 = 331
선지 판정 함정
① 208 X
② 236 X SSTF 값(같은 큐)을 끼운 distractor
331 O SCAN 정답
④ 380 X

🔑 같은 큐를 LOOK으로 풀면 199까지 안 가고 183에서 턴 → (183−53)+(183−14)=299(보기에 없음). 끝 경계 도달 여부로 SCAN(끝까지)↔LOOK(요청까지)을 가른다.

[기출 4 출제] 디스크 스케줄링 알고리즘과 특징의 짝이 잘못된 것은? (짝짓기 오류형)

  • ① FCFS — 요청이 들어온 순서대로 처리
  • ② SSTF — 현재 헤드에서 가장 가까운 요청 우선
  • ③ C-SCAN — 헤드가 양방향으로 왕복하며 서비스
  • ④ LOOK — SCAN과 유사하나 끝까지 가지 않음
정답 및 해설 보기

정답: ③ C-SCAN — 양방향 왕복 (틀림)

양방향 왕복은 SCAN의 설명. C-SCAN은 C=Circular=한 방향만 — 끝 도달 후 서비스 없이 처음으로 점프한다.

선지 옳음? 설명
① FCFS 선착순 O 정의 그대로
② SSTF 가까운 것 O 정의 그대로
C-SCAN 양방향 X 정답 — SCAN 설명·C-SCAN은 한 방향만
④ LOOK 끝까지 안 감 O SCAN↔LOOK 분별 정상

🔑 C 보이면 → Circular → 한 방향만. 매년 분별 1문항 즉답.

[기출 5 출제] UNIX에서 커널(Kernel)의 역할로 옳은 것은? (옳은 것 고르기)

  • ① 사용자가 입력한 명령어를 해석하여 프로그램을 실행시킨다.
  • ② 파일 이름을 관리하고 디렉토리 구조를 제공한다.
  • ③ 프로세스·메모리·파일시스템 관리 등 하드웨어 자원을 직접 제어한다.
  • ④ 응용 프로그램의 소스 코드를 기계어로 번역한다.
정답 및 해설 보기

정답: ③ 하드웨어 자원을 직접 제어한다

커널 = 하드웨어와 직접 소통하며 프로세스·메모리·파일시스템 등 5대 역할을 총괄.

선지 실제 담당 설명
① 명령 해석→실행 커널 X — 쉘의 역할
② 파일 이름·디렉토리 디렉토리 i-node도 아님(디렉토리가 매핑)
하드웨어 직접 제어 커널 정답 — 5대 역할 총괄
④ 소스→기계어 컴파일러 OS 구성 아님(사용자 공간 도구)

🔑 커널 = 하드웨어와 직접 소통 / 쉘 = 사용자와 직접 소통. 이 한 줄이 ①·③ 자리를 가른다.

[기출 6 출제] UNIX 쉘(Shell)에 대한 설명으로 틀린 것은? (부정형)

  • ① 사용자가 입력한 명령어를 해석하여 커널에 전달한다.
  • ② Bourne Shell, C Shell, Bash 등 여러 종류가 있다.
  • ③ 시스템 부팅 시 가장 먼저 메모리에 로드되어 종료 시까지 상주한다.
  • ④ 파이프, 리다이렉션 등의 기능을 지원한다.
정답 및 해설 보기

정답: ③ 부팅 시 가장 먼저 로드·종료까지 상주 (틀림)

"부팅 시 로드 + 상시 상주"는 커널 자리. 쉘은 세션 단위(로그인~로그아웃)로 실행된다.

선지 옳음? 설명
① 명령 해석→커널 전달 O 쉘의 핵심 역할
② 여러 종류 존재 O sh·bash·csh·ksh·zsh
부팅 로드+상주 X 정답 — 커널 설명·쉘은 세션 단위
④ 파이프·리다이렉션 O 쉘의 강력한 기능

🔑 "상시 메모리 상주"·"부팅 시 가장 먼저"·"하드웨어 직접"이 쉘 자리에 있으면 전부 커널 — 100% 함정.

[기출 7 출제] UNIX 파일시스템에서 파일의 메타데이터(크기, 소유자, 권한, 데이터 블록 주소 등)를 저장하는 구조는? (용어 찾기)

  • ① 슈퍼 블록
  • ② 부트 블록
  • ③ 데이터 블록
  • ④ i-node
정답 및 해설 보기

정답: ④ i-node

i-node = 파일별 메타데이터 블록(단, 파일 이름은 제외 — 디렉토리가 관리).

선지 영역 실제 역할
① 슈퍼 블록 슈퍼 파일시스템 전체 관리(개별 X)
② 부트 블록 부트 부트로더 코드
③ 데이터 블록 데이터 파일의 실제 내용(메타 X)
i-node i-node 정답 — 파일별 메타데이터(이름 제외)

🔑 "메타데이터 + 파일별" → i-node / "메타데이터 + 전체" → 슈퍼 블록. 변형 — "파일 이름 바꿔도 i-node 번호는 그대로" ✅(정상).


한 장 요약

주제 암기·핵심 결정 카드
접근 시간 3요소 ★탐회전★ 탐색(최대)>회전>전송 / "응답"은 34강 CPU 함정
스케줄링 5종 ★FSSCL★ 선착순(F)·가까운것(S)·양방향(S)·한방향(C)·요청까지만(L)
기아 발생 SSTF 단독 나머지 4종 모두 기아 X
C-SCAN C=Circular=한 방향 양방향은 SCAN / C-SCAN은 한 방향+점프
HDD vs SSD 탐색 시간 HDD 큼→스케줄링 중요 / SSD 거의 0→덜 중요
UNIX 3구성 ★커쉘파★ 커널·쉘·파일시스템(컴파일러 X)
커널 vs 쉘 하나·상시·직접·교체X ↔ 여러개·세션·간접·교체O 자리 하나만 뒤집히면 함정 정답
파일시스템 4영역 ★부슈아데★ 부트→슈퍼→i-node→데이터(디스크 저장 순서)
i-node 파일별 메타데이터 파일 이름 제외(디렉토리가 관리)·파일당 1개
5종 종합 (헤드 53, 큐 98·183·37·122·14·124·65·67, 0~199, 증가) 처리 순서 총 이동 기아
F = FCFS 큐 순서 그대로(98→183→…→67) 640 X
S = SSTF 53→65→67→37→14→98→122→124→183 236 O
S = SCAN 53→…→183→199(끝)→37→14 331 X
C = C-SCAN 53→…→183→199(끝)→0(점프)→14→37 382 X
L = LOOK 53→…→183(턴)→37→14 299 X
계산 공식
SCAN (끝점−시작점) + (끝점−반대편 최소값) = (199−53)+(199−14) = 331
LOOK (마지막 요청−시작) + (마지막 요청−반대편 최소) = (183−53)+(183−14) = 299
C-SCAN (끝까지) + (점프 199) + (처음~나머지) = 146+199+37 = 382
함정 5쌍 정답
SSTF는 회전 지연 최소화 탐색 시간(Seek) 최소화
SCAN은 한 방향만 C-SCAN이 한 방향 / SCAN은 양방향
LOOK은 끝까지 이동 요청 있는 곳까지만
FCFS는 기아 발생 선착순이라 기아 X (SSTF만 기아)
i-node에 파일 이름 포함 디렉토리가 이름↔i-node 매핑(i-node엔 이름 없음)

🎯 합격 한 끗: 디스크는 ★FSSCL★ 5종 + SSTF 단독 기아 + C=Circular=한 방향 + SCAN 총 이동 계산 네 축, UNIX는 ★커쉘파★ + 커널/쉘 6대 분별 + ★부슈아데★ + i-node에 파일 이름 없음 네 축이 37강 출제의 거의 전부다. 계산은 SCAN이 1순위 — 끝(경계)까지 가는지(SCAN)·마지막 요청까지만 가는지(LOOK)로 답이 갈리니 공식 두 줄을 손에 익혀두자. 36강 ★FLLON OS★(메모리 페이지 교체)가 37강 ★FSSCL★(디스크 요청 스케줄링)로 이어지며 운영체제(33~37강) 단원이 마무리된다. 다음은 4과목의 또 다른 축인 프로그래밍 언어 활용(컴파일러·인터프리터)으로 넘어간다.

전체 목록 필기 이론

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.