Learning
토픽 56 / 85·파일 시스템, I/O, 시스템 구조

파일 시스템 (File System)

파일 시스템 (File System)

저장 장치(디스크, SSD)에 파일과 디렉토리를 조직·저장·관리하고 접근하는 운영체제의 서브시스템으로, 데이터의 영속성과 효율적 검색을 제공

목적: 데이터 영속성, 계층 구조, 빠른 접근, 보호·공유, 효율적 공간 관리

특징: 계층 구조, 파일·디렉토리, 메타데이터, 블록 단위, 접근 제어

구성요소: ① 파일(File) ② 디렉토리(Directory) ③ 메타데이터(i-node) ④ 블록(Block) ⑤ 슈퍼블록(Superblock)

파일: 데이터 집합, 이름·확장자·크기·권한·타임스탬프, 순차/직접/인덱스 접근

디렉토리: 파일·하위 디렉토리 포함, 트리 구조, 절대/상대 경로

메타데이터(i-node): 파일 정보(크기, 권한, 소유자, 타임스탬프, 블록 포인터), 파일 내용 제외

블록 할당 방법

  • 연속 할당(Contiguous): 연속 블록, 빠른 접근, 외부 단편화, 파일 크기 변경 어려움
  • 연결 할당(Linked): 각 블록이 다음 블록 포인터, 순차 접근만, 랜덤 느림, FAT
  • 인덱스 할당(Indexed): 인덱스 블록에 모든 블록 포인터, 직접 접근, Unix i-node

디스크 공간 관리: Free List(빈 블록 목록), Bitmap(각 블록 사용 여부), 단편화 방지

파일 시스템 유형: ext4(Linux), NTFS(Windows), APFS(macOS), FAT32, exFAT, XFS, Btrfs, ZFS

장점: 계층 구조, 영속성, 보호·공유, 효율적 관리

단점: 단편화, 디스크 I/O 오버헤드, 복잡성

적용사례: 모든 OS, 데이터베이스 스토리지, 클라우드 스토리지

비교: ext4(저널링/안정/Linux) vs NTFS(ACL/보안/Windows) vs ZFS(CoW/무결성/NAS) vs Btrfs(스냅샷/유연)

연관: i-node, 디렉토리, 블록 할당, 파일 접근, ext4/NTFS