[4일차]2025 정보처리산업기사 운영체제 – 파일 할당 방식 (연속, 연결, 인덱스, FAT 구조)


2025 정보처리산업기사, 운영체제의 파일 시스템은 사용자가 저장하는 데이터를 물리적 디스크 구조에 맞게 배치하고 관리한다. 하드디스크나 SSD는 실제로는 섹터(Sector)와 블록(Block) 단위로 구성되어 있으며, 파일이 저장될 때 운영체제는 이를 여러 블록으로 나누어 기록한다.

이때 각 파일을 디스크에 어떻게 저장하고 추적할 것인가를 결정하는 방식이 바로 파일 할당 기법(File Allocation Method) 이다. 파일 할당은 디스크 접근 효율, 공간 활용률, 단편화 발생 정도에 직접적인 영향을 미치며, 운영체제 성능을 결정하는 핵심 설계 요소 중 하나이다.

대표적인 방식으로는 연속 할당(Contiguous), 연결 할당(Linked), 인덱스 할당(Indexed) 이 있으며, 이 세 가지를 기반으로 발전한 구조가 FAT(File Allocation Table) 이다.


1. 연속 할당 (Contiguous Allocation)

개념

연속 할당은 파일을 디스크 상의 연속된 블록(Contiguous Blocks) 에 저장하는 가장 단순한 방식이다.

파일의 시작 블록과 크기만 알고 있으면, 나머지 데이터는 순차적으로 접근할 수 있어 입출력 속도가 매우 빠르다.

주소 계산 또한 단순하며, 디스크 헤드 이동이 최소화된다.

항목설명
저장 방식파일 전체를 연속된 블록에 저장
주소 계산식물리주소 = 시작 블록 + (i × 블록 크기)
장점순차 및 직접 접근 모두 빠름, 구현 단순
단점외부 단편화 발생, 크기 변경 시 재배치 필요
활용 예시초기 파일 시스템, CD-ROM, 영상/음악 파일 저장

연속 할당은 고정된 블록 크기만큼 연속 공간을 확보해야 하므로, 파일 크기가 커질 때마다 외부 단편화(External Fragmentation) 가 발생한다.

즉, 전체 여유공간이 충분하더라도 중간에 빈 공간이 나누어져 있으면 파일을 저장할 수 없는 문제가 생긴다.

운영체제는 이를 해결하기 위해 압축(Compaction) 또는 재배치(Relocation)을 수행하지만, 이 과정은 시스템 오버헤드를 증가시킨다.


2. 연결 할당 (Linked Allocation)

개념

연결 할당은 파일을 여러 블록으로 나누어 저장하고, 각 블록이 다음 블록의 주소를 포인터로 저장하는 방식이다. 따라서 파일이 디스크 상의 여러 위치에 흩어져 있더라도, 포인터를 통해 순차적으로 연결되어 하나의 논리적 파일로 인식된다.

항목설명
저장 구조각 블록이 다음 블록 주소를 포인터로 연결
장점외부 단편화 없음, 파일 크기 변경 용이
단점직접 접근 불가능, 포인터 저장 공간 낭비
활용 예시FAT 초기 구조, 테이프 기반 파일 관리 시스템

예를 들어, 블록 번호가 3 → 8 → 15 → 22 순서로 연결되어 있다면, 파일의 실제 데이터는 디스크 곳곳에 흩어져 있지만 운영체제는 3번 블록부터 차례대로 포인터를 따라가며 데이터를 읽는다.

단, 포인터 하나라도 손상되면 이후 블록의 접근이 불가능하다는 치명적인 단점이 있다. 이러한 구조는 순차 접근(Sequential Access) 에는 효율적이지만, 임의 접근(Random Access)에는 부적합하다.


3. 인덱스 할당 (Indexed Allocation)

개념

인덱스 할당은 파일의 각 데이터 블록을 직접 연결하지 않고, 하나의 인덱스 블록(Index Block) 에 모든 블록 주소를 저장하는 방식이다. 즉, 파일이 여러 블록으로 흩어져 있어도 인덱스 블록 하나로 전체 구조를 파악할 수 있다.

항목설명
구조하나의 인덱스 블록이 모든 데이터 블록 주소를 저장
장점외부 단편화 없음, 직접 접근 가능
단점인덱스 블록이 클 경우 오버헤드, 작은 파일엔 비효율
활용 예시UNIX의 i-node, NTFS의 MFT (Master File Table)

예를 들어, 인덱스 블록이 {10, 14, 19, 25}를 저장하고 있다면 운영체제는 이 테이블을 참조해 곧바로 해당 블록으로 접근할 수 있다.

이 방식은 블록 손상에 강하고, 포인터를 하나만 관리하면 되므로 안정성이 높다. UNIX 계열 시스템에서 사용되는 i-node 구조체가 대표적인 인덱스 할당 방식이다.


4. FAT 구조 (File Allocation Table)

개념

FAT는 연결 할당의 확장형으로, 포인터를 디스크 블록 내부가 아닌

디스크의 첫 부분에 있는 중앙 테이블(FAT Table) 에 저장한다.

각 블록 번호에 대해 다음 블록의 주소를 기록하고,

파일이 끝나는 블록은 -1(EoF)을 저장한다.

항목설명
저장 구조FAT 테이블에 각 블록의 다음 블록 번호 저장
장점연결 구조보다 탐색 속도 향상, 외부 단편화 없음
단점FAT 크기 증가, 테이블 손상 시 전체 파일 손실
대표 시스템MS-DOS, Windows FAT12/16/32, exFAT

예시:

블록 번호FAT 엔트리(다음 블록)
57
710
1015
15-1 (EoF)

→ 이 파일은 5 → 7 → 10 → 15 순서로 저장된다.

운영체제는 FAT 테이블을 순차적으로 참조하여 전체 파일을 복원한다.

하지만 FAT의 크기는 디스크 용량에 비례하기 때문에,

대용량 디스크에서는 FAT 자체가 수십 MB에 달할 수 있다.

이 문제를 해결하기 위해 등장한 것이 exFAT(Extended FAT) 구조이다.


5. 세 방식의 비교 요약

구분연속 할당연결 할당인덱스 할당FAT
저장 형태연속 블록포인터로 연결인덱스 블록 참조테이블 기반 포인터
단편화 문제외부 단편화없음없음없음
직접 접근가능불가가능제한적 가능
파일 크기 변경어렵다용이용이용이
오버헤드없음포인터 저장 필요인덱스 블록 필요테이블 필요
대표 파일시스템초기 OSFAT 초기형UNIX inodeFAT32, exFAT

6. 실제 파일 시스템에서의 응용

  • FAT32: 가벼운 연결형 구조로, 이동식 저장장치(USB, SD카드)에 주로 사용
  • NTFS: 인덱스 기반 MFT(Master File Table) 구조를 통해 빠른 검색 지원
  • EXT4 (Linux): 다단계 인덱스 구조(Indirect, Double, Triple)로 대용량 파일 관리
  • APFS, HFS+ (Mac): B-Tree 인덱스 기반으로 고속 탐색과 파일 복구 기능 제공

이처럼 현대 파일 시스템은 위의 기본 세 가지 구조를 혼합하여

안정성과 속도를 모두 확보하는 방향으로 발전하고 있다.


결론

파일 할당 기법은 단순히 “파일을 저장하는 방식”이 아니라,

운영체제가 디스크 자원을 얼마나 효율적으로 사용할 수 있는지를 결정하는 핵심 기술이다.

연속 할당은 빠르지만 단편화 문제를,

연결 할당은 유연하지만 포인터 오버헤드를,

인덱스 할당은 효율적이지만 인덱스 블록의 한계를 가진다.

이들의 장점을 결합한 FAT 구조는

현재까지도 다양한 운영체제에서 실용적으로 사용되고 있다.

시험에서는 다음 항목을 중심으로 출제된다.

  • “연속, 연결, 인덱스 구조 비교”
  • “FAT 테이블을 보고 블록 순서 구하기”
  • “외부 단편화 발생 위치와 원인 설명”

다음 학습 – 파일 접근과 보호

다음 학습에서는 파일을 읽고 쓰는 접근 방법(Sequential, Direct) 과 시스템 보안을 위한 접근 제어 및 파일 보호 기법을 다룬다.

정보처리산업기사 관련링크 모음

  • 큐넷(Q-Net) 정보처리산업기사 안내
    -> 바로가기
  • 큐넷 원서접수 페이지 (정보처리산업기사 실기)
    -> 바로가기
  • 한국산업인력공단 공식 홈페이지
    ->바로가기
  • 이기적 2025 정보처리산업기사 실기 교재 공식몰 (영진닷컴)
    -> 바로가기
  • HRD-Net (직업훈련포털)
    -> 바로가기

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”