파일 할당 테이블

위키백과, 우리 모두의 백과사전.
(FAT16B에서 넘어옴)
둘러보기로 가기 검색하러 가기
FAT
FAT
마이크로소프트, NCR, SCP, IBM, 컴팩, 디지털 리서치, 노벨 (기업), 칼데라
파일 할당 테이블(File Allocation Table)
도입일 1977년 (1977)
도입 운영 체제 마이크로소프트 베이직
파티션 ID MBR/EBR:
FAT12: 0x01 e.a. (Extended Attribute)
FAT16: 0x040x060x0E e.a.
FAT32: 0x0B0x0C e.a.
BDP:
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
디렉터리 구조 테이블
파일 구조 연결 리스트
불량블록 구조 클러스터 태깅
최대 파일크기 4,294,967,295 바이트 (4 GiB - 1) (FAT16B와 FAT32의 경우)[1]
최대 파일수 FAT12: 4,068 for 8 KiB 클러스터
FAT16: 65,460 for 32 KiB 클러스터
FAT32: 268,173,300 (32 KiB 클러스터)
최대 파일이름 길이 8.3 파일 이름 또는 255 UCS-2 문자 (LFN 사용 시)
최대 볼륨크기 FAT12: 32 MiB (256 MiB for 64 KiB clusters)
FAT16: 2 GiB (64 KiB 클러스터의 경우 4 GiB)
FAT32: 2 TiB (4 KiB 섹터의 경우 16 TiB)
날짜 사용권한 Modified date/time, creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled),[2] deletion date/time (only with DELWATCH 2)
날짜 범위 1980-01-01 to 2099-12-31 (2107-12-31)
날짜 정밀도 2 seconds for last modified time,
10 ms for creation time,
1 day for access date,
2 seconds for deletion time
포크 스트림 네이티브로 아님
특성 읽기 전용, 숨김, 시스템, 볼륨, 디렉터리, 보관
파일시스템 권한 FAT12/FAT16: File, directory and volume access rights for Read, Write, Execute, Delete only with DR-DOS, DR-DOS, DR-DOS, DR-DOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32 (Execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS; World/Group/Owner permission classes only with multiuser security loaded)
FAT32: Partial, only with DR-DOS, REAL/32 and 4690 OS
압축 FAT12/FAT16: 볼륨 당, 디스크 압축, 스태커, 더블스페이스, 더블스페이스
FAT32: 아니오
암호화 FAT12/FAT16: 볼륨 당 (DR-DOS 기준)
FAT32: 아니오

파일 할당 테이블(File Allocation Table, FAT)은 디지털 카메라 등에 장착되는 대부분의 메모리 카드와 수많은 컴퓨터 시스템에 널리 쓰이는 컴퓨터 파일 시스템 구조이다. FAT 파일 시스템은 상대적으로 간단하기 때문에 플로피 디스크, 플래시 메모리 카드, 디지털 카메라 및 다른 수많은 휴대용 기기에서 흔하게 볼 수 있다. FAT의 성능은 다른 대부분의 파일 시스템에 견주어 좋지 않은 평을 받는다. 그 까닭은 운영 시간을 낭비하게 만드는 너무나도 단순한 자료 구조를 이용하고 조그마한 파일이 많이 있으면 디스크 공간을 잘 활용하지 못하기 때문이다.

플로피 디스크의 경우 FAT는 ECMA-107[3]ISO[4]/IEC 9293[5] 으로 표준화되어 있다. 이러한 표준들은 긴 파일 이름 지원이 포함되지 않은 FAT12와 FAT16만 포함하고 있다.

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

역사[편집]

FAT 파일 시스템은 빌 게이츠마크 맥도널드가 1976년부터 1977년에 이르는 기간 동안 개발하였다.[6][7] DR-DOS, 프리도스, MS-DOS, OS/2 (v1.1) 및 마이크로소프트 윈도우 (윈도우 Me까지)를 포함한 다양한 운영 체제를 위한 주된 파일 시스템이었다.

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

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

FAT12[편집]

MS-DOS 초기부터 주로 쓰였으며, 플로피 디스크에서는 여전히 이용된다.

FAT16[편집]

32메가바이트 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용되었다. 최대 2기가바이트 파티션을 지원한다.[8] 용량이 적은 이동식 드라이브에서는 아직까지 고유 형식으로 자리잡혀 있다.

FAT32[편집]

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

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

FATX[편집]

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

exFAT[편집]

'Extended File Allocation Table'의 약자로 일명 FAT64라고도 한다. 윈도우 XP윈도우 서버 2003 (둘다 x86, x64) 사용자들은 마이크로소프트사로부터 업데이트 KB955704를 내려받아 설치하면 exFAT 지원을 사용할 수 있고,[9] 윈도우 비스타의 경우 서비스 팩 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

각주[편집]

  1. “File Systems”. Microsoft TechNet. 2001. 2011년 7월 31일에 확인함. 
  2. 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+|-]..."
  3. Standard ECMA-107
  4. ISO 9293:1987 - Information processing - Volume and file structure of flexible disk cartridges for information interchange
  5. ISO/IEC 9293:1994 - Information technology - Volume and file structure of disk cartridges for information interchange
  6. http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT
  7. http://web.archive.org/web/*/www.microsoft.com/mscorp/ip/tech/fathist.asp
  8. FAT16 파일 시스템의 최대 파티션 크기 - MSKB.
  9. “KB955704”. 2009년 1월 27일. Description of the exFAT file system driver update package [for 32-bit XP] 

외부 링크[편집]