{{위키데이터 속성 추적}}
{{Infobox file system
| name                    = FAT
| developer               = [[마이크로소프트]]<!-- original FAT, FAT16, FAT32 -->, [[NCR 코퍼레이션|NCR]], [[시애틀 컴퓨터 프로덕츠|SCP]]<!-- FAT12 -->, [[IBM]], [[컴팩]]<!-- Compaq MS-DOS 3.31-->, [[디지털 리서치]]<!-- lots of extensions -->, [[노벨 (기업)]]<!-- lots of extensions continuing the DRI line of products -->, [[칼데라 (기업)|칼데라]]
| full_name               = 파일 할당 테이블(File Allocation Table)
| variants                = 8-bit FAT, [[#FAT12|FAT12]], [[#FAT16|FAT16]], [[#FAT16B|FAT16B]], [[#FAT32|FAT32]], [[ExFAT]], [[#FATX|FATX]], [[#FAT+|FAT+]]
| introduction_date       = {{시작 날짜|1977}}
| introduction_os         = [[마이크로소프트 베이직]]
| partition_id            = [[마스터 부트 레코드|MBR]]/[[확장 부트 레코드|EBR]]:<br />FAT12:&nbsp;<code>{{abbr|0x|Values in C-notation for hexadecimal numbers}}[[파티션 타입#PID 01h|01]]</code> e.a. (Extended Attribute)<br />FAT16:&nbsp;<code>{{abbr|0x|Values in C-notation for hexadecimal numbers}}[[파티션 타입#PID 04h|04]]</code> <code>[[파티션 타입#PID 06h|0x06]]</code> <code>[[파티션 타입#PID 0Eh|0x0E]]</code> e.a.<br />FAT32:&nbsp;<code>{{abbr|0x|Values in C-notation for hexadecimal numbers}}[[파티션 타입#PID 0Bh|0B]]</code> <code>[[파티션 타입#PID 0Ch|0x0C]]</code> e.a.<br />[[Basic data partition|BDP]]:<br /><code>EBD0A0A2-B9E5-4433-87C0-68B6B72699C7</code>
| directory_struct        = 테이블
| file_struct             = [[연결 리스트]]
| bad_blocks_struct       = 클러스터 태깅
| max_file_size           = 4,294,967,295 바이트 (4&nbsp;[[기비바이트|GiB]] - 1)<!-- 2^32 - 1 --> (FAT16B와 FAT32의 경우)<ref name="GB4">{{웹 인용|url=https://technet.microsoft.com/en-us/library/cc938937.aspx |title=File Systems |year=2001 |publisher=[[Microsoft TechNet]] |accessdate=2011-07-31 }}</ref>
| max_files_no            = FAT12: 4,068 for 8&nbsp;[[키비바이트|KiB]] 클러스터 <!-- 2^12 - 12 (reserved clusters) - 16 (number of 8&nbsp;KiB clusters for directory entries) --><br />FAT16: 65,460 for 32&nbsp;KiB 클러스터 <!-- 2^16 - 12 (reserved clusters) - 64 (number of 32&nbsp;KiB clusters for directory entries) --><br />FAT32: 268,173,300 (32&nbsp;KiB 클러스터) <!-- 2^28 - 12 (reserved clusters) - 262144 (number of 32&nbsp;KiB clusters for directory entries) -->
| max_filename_size       = [[8.3 파일 이름]] 또는 255 [[국제 문자 세트|UCS-2]] 문자 ([[긴 파일 이름|LFN]] 사용 시)
| max_volume_size         = FAT12: 32&nbsp;[[메비바이트|MiB]]<!-- with 2^16 sectors a 512 bytes, or with 8&nbsp;KiB clusters --> (256&nbsp;MiB for 64&nbsp;KiB clusters<!-- and EBPB -->)<br />FAT16: 2&nbsp;GiB (64 KiB 클러스터의 경우 4&nbsp;GiB)<br />FAT32: 2&nbsp;[[테비바이트|TiB]] ([[어드밴스트 포맷|4 KiB 섹터]]의 경우 16&nbsp;TiB)
| dates_recorded          = Modified date/time, creation date/time (DOS&nbsp;7.0 and higher only), access date (only available with [[CONFIG.SYS|ACCDATE]] enabled),<ref name="Microsoft_2006_ACCDATE">Microsoft (2006-11-15). [http://support.microsoft.com/kb/135481/EN-US 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: <code>[[ACCDATE (CONFIG.SYS directive)|ACCDATE]]=drive1+|- [drive2+|-]...</code>"</ref> deletion date/time (only with DELWATCH 2<!-- with Novell DOS 7, Caldera OpenDOS 7.01, DR-DOS 7.02 and higher -->)
| date_range              = [[Epoch of 1980-01-01|1980-01-01]] to [[Year 2100 problem|2099-12-31]] ([[Year 2108 problem|2107-12-31]])
| date_resolution         = 2&nbsp;seconds for last modified time,<br />10&nbsp;ms for creation time,<br />1&nbsp;day for access date,<br />2&nbsp;seconds for deletion time
| forks_streams           = 네이티브로 아님
| attributes              = [[FAT 파일 특성|읽기 전용]], [[FAT 파일 특성|숨김]], [[FAT 파일 특성|시스템]], [[FAT 파일 특성|볼륨]], [[FAT 파일 특성|디렉터리]], [[FAT 파일 특성|보관]]
| file_system_permissions = FAT12/FAT16: File, directory and volume access rights for [[FAT file access rights|Read]], [[FAT file access rights|Write]], [[FAT file access rights|Execute]], [[FAT file access rights|Delete]] only with [[DR-DOS]], [[DR-DOS]], [[DR-DOS]], [[DR-DOS]], [[FlexOS]], [[IBM 4680 OS|4680&nbsp;OS]], [[IBM 4690 OS|4690&nbsp;OS]], [[Concurrent DOS]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]] (Execute right only with FlexOS, 4680&nbsp;OS, 4690&nbsp;OS; individual file / directory passwords not with FlexOS, 4680&nbsp;OS, 4690&nbsp;OS<!-- at least I could not find any user or programmer's documentation for it so far -->; [[FAT file access rights|World]]/[[FAT file access rights|Group]]/[[FAT file access rights|Owner]] permission classes only with multiuser security loaded)<br />FAT32: Partial, only with DR-DOS, REAL/32 and 4690 OS<!-- version 2 and higher -->
| compression             = FAT12/FAT16: 볼륨 당, [[디스크 압축]], [[스태커]], [[더블스페이스]], [[더블스페이스]]<br />FAT32: 아니요
| encryption              = FAT12/FAT16: 볼륨 당 ([[DR-DOS]] 기준)<br />FAT32: 아니요
| data_deduplication      =
| copy_on_write           =
| OS                      =
}}
'''파일 할당 테이블'''({{llang|en|File Allocation Table, '''FAT'''}})은 디지털 카메라 등에 장착되는 대부분의 메모리 카드와 수많은 컴퓨터 시스템에 널리 쓰이는 컴퓨터 [[파일 시스템]] 구조(architecture)이다. FAT 파일 시스템은 상대적으로 간단하기 때문에 [[플로피 디스크]], [[플래시 메모리]] 카드, [[디지털 카메라]] 및 다른 수많은 휴대용 기기에서 흔하게 볼 수 있다.
FAT의 성능은 다른 대부분의 파일 시스템에 견주어 좋지 않은 평을 받는다. 그 까닭은 운영 시간을 낭비하게 만드는 너무나도 단순한 자료 구조를 이용하고 조그마한 파일이 많이 있으면 디스크 공간을 잘 활용하지 못하기 때문이다.

플로피 디스크의 경우 FAT는 [[Ecma 인터내셔널|ECMA]]-107<ref>[http://www.ecma-international.org/publications/standards/Ecma-107.htm Standard ECMA-107<!-- 봇이 따온 제목 -->]</ref> 및 [[국제 표준화 기구|ISO]]<ref>[http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=16948 ISO 9293:1987 - Information processing - Volume and file structure of flexible disk cartridges for information interchange<!-- 봇이 따온 제목 -->]</ref>/[[국제 전기 표준 회의|IEC]] 9293<ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=21273 ISO/IEC 9293:1994 - Information technology - Volume and file structure of disk cartridges for information interchange<!-- 봇이 따온 제목 -->]</ref>으로 표준화되어 있다. 이러한 표준들은 [[긴 파일 이름]] 지원이 포함되지 않은 FAT12와 FAT16만 포함하고 있다.

FAT 파일 시스템은 기술적으로 비교적 잘 문서화되어 있으며 실질적으로 기존의 모든 [[개인용 컴퓨터|PC]]용 [[운영 체제]]가 이를 지원한다. 그러므로 [[솔리드 스테이트 드라이브|솔리드 스테이트]] [[메모리 카드]]를 위한 쓸모있는 포맷으로서 [[운영 체제]] 사이의 자료 공유를 위한 편리한 방법이 되었다.

== 역사 ==
FAT 파일 시스템은 [[빌 게이츠]]와 [[마크 맥도널드]]가 1976년부터 1977년에 이르는 기간 동안 개발하였다.<ref name="autogenerated1">http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT</ref><ref>http://web.archive.org/web/*/www.microsoft.com/mscorp/ip/tech/fathist.asp</ref> [[DR-DOS]], [[프리도스]], [[MS-DOS]], [[OS/2]] (v1.1) 및 [[마이크로소프트 윈도우]] ([[윈도우 미]]까지)를 포함한 다양한 [[운영 체제]]를 위한 주된 파일 시스템이었다.

FAT 파일 시스템은 [[마이크로소프트 베이직|마이크로소프트 독립형 디스크 베이직]]의 디스크 관리를 위해 만들어졌다. 1980년 8월에 [[팀 패터슨]](Tim Paterson)은 FAT를 [[S-100 버스|S-100]] [[8086]] CPU 기판을 위한 [[86-DOS]] 운영 체제로 도입하였다.<ref name="autogenerated1" /> 이 파일 시스템은 86-DOS와, 86-DOS 이전에 쓰였던 [[CP/M]] 사이의 주된 차이였다.

이 이름은 어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한 정보를 중심으로 하는 테이블을 이용하는 것에서 비롯한다. 테이블의 크기를 제한하기 위하여 [[클러스터]]라 불리는 [[디스크 섹터|하드웨어 섹터]]에 인접한 그룹에서 디스크 공간이 파일에 할당된다. 디스크 드라이브가 서서히 모습을 드러내자 클러스터의 최대 수도 눈에 띄게 늘어났으며 이에 따라 각 클러스터를 인식하는 데 쓰이는 비트 수가 늘어났다. FAT 포맷의 주요 버전은 12, 16, 32와 같은 이름을 가진다. FAT 표준은 기존의 소프트웨어에 대한 하위 호환성을 보존하면서 다른 방식으로 확장되어갔다.
=== FAT12 ===
MS-DOS 초기부터 주로 쓰였으며, [[플로피 디스크]]에서는 여전히 이용된다.

=== FAT16 ===
32메가바이트 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 [[윈도우 95]]까지 주로 이용되었다. 최대 2기가바이트 파티션을 지원한다.<ref>[http://support.microsoft.com/kb/118335/KO-KR/ FAT16 파일 시스템의 최대 파티션 크기] - MSKB.</ref> 용량이 적은 이동식 드라이브에서는 아직까지 고유 형식으로 자리잡혀 있다.

=== FAT32 ===
2기가바이트 이상의 하드디스크를 지원하며, [[윈도우 95]] OSR2부터 이 파일 시스템을 사용할 수 있다.

FAT32에서는 하나의 파일은 최대 4기가바이트-1바이트의 용량을 가질 수 있다. 하나의 파티션이 최대 8테라바이트의 용량을 가질 수 있고, 최대 268,435,437개의 파일을 담을 수 있다. [[윈도우 98]], [[윈도우 미]]와 같은 구형 운영 체제나, [[리눅스]], [[OS X]]과 같은 운영 체제에서 [[마이크로소프트 윈도우|윈도우]]와 호환성이 필요할 때, 또는 디지털카메라, 게임기 등에서도 이용된다. [[윈도우 XP]] 등에 내장된 디스크 관리자 유틸리티에서는 32기가바이트 이상의 하드디스크를 파티션할 때 FAT32를 선택할 수 없고 NTFS만 나오지만, 별도 유틸리티를 이용하거나 다른 운영 체제에서 파티션을 설정하면 문제 없이 사용할 수 있다.

클러스터의 크기가 작아 하드디스크의 낭비를 줄일 수 있다.
FAT16보다 효율적으로 하드디스크를 이용한다.
물리적 드라이브의 크기에 따라서 클러스터의 크기를 다르게 설정한다.

=== FATX ===
FATX는 FAT 파일 시스템을 수정한 버전이며 마이크로소프트의 엑스박스 게임기 하드 디스크 드라이브와 메모리 카드를 위하여 설계된 것이다. FATX는 아래의 exFAT와 혼동해서는 안 된다.

=== exFAT ===
{{본문|exFAT}}
'Extended File Allocation Table'의 약자로 일명 FAT64라고도 한다. [[윈도우 XP]]와 [[윈도우 서버 2003]] (둘다 x86, x64) 사용자들은 마이크로소프트사로부터 업데이트 KB955704를 내려받아 설치하면 exFAT 지원을 사용할 수 있고,<ref name="xpkb">
{{웹 인용
|url=http://support.microsoft.com/?kbid=955704
|제목=KB955704
|날짜=2009-01-27
|quote=Description of the exFAT file system driver update package [for 32-bit XP]
}}
</ref> [[윈도우 비스타]]의 경우 서비스 팩 1, [[윈도우 임베디드 CE]] 6.0부터 지원한다. FAT32의 한계를 극복하고자 개발되었으며 고용량의 플래시 메모리 미디어를 위한 파일 시스템이다. 여유공간 계산이 빨라졌으며 파일 삭제 또한 빨라졌다. FAT32에서 파일의 최대 크기가 4기가바이트인 반면, exFAT에서는 16[[엑사바이트]]가 파일의 최대 크기가 된다.

=== Turbo FAT ===
Turbo FAT는 NetWare 파일 시스템(NWFS)에서 NetWare 운영 시스템에 대한 FAT 파일 시스템을 변형하여 구현했다. 큰 파일의 경우는 터보 FAT라는 성능 기능을 활용한다.

=== TFAT / Tex FAT ===
TFAT와 TexFAT는 각각 FAT와 exFAT 파일 시스템 위의 레이어를 뜻하며 트랜잭션 보안을 수준을 제공하여 전원 공급이 중단되거나 예기치 않은 드라이브를 제거함으로써 일어나는 데이터 손실 위험을 줄일 수 있다.

== 같이 보기 ==
* [[프리도스]] : FAT를 완전하게 지원하는 오픈소스의 도스 운영 체제이다.
* [[NTFS]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://support.microsoft.com/kb/154997/ ''Description of the FAT32 File System'']: Microsoft Knowledge Base Article 154997

{{파일 시스템}}
{{윈도우 구성 요소}}
{{ISO 표준}}

[[분류:파일 시스템]]
[[분류:도스 기술]]
[[분류:윈도우 구성 요소]]
[[분류:1977년 소프트웨어]]
[[분류:Ecma 표준]]