운영체제
[운영체제] UNIX 파일 시스템과 FAT 파일 시스템
2025-07-23 01:43
![[운영체제] UNIX 파일 시스템과 FAT 파일 시스템](/images/posts/post13/image.png)
시작하기
우리가 컴퓨터를 사용할때 파일을 생성하고 저장하는데 이 파일들은 하드디스크나 SSD 같은 저장장치에서 어떻게 관리되고 있을까? 이러한 관리를 담당하는 것이 바로 파일 시스템이다. 파일 시스템은 단순히 데이터를 저장하는 것을 넘어서 효율적인 데이터 관리와 안정적인 OS 시스템 운영의 핵심을 담당하고 있다. 이번 포스팅은 가장 널리 사용되고 있는 UNIX 파일 시스템과 FAT 파일 시스템에 대해 알아보자.
UNIX 파일시스템 구조
-
유닉스 파일 시스템의 중요한 개념 중 하나인 파일시스템 구조에 대해 알아보자
-
리눅스, macOS 등 현대의 강력한 운영체제이다
-
Boot block
- 어떤 파일시스템이건 부트 블록이 제일 앞에 나온다. 일종의 약속이기 때문에 항상 0번 블록을 올린다. 부팅에 필요한 정보를 담고있다 (bootstrap loader)
-
Super block
- 파일시스템의 총체적인 정보를 담고 있다. 어디가 빈 블록이고 어디가 사용중인 블록인지 관리하고 있다.
-
Inode list
- 메타데이터를 별도의 위치에 빼서 보관하고 있는 영역이다. Inode는 index node를 말하고, 파일하나당 index하나씩 가지고 있고 메타데이터를 담고 있다.
- 파일의 소유시간, 위치 정보, 파일 시스템의 크기, 아이노드(Inode) 테이블의 크기, 사용 가능한 블록 및 아이노드 수, 파일 시스템의 상태 등
- 하지만, 파일의 이름은 디렉토리가 직접 가지고 있다
- 파일의 위치는 single indirect, double indirect, triple indirect 블록들에 index를 저장하고 위치를 찾는다
-
Data block
FAT File System
- 가장 단순한 파일시스템 중 하나이다
- FAT: File Allocation Table (파일 할당 테이블)
- 1980년대 초반 MS-DOS에서 사용
- 특히 플로피 디스크와 같은 작은 용량의 저장 장치에서 널리 사용되던 방식
- 연결 리스트(Linked List) 형태의 테이블

-
Boot block
- UNIX 파일시스템과 마찬가지로 0번 블록에 부트 블록이 있다
-
FAT
- 메타데이터 중 일부(예. 위치정보)만 빼놓고 저장한다. 나머지 정보들은 Root directory에 있다.
- 다음 블록이 어디인지를 담고 있다.
-
Root directory
- 파일 시스템의 최상위 디렉토리(루트 디렉토리)에 대한 정보가 저장되는 고정된 크기의 영역
-
Data block
- 실제 파일의 내용이 저장되는 공간
FAT 파일 읽기 흐름 예시
- 예: README.TXT가 디스크에 저장됨
-
- 루트 디렉토리에서 README.TXT를 찾음 → 시작 클러스터 2
-
- FAT[2] → 3 → FAT[3] → 4 → FAT[4] = 0xFFF (끝)
-
- 데이터 영역에서 2, 3, 4번 클러스터 데이터를 차례로 읽음
-
결론
FAT 파일 시스템은 컴퓨터 역사 초기에 중요한 역할을 했지만, 현대의 복잡하고 데이터가 많아진 환경에서 UNIX 파일 시스템이 제공하는 강력한 기능이 필수적이다. UNIX 파일 시스템의 후손으로 ext2, ext3, ext4, XFS, Btrfs 등과 같은 다양한 파일 시스템 종류들이 있고 파일 시스템의 기본 원리와 진화 과정을 이해할 수 있다.