오늘은 간단히 파일 시스템의 구조를 정리해 보도록 하겠습니다.
-FAT16-
-FAT32-
위 그림은 FAT16과 FAT32의 구조를 그림으로 명시한 것입니다. 큰 차이는 없으며 다만 루트 디렉토리가 FAT16에는 따로 존재하는 반면, FAT32는 데이터 섹션에 포함되어 있습니다. FAT32는 루트 디렉토리 역시 일반 디렉토리 중의 하나로 간주하기 때문입니다.
그럼 각 영역에 대해서 알아보도록 하겠습니다.
Boot Record ( 부트 레코드 )
볼륨의 첫 번째 섹터를 의미하며 Windows를 부팅시키기 위한 기계어 코드와 FAT 파일 시스템의 여러 설정 값들이 담겨 있습니다. BIOS Parameter Block(BPB) 라고도 하지요. 크기가 1섹터 밖에 안되는 반면 컴퓨터가 부팅 시 필요한 파일 시스템의 중요한 정보를 담고 있습니다.
크기 : 1섹터
접근 단위 : 섹터
Reserved Section ( 예약된 영역 )
미래를 위해 남겨둔 영역이며 사용되지 않습니다. FAT32의 경우 예약된 영역 안에 몇 개의 섹터를 사용하여 부트 레코드 정보를 저장하고 있으므로 주의할 것.
크기 : 1 ~ 32 섹터
접근 단위 : 섹터
FAT#1 FAT#2
클러스트들을 관리하는 테이블이 모여 있는 공간입니다. FAT 영역을 통해서 어떤 클러스터가 비어 있는지 어떤 파일에 어떤 클러스터가 연결되어 있는지를 알 수 있습니다. 이 부분이 손상되면 큰 일이 나므로 FAT#2 와 같이 백업본을 저장해 놓고 있습니다. 즉, FAT#1과 FAT#2의 내용은 동일하죠.
크기 : 파티션의 1 ~ 0.5%
접근 단위 : 섹터
RootDirectory ( 루트 디렉토리 영역 )
FAT16의 경우 루트 디렉토리가 무조건 FAT#2의 뒤쪽에 고정되어 있습니다. 위치를 알면 바로 찾아갈 수 있기 때문에 개발의 편의성의 장점도 있지만 루트 디렉토리의 파일 개수의 제한 등의 단점도 존재합니다. 단점을 보강하기 위해 FAT32에서는 루트 디렉토리가 데이터 영역에 포함되었으며 그 위치는 부트 레코드에 기록되어 있습니다. 단점은 부트 레코드가 망가지면 루트 디렉토리를 찾아내기가 힘들다는 것이죠.
Data Section ( 데이터 영역 )
파일과 디렉토리가 저장되어 있는 부분입니다. 이 영역은 유일하게 클러스터(Cluster)라고 불리는 논리적 단위로 읽고 쓰기가 됩니다.
크기 : 파티션의 99% 이상
접근 단위 : 클러스터
Unused Section ( 사용하지 않는 영역 )
FAT 볼륨을 구조화하는 과정에서 조금 남는 부분입니다. 실제로는 매우 적은 양이므로 아깝다고 생각하실 필요 없습니다.
- 참고 : 임베디드 개발자를 위한 파일 시스템 원리와 실습 ( 한빛 미디어 ) -
[출처] FAT 파일 시스템 구조|작성자 Hermet
'OS' 카테고리의 다른 글
error: no such partition (0) | 2013.07.07 |
---|---|
유닉스 파일시스템의 구조 (0) | 2013.06.10 |
UNIX FILE SYSTEM - INODE (0) | 2013.06.09 |
피터슨 알고리즘 (0) | 2013.04.07 |
windows 동기화 (0) | 2013.04.07 |