컴퓨터공학

파일 시스템(File System)이란?

nyambu 2025. 3. 8. 09:00

파일 시스템(File System)
파일 시스템(File System)

1. 파일 시스템의 주요 개념

파일 시스템(File System)은 운영체제(OS)가 데이터를 저장하고 관리하는 방식을 의미한다. 운영체제는 하드디스크(HDD), SSD, USB, 메모리 카드 등 다양한 저장 장치(Storage Device)를 효율적으로 활용하기 위해 파일과 디렉터리를 조직화하고 접근하는 체계적인 방법을 제공한다.

 

📌 파일 시스템의 역할
✅ 데이터를 효율적으로 저장하고 검색할 수 있도록 함
✅ 파일과 폴더를 계층 구조로 조직화하여 관리
 파일 이름, 확장자, 크기, 생성 및 수정 날짜, 권한 등 메타데이터를 저장
 데이터 무결성을 유지하고, 손상된 파일을 복구하는 기능 제공
 사용자 및 프로세스 간의 접근 권한을 관리하여 보안성 강화

1-1. 파일(File)과 디렉터리(Directory) 개념

파일(File): 데이터가 저장되는 기본 단위
디렉터리(Directory): 여러 개의 파일을 그룹화하여 저장하는 폴더 역할

 

📌 파일 시스템 구조 예시 (Windows 기준)

C:\
 ├── Program Files\
 │   ├── Microsoft Office\
 │   ├── Adobe\
 │   └── Google\
 ├── Users\
 │   ├── yeji\
 │   │   ├── Documents\
 │   │   ├── Pictures\
 │   │   ├── Downloads\
 │   │   └── Desktop\
 ├── Windows\
 └── System32\
  • 디렉터리(폴더): Program Files, Users, Windows
  • 파일: yeji/Documents/report.docx, yeji/Pictures/photo.jpg

디렉터리 구조트리(Tree) 구조로 되어 있으며, 루트 디렉터리(C:\) 아래에 여러 개의 폴더와 파일이 포함됨.

1-2. 파일 시스템의 주요 속성 (메타데이터)

운영체제는 파일을 관리하기 위해 **파일 관련 정보를 저장하는 메타데이터(Metadata)**를 활용한다.

 

📌 파일 시스템이 관리하는 주요 정보


속성 설명
파일 이름 (File Name) 파일을 식별하는 이름 (예: document.docx)
파일 크기 (File Size) 파일이 차지하는 저장 공간 (예: 10MB)
파일 형식 (File Type) 실행 파일, 텍스트, 이미지 등 (예: .exe, .txt, .jpg)
파일 위치 (File Location) 저장 장치에서 파일이 위치한 주소
생성/수정 날짜 파일이 생성되거나 마지막으로 수정된 날짜
파일 접근 권한 읽기(Read), 쓰기(Write), 실행(Execute) 권한 설정
파일 소유자 (Owner) 해당 파일을 소유한 사용자 계정

✅ 이러한 메타데이터를 바탕으로 운영체제는 파일 접근을 관리하고, 사용자가 원하는 데이터를 빠르게 찾을 수 있도록 함


2. 파일 시스템의 종류와 특징

운영체제는 저장 장치에 적합한 파일 시스템을 선택하여 사용한다. 파일 시스템의 종류에 따라 파일 저장 방식, 성능, 보안성, 지원하는 운영체제 등이 달라진다.

 

📌 운영체제별 파일 시스템 비교


파일 시스템 지원 운영체제 최대 파일 크기 특징
FAT32 Windows, Linux, macOS 4GB USB, SD 카드 등에서 사용됨
exFAT Windows, Linux, macOS 16EB 대용량 파일 저장 가능, 휴대용 장치 최적화
NTFS Windows 16EB 파일 압축, 암호화, 보안 기능 지원
ext4 Linux 16TB 빠른 성능, 안정적인 구조
HFS+ macOS 8EB macOS 전용 파일 시스템
APFS macOS 8EB SSD 최적화, 보안 기능 강화

FAT32

  • 가장 오래된 파일 시스템 중 하나
  • 다양한 OS에서 호환되지만 4GB 이상의 파일을 저장할 수 없음

exFAT

  • FAT32의 단점을 보완한 최신 파일 시스템
  • 대용량 파일(4GB 초과) 저장 가능하며, USB 및 외장하드에서 널리 사용

NTFS (New Technology File System)

  • Windows의 기본 파일 시스템
  • 파일 암호화(EFS), 액세스 권한 설정, 복구 기능 지원
  • 하드디스크 드라이브(HDD) 및 SSD에서 높은 성능 제공

ext4 (Fourth Extended File System)

  • Linux에서 널리 사용되는 파일 시스템
  • 대용량 파일 지원(16TB), 빠른 성능, 저널링(Journaling) 기능 제공

APFS (Apple File System)

  • macOS 및 iOS에서 사용되는 최신 파일 시스템
  • SSD 최적화, 데이터 암호화, 빠른 데이터 복사 기능 제공

📌 어떤 파일 시스템을 선택해야 할까?

  • USB 드라이브exFAT (Windows, Mac, Linux에서 모두 사용 가능)
  • Windows 기본 드라이브NTFS (보안 및 성능 최적화)
  • Linux 서버ext4 (빠르고 안정적이며, 서버 환경에 적합)
  • macOS 전용 드라이브APFS (SSD에 최적화, 성능 향상)

3. 파일 시스템의 핵심 기능

3-1. 저널링(Journaling) 기능

✅ 파일 시스템의 중요한 데이터가 손상되지 않도록 보호하는 기능
✅ 전력 차단, 시스템 충돌 발생 시 데이터 손실 방지

 

📌 지원 파일 시스템

  • NTFS, ext4, APFS → 저널링 지원 (안정성 향상)
  • FAT32, exFAT → 저널링 미지원 (데이터 손상 위험 있음)

3-2. 파일 권한 및 보안 관리

✅ 운영체제는 사용자별 접근 권한을 설정하여 보안성을 강화
✅ Linux에서는 chmod, chown 명령어로 파일 권한을 설정 가능

 

📌 파일 권한 예시 (Linux)

-rwxr-xr--  1 user user  4096  Mar  5  12:00  example.sh
  • rwxr-xr-- → 소유자는 읽기(r), 쓰기(w), 실행(x) 가능
  • 그룹 사용자는 읽기(r), 실행(x) 가능
  • 기타 사용자는 읽기(r)만 가능

NTFS에서는 파일 소유자 및 암호화(EFS) 설정 가능


4. 파일 시스템의 성능 최적화 및 문제 해결 기법

파일 시스템은 장기간 사용하면서 파일 조각화(Fragmentation), 디스크 공간 낭비, 데이터 손상 등의 문제가 발생할 수 있다. 이러한 문제를 해결하고 성능을 최적화하기 위해 운영체제는 다양한 기술을 활용한다.

 

4-1. 파일 조각화(Fragmentation) 문제와 해결 방법

파일 조각화란?

  • 데이터를 연속된 공간에 저장하지 못하고 여러 조각으로 나누어 저장되는 현상
  • HDD(하드디스크)에서 조각화가 심하면 파일을 읽는 속도가 느려지고 성능 저하 발생

📌 조각화 발생 과정 예시
1️⃣ 새로운 파일을 저장할 때 연속된 빈 공간이 없으면 여러 조각으로 나누어 저장
2️⃣ 파일을 수정하거나 삭제할 때 남는 공간이 생기면서 조각화 증가
3️⃣ 조각난 파일을 읽을 때 디스크 헤드가 여러 위치를 이동해야 하므로 속도 저하

 

📌 해결 방법
디스크 조각 모음(Defragmentation)

  • Windows의 디스크 조각 모음 도구를 실행하면 조각난 파일을 다시 정렬하여 성능 최적화
  • SSD에서는 조각 모음을 실행할 필요가 없음 (Trim 기능 사용)

SSD에서는 TRIM(트림) 명령어 활용

  • SSD는 기존 HDD처럼 디스크 헤드가 이동하는 방식이 아니므로 조각 모음이 필요 없음
  • 대신 TRIM 기능을 사용하여 불필요한 데이터를 미리 정리하고 속도를 유지

4-2. 디스크 공간 관리 최적화 (Compression & Deduplication)

파일 압축(Compression) 기능

  • NTFS 파일 시스템에서는 파일 압축 기능을 제공하여 디스크 공간 절약 가능
  • Linux에서는 gzip, bzip2, zip 등의 압축 도구를 사용하여 파일 크기를 줄일 수 있음

중복 제거(Deduplication) 기술

  • 같은 파일이 여러 개 저장될 경우, 중복된 데이터는 제거하고 실제로 하나의 데이터만 저장하는 기법
  • 클라우드 스토리지, 서버 백업 시스템에서 많이 사용됨

📌 실제 사용 사례

  • Windows Server의 데이터 중복 제거(Deduplication) 기능
  • 클라우드 스토리지 서비스(예: Google Drive, OneDrive, Dropbox)의 파일 중복 제거 시스템

4-3. 데이터 무결성 및 복구 기술 (파일 손상 방지 기법)

파일 시스템 저널링(Journaling) 기능

  • NTFS, ext4, APFS 등 최신 파일 시스템은 저널링 기능을 제공하여 데이터 손상을 방지
  • 파일을 저장하기 전에 메타데이터를 먼저 기록한 후 변경 사항을 반영하는 방식
  • 전원 차단, 시스템 오류가 발생해도 데이터 손실 위험을 줄일 수 있음

RAID(Redundant Array of Independent Disks) 기술

  • 여러 개의 하드디스크를 묶어서 데이터 복제 및 백업 기능을 강화하는 기술
  • RAID 1 (미러링) → 데이터를 두 개의 디스크에 동일하게 저장하여 백업 효과 제공
  • RAID 5 (패리티 저장) → 데이터 손실을 방지하면서 성능과 저장 공간 효율성을 극대화

스냅샷(Snapshot) 기능

  • 파일 변경 이력을 저장하여 특정 시점으로 되돌릴 수 있는 기능
  • APFS(Apple File System)ZFS 파일 시스템에서 지원
  • 클라우드 서버, 데이터베이스 시스템에서도 많이 사용됨

📌 실제 사용 사례

  • 윈도우 복원 지점(System Restore) → 시스템이 비정상적으로 동작할 경우 복원 가능
  • VMware 및 Docker의 스냅샷 기능 → 특정 시점으로 시스템을 되돌릴 수 있음

4-4. 보안 및 접근 제어 (파일 보호 기법)

파일 암호화(Encryption) 기술

  • NTFS의 EFS(Encrypting File System) → 사용자가 지정한 파일을 암호화하여 보호
  • Linux의 LUKS(Linux Unified Key Setup) → 전체 디스크 암호화를 지원하여 보안 강화

ACL(Access Control List) 권한 설정

  • NTFS 및 Linux 파일 시스템에서는 ACL을 지원하여 파일 접근을 세밀하게 제어 가능
  • 특정 사용자만 파일을 읽거나 수정할 수 있도록 설정 가능

📌 파일 권한 예시 (Linux)

chmod 600 secret.txt   # 소유자만 읽기/쓰기 가능
chmod 644 public.txt   # 소유자는 읽기/쓰기, 다른 사용자는 읽기만 가능

 

📌 실제 사용 사례

  • 기업 네트워크에서 중요한 문서를 암호화하여 접근 제한
  • 클라우드 스토리지에서 파일 공유 권한을 설정하여 특정 사용자만 접근 가능