728x90

 

 

파일시스템은 운영체제가 저장장치에 데이터를 저장하고 관리하는 체계 또는 방법을 말합니다.

쉽게말해, 컴퓨터가 파일을 저장하고 찾을 수 있도록 하는 규칙과 구조를 의미합니다.

 

파일 시스템의 주요 구성 요소

구성 요소 설명
파일(File) 이름과 데이터를 가진 저장단위
(ex. report.docx, image.jpg ..)
디렉터리(Directory) 파일을 그룹화해서 관리하는 구조. 곛층적 트리 구조 가능
메타데이터(Metadata) 파일의 이름, 크기 생성일, 권한 등의 정보
블록(Block) 저장장치를 나누 ㄴ단위. 파일은 여러 블록에 나뉘어 저장됨
할당 테이블 / 인덱스노드(inode) 파일이 저장된 블록 위치를 추적하기 위한 정보 구조
저널(Journal)  시스템 충돌에 대비해 변경사항을 기록하는 로그

 

 

파일시스템의 종류

이름 설명
FAT32 단순하고 호환성 좋음. USB 등에 사용
NTFS Windows 기본 시스템, 고급 기능 다수
EXT4 Linux에서 널리 사용됨. 성능 우수
exFAT FAT32 보다 큰 파일 지원. USB에 최적
APFS macOS용 최신 파일 시스템

 

 

1. FAT(File Allocation Table)

  • 종류
    • FAT12 : 가장 초기 버전, 플로피 디스크용
    • FAT16 : DOS 시절부터 널리 사용됨
    • FAT32 : Windows 95 OSR2 이후 등장, 현재는 USB  메모리나 SD 카드에서 많이 사용
  • 구조
    • 파일 할당 테이블(FAT) : 클러스터 단위로 파일의 위치를 추적하는 테이블
    • 디렉터리 엔트리 : 파일 이름, 크기, 속성, 시작 클러스터 등의 정보를 저장
    • 데이터 영역 : 실제 파일의 데이터가 저장되는 곳
  • 특징
    • 호환성 : 대부분의 운영체제에서 지원(Windows, Linux macOS)
    • 파일 크기 제한 : FAT32는 단일 팡리 최대 4GB, 파티션 최대 2TB
    • 보안/저널링 없음 : 권한 설정, 파일 복구 기능이 없음
    • 속도 : 단순한 구조로 속도는 빠르지만 클러스터 낭비가 많음
  • 사용 예시
    • USB 플래시 드라이브
    • 디지털 카메라, 게임 콘솔 저장장치

 

2. NTFS(New Technology File System)

  • 도입
    • Microsoft가 Windows NT 계열에서 도입(현재 Windows의 기본 파일 시스템)
  • 구조
    • Master file Table(MFT) : 모든 파일과 디렉터리의 메타데이터를 관리
    • 저널링 : 파일 시스템 변경사항을 기록하여 손상 시 복구 용이
    • 보안 : 파일 수준의 액세스 제어 목록(ACL)을 지원
  • 특징
    • 파일 크기 제한 없음(이론 상 16EB, 실질적으로 수 TB)
    • 압축 및 암호화 기능 지원
    • 디스크 쿼터, 하드링크 트랜잭션 등 고급기능
    • 조각모음 필요성이 있음
  • 사용예시
    • Windows 설치 디스크
    • 서버 환경에서의 데이터 저장

 

3. EXT(Extended File System)

  • 버전
    • ext(초기버전) : Linux 최초의 파일 시스템, 현재는 사용되지 않음
    • ext2 : 저널링 없음. 하지만 안정적이고 가볍다
    • ext3 : ext2에 저널링 기능을 추가
    • ext4 : 현재 리눅스에서 가장 널리 사용됨
  • 구조
    • Inode 기반 구조 : 각 파일은 inode를 통해 메타데이터를 관리
    • 블록 그룹 : 데이터를 효율적으로 분산 저장
    • 저널링(ext3, ext4) :  변경사항을 기록하여 복구 시간 단축
  • ext4 의 특징
    • 최대 파일 크기 16TB
    • 파일 시스템 크기 : 최대 1EB
    • 저널링 + 지연할당 : 성능 향상
    • Backward compatibility : ext3, ext2와 호환
    • Extent 지원 : 연속된 블록  할당으로 큰 파일 처리 효율 향상
  • 사용 예시
    • Linux OS 디스크
    • 웹서버, 데이터 센터의 파일 저장소

4. APFS(Apple File System)

  • 개요
    • 개발 : 애플, 2017년 macOS High Sierra부터 기본 파일 시스템
    • 대상 :  macOS, iOS, iPadOS, watchOS, tvOS
  • 구조 및 특징
    • 64bit 인덱싱 : 대용량 저장장치 대응
    • 스냅샷 : ㅈ상태 저장 및 복구 용이
    • 저널링 대신 CoW(Copy on wirte) 구조 사용
    • 공간 공유(Space sharing) : 하나의 볼륨이 여러 컨테이너에서 저장 공간 공유 가능
  • 장점
    • 파일 복사 시 빠름 : 실제 데이터 복사 대신 메타데이터만 변경
    • 암호화 내장 : 기본적으로 뎇이터 암호화 지원(파일별 또는 전체 디스크)
    • SSD 최적화
  • 한계
    • 타 OS에서 지원 부족 : Windows, Linux에서 공식 지원 없음
    • 구 버전  macOS 및 외부 기기와 호환성 낮음

 

 

 

특징 FAT32 NTFS EXT4 APFS
최대 파일 크기 4GB 수 페타바이트 16TB 수 페타바이트
최대 파티션 크기 2TB(실제 32GB 권장) 수 페타바이트 1EB(이론상) 수 페타바이트
저널링 X O O O(CoW 기반)
암호화 X O X O
SSD 최적화 X 부분적 제한적 O
호환성 매우 높음  Windows wndtla  Linux 중심 Apple 생태계 중심
728x90

+ Recent posts