운영체제

[운영체제] 파일 시스템의 개념과 종류(FAT, NTFS, EXT, UFS)

j9m 2022. 10. 3. 00:04
반응형

파일 시스템(File system)

  • 운영체제의 중요한 기능 중 하나로 사용자가 생성한 파일을 저장소에 어떻게 저장하고 관리할 것이지를 결정하는 것이다. 윈도우에서 파일 시스템을 확인할 수 있는 것은 바로 윈도우 탐색기이다. 즉, 탐색기는 C:\ 폴더 아래에 여러 개의 폴더로 이루어지는 계층형(Tree 형태) 구조를 이루고 있다. 이러한 파일 시스템은 과거 DOS에서 사용한 FAT부터 윈도우의 NTFS, 유닉스의 UFS 등이 존재한다.

 

FAT(File Allocation Table)

FAT16(File Allocation Table)

  • 대부분의 Microsoft 운영체제에서 호환되며 단순한 구조이다.
  • 최대 2GB까지만 지원한다.
  • 암호화 및 압축이 불가능하다.
  • 파일명 최대 길이는 영문 8자이다.
  • 클러스터당 1,632KB를 할당하여 내부 단편화가 발생한다.

 

② FAT32(File Allocation Table)

  • FAT16을 보강한 것으로, 최대 2TB까지 지원한다.
  • 암호화 및 압축이 불가능하다.
  • 파일명의 최대 길이는 영문 256자이다.
  • 클러스터당 4KB 사용하여 내부 단편화를 줄였다.

 

③ NTFS(New Technology file System)

  • 암호화 및 압축을 지원하며, 대용량 파일 시스템을 지원한다.
  • 가변 클러스터 크기(512 ~ 64KB)이며, 기본 값은 4KB이다.
  • 트랜잭션 로깅을 통한 복구/오류 수정이 가능하다.
  • Windows NT 이상에서 지원한다.

 

 EXT(Extended File System)

① EXT(Extended File System)

  • MINIX File System을 보완하여, 최대 2GB까지 파일 시스템 크기를 지원한다.
  • 255byte까지 파일명을 지원한다.
  • 접근 제어, inode 수정, 타임스탬프 수정 등의 기능이 불가능하다.
  • 사용할수록 단편화가 심해진다.

 

② EXT2(Second Extended File System)

  • 파일 시스템은 최대 2GB까지 파일 시스템 크기를 지원되며, 서브 디렉터리 개수 제한이 대폭 증가하였다.
  • FSCK를 사용한 파일 시스템 오류 수정을 지원한다.
  • 캐시의 데이터를 디스크에 저장 중 오류 발생 시 파일 시스템에 손상이 올 수 있다.(Sync 이전 데이터 손실)
  • FSCK 이용한 파일 복구 시간에 많은 시간이 소요된다.(전체 섹터 검사해야 됨)

 

EXT3(Third Extended File System)

  • EXT2에 저널링 기능 추가 및 온라인 파일 시스템이 증대됐다.
  • 파일 시스템 변경 시 저널에 먼저 수정 내용을 기록한다(갑작스러운 다운 시 빠르게 오류 복구).
  • 온라인 조각 모음이 불필요하다.(장시간 사용 시 조각화 발생).
  • 디스크 조각화를 최소화한다.

 

EXT4(Fourth Extended File System)

  • 16TB까지 파일 시스템을 지원하며, 볼륨은 1엑사바이트(Exabyte)까지 지원한다.
  • Block Mapping 방식 및 Extends 방식을 지원한다.
  • 저널 Checksum 기능이 추가되어 안정성이 강화되었다.
  • 하위 호환성 지원 : exy3, ext2와 호환 가능
  • Delayed allocation : 디스크에 쓰이기 전까지 블록 할당을 미루는 기술로 조각화 방지에 효과적
  • 온라인 조각 모음 : 조각화 방지를 위한 커널 레벨의 기술
  • Persistentt pre-allocation : 파일 전체만큼의 공간은 사전 할당, 스트리밍, 데이터 베이스 등에 유용

 

UFS(Unix File System)

  • VTOC 디스크 레이블 : 각 파티션의 기본 정보
  • 부트블록 : 부트스트랩에 필요한 파일들
  • 프라이머리 슈퍼블록 : 데이터 블록의 개수, 실린더 그룹의 개수, 마운트 정보
  • 백업 슈퍼블록 : 각 실린더마다 슈퍼블록에 대한 복사본을 가짐
  • 실린더 그룹 : 슈퍼블록, 실린더 그룹 블록, i-node 테이블, 데이터 블록을 포함
  • 슈퍼블록 :  파일 시스템 크기, i-node 테이블의 크기, free 블록 리스트 등 파일 시스템 관리 정보
  • 실린더 그룹 블록 : 실린더 그룹 내의 유효 블록들의 비트맵 정보나 통계 정보
  • i-node 테이블 : 파일에 대한 중요한 정보, 파일크기, 위치, 유형, 사용 허가권, 날짜 정보
  • 데이터 블록 : 실제 데이터가 저장되는 공간 

 

반응형