infatuation

FAT 파일 시스템 본문

Study/FlashMemory&DB

FAT 파일 시스템

화령 2011. 3. 2. 20:37
FAT 파일 시스템
개인용 컴퓨터에서 가장 많이 쓰이는 파일시스템, Windows 전 계열, Microsoft의 MS-DOS, Linux, Unix, Mac OS에서도 지원, 최신의 다른 파일시스템들이 가지고 있는 파일 보안이나 저널링 기법과 같은 고급 기능이 포함되어 있지 않다. 하지만 FAT 파일시스템은 다른 파일시스템에 비해 구조가 비교적 단순하기 때문에 개발자들이 실무에서 구현하기에 가장 매력적이다. FAT 파일시스템으로 개발을 하면 쉽게 Windows 운영체제와 호환이 되는 제품을 만들 수 있다는 이점이 있다. 하지만 단순한 구조를 가지고 있는 만큼 배드 섹터 처리나 파일 보안 기능이 다른 파일시스템에 비해 취약하다. 

FAT 파일 시스템의 변천사

FAT12 1980년대 초, 플로피디스크용으로 처음 개발
FAT16 1980년대 말, 하드디스크를 지원하기 위해 개발
VFAT  1995년, FAT의 성능을 향상시키고 긴 파일 이름이 가능해짐
FAT32 1996년, VFAT를 확장해서 개발, 고용량 하드디스크를 지원함. 

FAT 파일시스템의 탄생
1976년 Microsoft의 빌 게이츠에 의해 최초로 구현, 구현목적은 자신의 회사 제품인 BASIC에서 플로피디스크를 관리하는데 이용하기 위해서였다. 이것이 FAT 파일시스템의 최초버전인 FAT12의 시작
FAT파일시스템이 PC환경에서 쓰이게 된 계기는 Tim Paterson이라는 사람이 QDOS라는 운영체제를 개발하면서 QDOS 가 이용할 파일시스템을 FAT 파일시스템으로 선택했기 때문이다. 

FAT12 
1980년대에 나온 FAT 파일시스템의 최초 버전은 다른 버전들과 구분하기 위해 FAT12라고 불림
구조가 매우 단순하여 디렉토리라는 개념도 없었다. 

FAT16
HDD 기술의 발달로 개인용 컴퓨터에 HDD를 장학하는 경우가 점점 많아짐에 따라 사용할 파일시스템의 필용성이 증대
1988년 MS-DOS 4.0을 통해서 FAT12의 다음버전인 FAT16을 발표
구조적으로 FAT12와 거의 동일하며 단지 FAT16에서 클러스터를 표현하는 비트수가 12개에서 16개로 늘어난 덕에 이론적으로 최대 2^16인 65,535개의 클러스터를 표현할 수 있게 되었다는 정도가 차이점이다.

VFAT(Virtual FAT)
변경된 내용 - 32bit 보호모드에 적합하게 코드를 재작성하여 성능을 향상, 독점모드(Exclusive Mode)를 추가하여 동시에 여러 프로그램이 같은 파일에 접근할 경우에 대비
- 파일시스템의 구조 변화라기 보다는 운영체제의 파일시스템 처리 성능이 개선된 것
- LFNs(Long File Names)를 지원함. 기존 FAT 파일시스템은 파일명이 최대 8Byte, 확장명은 최대 3Byte였다. 게다가 파일명과 확장명 모두 대문자만 가능하도록 설계되어 있었다. LFNs 방식은 최대 255자까지 파일명을 적을 수 있으며 지원하지 않는 이전 버전의 DOS와도 하위 호환성을 지닌다. 
- VFAT으로 향상된 FAT16 파일 시스템의 최대 용량은 2GB 정도밖에 되지 않아 대용량 HDD에는 부적합한 파일시스템이였다.

FAT32 
Windows95 사용자가 2GB가 넘는 하드디스크를 사용하고 할 때 FAT16의 용량 표현 한계 때문에 파티션을 나눠서 사용해야 하는 불편이 있었다. FAT32는 VFAT을 기반으로 수정, 클러스터를 표현하는 bit를 32개로 늘렸다. 하지만 최상위 4bit는 예약 영역으로 사용되지않으므로 총 28bit를 이용해서 클러스터를 표현한다. 클러스터 크기를 16KB로 한다면 최대 4TB까지 가능한 용량이다. 


'Study > FlashMemory&DB' 카테고리의 다른 글

SQLite  (0) 2011.04.10
NAND Flash Memory Tech. Report  (0) 2009.08.06
JFFS  (0) 2009.07.27
PLD(Programmable Logic Device)  (0) 2009.06.08