[DDK] File System Driver를 연구하기 시작하다!!

이때까지 WDM 드라이버만 공부하다가 갑자기

legacy 드라이버쪽으로 방향을 틀었습니다.

이유인 즉슨, WDM은 Filesystem Driver와 그다지 큰 상관이 없다는것,

젠장입니다.

아무튼 파일시스템 책을 뒤져가면서 공부를 하고 있는데,,

일단 FAT에 대해서 알아보면,

FAT는 File Allocation Table로서 리눅스에서 사용하고 있습니다.

윈도우즈는 NTFS죠,

FAT12는 12비트 클러스터 식별자를 사용하여 한 파티션은 최대 212(4,096)개의 클러스터를

가질 수 있습니다. Windows 2000은 512바이트에서 8KB까지의 클러스터의 사용이 가능하기 때문에,

FAT12 볼륨 크기는 32MB(4,096 X 8KB)로 제한됩니다.

FAT 볼륨 구성은

---------------------------------------------------------------------------------------------
BootSector - File Allocation Table - File Allocation Table 2 - Root Directory - 기타 디렉토리 및 파일
---------------------------------------------------------------------------------------------

이렇게 구성됩니다.

FAT 파일 시스템은 FCFS( First come First Serve )를 기본으로 하는데,

뜻그대로 먼저 들어오면 먼저 수행된다는 말입니다.

앞에서 부터 차곡 차곡 쌓게 되는데 이때 발생하는 것이 단편화입니다.(Fragmentation)

따라서 대용량의 FAT 볼륨에 저장된 파일은 자동으로 디렉토리를 정렬하는 NTFS볼륨 보다

검색하는데 시간이 더 오래 걸리게 됩니다.

출처 : http://ssmhz.tistory.com

 


위로 스크롤