파일 할당 테이블

파일 할당 테이블(영어: File Allocation Table, FAT)은 디지털 카메라 등에 장착되는 대부분의 메모리 카드와 수많은 컴퓨터 시스템에 널리 쓰이는 컴퓨터 파일 시스템 구조(architecture)이다. FAT 파일 시스템은 상대적으로 간단하기 때문에 플로피 디스크, 플래시 메모리 카드, 디지털 카메라 및 다른 수많은 휴대용 기기에서 흔하게 볼 수 있다. FAT의 성능은 다른 대부분의 파일 시스템에 견주어 좋지 않은 평을 받는다. 그 까닭은 운영 시간을 낭비하게 만드는 너무나도 단순한 자료 구조를 이용하고 조그마한 파일이 많이 있으면 디스크 공간을 잘 활용하지 못하기 때문이다. 플로피 디스크의 경우 FAT는 ECMA-107 및 ISO/IEC 9293으로 표준화되어 있다. 이러한 표준들은 긴 파일 이름 지원이 포함되지 않은 FAT12와 FAT16만 포함하고 있다. FAT 파일 시스템은 기술적으로 비교적 잘 문서화되어 있으며 실질적으로 기존의 모든 PC용 운영 체제가 이를 지원한다. 그러므로 솔리드 스테이트 메모리 카드를 위한 쓸모있는 포맷으로서 운영 체제 사이의 자료 공유를 위한 편리한 방법이 되었다. FAT 파일 시스템은 빌 게이츠와 마크 맥도널드가 1976년부터 1977년에 이르는 기간 동안 개발하였다. DR-DOS, 프리도스, MS-DOS, OS/2 (v1.1) 및 마이크로소프트 윈도우 (윈도우 미까지)를 포함한 다양한 운영 체제를 위한 주된 파일 시스템이었다. FAT 파일 시스템은 마이크로소프트 독립형 디스크 베이직의 디스크 관리를 위해 만들어졌다. 1980년 8월에 팀 패터슨(Tim Paterson)은 FAT를 S-100 8086 CPU 기판을 위한 86-DOS 운영 체제로 도입하였다. 이 파일 시스템은 86-DOS와, 86-DOS 이전에 쓰였던 CP/M 사이의 주된 차이였다. 이 이름은 어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한 정보를 중심으로 하는 테이블을 이용하는 것에서 비롯한다. 테이블의 크기를 제한하기 위하여 클러스터라 불리는 하드웨어 섹터에 인접한 그룹에서 디스크 공간이 파일에 할당된다. 디스크 드라이브가 서서히 모습을 드러내자 클러스터의 최대 수도 눈에 띄게 늘어났으며 이에 따라 각 클러스터를 인식하는 데 쓰이는 비트 수가 늘어났다. FAT 포맷의 주요 버전은 12, 16, 32와 같은 이름을 가진다. FAT 표준은 기존의 소프트웨어에 대한 하위 호환성을 보존하면서 다른 방식으로 확장되어갔다. MS-DOS 초기부터 주로 쓰였으며, 플로피 디스크에서는 여전히 이용된다. 32메가바이트 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용되었다. 최대 2기가바이트 파티션을 지원한다. 용량이 적은 이동식 드라이브에서는 아직까지 고유 형식으로 자리잡혀 있다. 2기가바이트 이상의 하드디스크를 지원하며, 윈도우 95 OSR2부터 이 파일 시스템을 사용할 수 있다. FAT32에서는 하나의 파일은 최대 4기가바이트-1바이트의 용량을 가질 수 있다. 하나의 파티션이 최대 8테라바이트의 용량을 가질 수 있고, 최대 268,435,437개의 파일을 담을 수 있다. 윈도우 98, 윈도우 미와 같은 구형 운영 체제나, 리눅스, OS X과 같은 운영 체제에서 윈도우와 호환성이 필요할 때, 또는 디지털카메라, 게임기 등에서도 이용된다. 윈도우 XP 등에 내장된 디스크 관리자 유틸리티에서는 32기가바이트 이상의 하드디스크를 파티션할 때 FAT32를 선택할 수 없고 NTFS만 나오지만, 별도 유틸리티를 이용하거나 다른 운영 체제에서 파티션을 설정하면 문제 없이 사용할 수 있다. 클러스터의 크기가 작아 하드디스크의 낭비를 줄일 수 있다. FAT16보다 효율적으로 하드디스크를 이용한다. 물리적 드라이브의 크기에 따라서 클러스터의 크기를 다르게 설정한다. FATX는 FAT 파일 시스템을 수정한 버전이며 마이크로소프트의 엑스박스 게임기 하드 디스크 드라이브와 메모리 카드를 위하여 설계된 것이다. FATX는 아래의 exFAT와 혼동해서는 안 된다. 'Extended File Allocation Table'의 약자로 일명 FAT64라고도 한다. 윈도우 XP와 윈도우 서버 2003 (둘다 x86, x64) 사용자들은 마이크로소프트사로부터 업데이트 KB955704를 내려받아 설치하면 exFAT 지원을 사용할 수 있고, 윈도우 비스타의 경우 서비스 팩 1, 윈도우 임베디드 CE 6.0부터 지원한다. FAT32의 한계를 극복하고자 개발되었으며 고용량의 플래시 메모리 미디어를 위한 파일 시스템이다. 여유공간 계산이 빨라졌으며 파일 삭제 또한 빨라졌다. FAT32에서 파일의 최대 크기가 4기가바이트인 반면, exFAT에서는 16엑사바이트가 파일의 최대 크기가 된다. Turbo FAT는 NetWare 파일 시스템(NWFS)에서 NetWare 운영 시스템에 대한 FAT 파일 시스템을 변형하여 구현했다. 큰 파일의 경우는 터보 FAT라는 성능 기능을 활용한다. TFAT와 TexFAT는 각각 FAT와 exFAT 파일 시스템 위의 레이어를 뜻하며 트랜잭션 보안을 수준을 제공하여 전원 공급이 중단되거나 예기치 않은 드라이브를 제거함으로써 일어나는 데이터 손실 위험을 줄일 수 있다. 프리도스 : FAT를 완전하게 지원하는 오픈소스의 도스 운영 체제이다. NTFS “File Systems”. Microsoft TechNet. 2001. 2011년 7월 31일에 확인함.  Microsoft (2006-11-15). Windows 95 CD-ROM CONFIG.TXT File Article 135481, Revision: 1.1, retrieved 2011-12-22: "For each hard disk, specifies whether to record the date that files are last accessed. Last access dates are turned off for all drives when your computer is started in safe mode, and are not maintained for floppy disks by default. Syntax: ACCDATE=drive1+|- [drive2+|-]..." Standard ECMA-107 ISO 9293:1987 - Information processing - Volume and file structure of flexible disk cartridges for information interchange ISO/IEC 9293:1994 - Information technology - Volume and file structure of disk cartridges for information interchange http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT http://web.archive.org/web/*/www.microsoft.com/mscorp/ip/tech/fathist.asp FAT16 파일 시스템의 최대 파티션 크기 - MSKB. “KB955704”. 2009년 1월 27일. Description of the exFAT file system driver update package [for 32-bit XP]  Description of the FAT32 File System: Microsoft Knowledge Base Article 154997