1. FAT(File Allocation Table)

마이크로소프트사의 빌게이츠가 만들었고, 전 세계적으로 가장 많이 사용되는 파일시스템 중의 하나이며,

초기에 만들어진 파일시스템이다.

처음 만들어진 이후 여러 번의 발전을 거듭해 왔지만, 최초 제작 당시에는 고려하던 저장장치의 크기가 매우

작았으며 성능상의 문제는 큰 이슈로 작용하지 않았다.

따라서 매우 단순한 구조를 지니고 있으며 최근에는 대용량 저장장치를 지원하기 위해

FAT16 , FAT32 등이 만들어진 이후 윈도우 OS의 흥행과 더불어 지금도 널리 사용되고 있다.

파일시스템에서 사용되는 부가 기능은 적고, 제약 사항들은 많은 단점이 있었으나 그만큼 가볍고 심플하다.


허나 연결 리스트를 사용한 자료구조는 검색 시간이 오래 걸리게 하는 결과를 초래하였으며,

파일 데이터 블럭들이 여기 저기 흩어지는 단편화 현상이 심해져서

한 파일의 데이터를 읽어 들이는 데에도 디스크 헤드가 여러번 이동하게 만들었다.

이를 위한 해결책으로 디스크 조각 모음 같은 부가적인 프로그램이 등장하긴 하나

근본적인 해결책은 되지 않았으며,

서버 시스템에서 사용되기에는 여러 가지 부족함이 많은 파일시스템이다.


FAT16

클러스터를 표현하는 비트수가 12개에서 16개로 늘어나 (FAT12는 클러스터의 비트수가 12)

이론적으로 최대 2^16 개인 65,536 개의 클러스터를 표현할 수 있게 되었다.

클러스터의 크기를 32KB 로 할 경우 최대 2GB까지 표현할 수 있다.


FAT32

클러스터를 표현하는 비트수가 32개 이나 상위 4비트는 예약된(Reserved) 영역으로 사용하지 않으므로

총 28bit를 이용해서 클러스터를 표현한다.

이는 클러스터의 크기를 16KB 로 할 경우 최대 4TB까지 표현 가능한 용량이다.

허나 Windows 에서는 FAT32의 최대 용량을 32GB로 제한하고 있다.

32GB 이상의 저장장치를 FAT32에서 사용하고 싶다면 파티션 분할은 필수다.