한국어
팁/강좌/노하우
 

테크 파일 시스템(file system)

pjk 2014.05.24 12:22 조회 수 : 4170


FAT (File Allocation Table)

MS 에서 빌게이츠가 만들었고 전 세계적으로 가장 많이 사용되는 파일시스템
최초 제작 시에는 저장장치의 크기가 매우 작았으며 여러 번의 발전을 거듭하여 제작
매우 단순한 구조와 최근에는 대용량을 위해서 FAT16, FAT32 로 발전
파일시스템에서는 사용되는 부가기능이 적고 제약사항이 많지만 가볍고 심플한 느낌
하지만 연결리스트를 사용하는 자료구조는 검색시간이 오래 걸린다.
데이터를 여기저기 흩어지는 단편화 현상이 심하기 때문에 디스크의 헤드가 여러 번 이동
이를 위해 디스크조각모음 이라던지 부가적인 프로그램이 등장하지만 해결되지 않기에
서버시스템에서는 사용되기 부족하다

 

HPFS (High Performance File System)

IBM의 OS/2 1.2부터 사용되던 파일시스템으로 NTFS가 나오기 전 많은 영향을 준 파일 시스템
제작당시 대용량에 적합한 구조로 효율적인 캐싱과 FAT에 비해 파일 손실과 단편화가 적기에
서버시스템에 많은 요구를 충족 시키던 파일 시스템
하지만 대용량을 타겟으로 잡기에 200MB 이하의 저장장치에서는 성능 저하
섹터의 크기가 512Byte로 고정이기에 I/O단위를 변경할 수 없다는 것
OS/2 가 Window NT 한테 밀려서 실패한 비운의 파일시스템


NTFS (New Technology File System)

MS에서FAT가 서버용으로 부족하자 이를 보완하기 위해 만든 파일시스템으로
Window NT에서 사용되는 파일시스템으로 윈도우 NT 및 2000 이상부터 대표적인 파일시스템으로 자리잡음
NTFS는 대용량 저장장치를 겨냥하여 제작되어 높은 안정성과 부가기능을 제공한다
FAT과 HPFS의 파일 시스템의 제약사항을 개선하였지만 MS에서는 이 파일시스템을 공개하지 않는다
이로 인해 리눅스나 다른 OS에서 NTFS를 지원한다 해도 호환에 미흡한 부분이 생긴다.

 

UFS (Unix File System)

UFS는 유닉스의 대표적인 파일시스템
많은 유닉스 계열의 OS들이 UFS를 각각의 OS에 맞게 변형해서 사용하고 있다.
빠른 속도와 안정성을 목표로 만들어졌다.
저장장치 그룹화를 통하여 관련된 데이터끼리 최대한 가까운 위치에 자리잡아 헤드의 이동이 적다
중요 데이터는 여러 그룹에 걸쳐 많은 백업을 저장하여 신뢰성을 높였다.
Berkeley대학의 FFS(Fast File System)을 근간으로 나중에 리눅스 파일시스템인 Ext2에 큰 영향을 준다.

 

Ext2 (second Extended File System)

현재 리눅스의 기본 파일시스템인 Ext3에서 저널링 기능을 뺀 파일 시스템
UFS의 유명무실한 구조를 제거하고 전체 구조보다 간략히 하여 속도와 안정성을 고루 갖춘다