FAT란..?
FAT(File Allocation Table) 파일 할당 테이블
(파일의 클러스터 주소를 bit길이로 표현하는 방식) **클러스터 크기가 모두 동일함
->클러스터란..? 쉽게 말해 윈도우에서 하드디스크를 인식할 때 일정공간으로 쪼개서 각각의 구역에 읽고 쓰고 하게 된다. 이 공간을 클러스터 라고 합니다. 운영체제에 따라 또는 포맷방식에 따라 클러스터 사이즈는 다르게 되며, 윈도우 7은 NTFS 파일시스템의 4096 클러스터를 사용한다.FAT방식은 초창기 오픈소스DOS 시절부터 사용되어 왔고, 가장 많이 쓰이는 FAT32방식과 더불어 exFAT까지 발전하였다.
그 외에도 잠간 사용되었던 VFAT라는 것도 있으며 게임기인 엑스박스용인 FATX라는게 있다. 여기서는 FAT16/ FAT32 / exFAT 세가지를 상펴 본다.
FAT16
- 도스 3,0시절부터 win95 OSR1까지 쓰임
- 클러스터를 표현할 수 있는 넓이(길이)는 2^16 (즉 4078~65,536개) 개의 클러스터를 사용 (단, 한계 용량이 2GB이며, 모두 동일한 클러스터의 크기로 인해 용량의 낭비가 심함)
- ->낭비가 심한 이유는 NTFS를 설명 후 장단점 비교시 설명 할 수 있다.
FAT32
- win95 OSR2 부터 사용
- FAT16을 보면 알 듯이 2^32개의 클러스터 사용 (실제로는 2^28 사용 **이유 알아보기**)
- 최대 2^28 = 268,435,456(65,536 ~ 268,435,456) 표현할 수 있는 클러스터의 개수가 비약적으로 늘어남, 그러나 역시 한계를 가지고 있음.
- 하나의 파티션이 가질 수 있는 크기는 이론상 8 TB이나 실제론 2 TB만 적용 가능
- 관리 할 수 있는 파일 4GB-1Byte 까지 임
- -1Byte를 하는 이유는 3bit이면 2^3해서 곧 0~7까지 8가지 수를 나타내지만, 000 001 010 011 100 101 110 111 에서 000은 의미가 없으므로 하나 빼는 듯.
**FAT16 / 32에서 클러스터 개수는 파티션용량에 따라 달라지며
용량별 클러스터 크기는 아래 표와 같다.
용량 범위 | FAT16 클러스터 크기 | FAT32 클러스터 크기 |
0MB ~ 127MB | 2KB | 512B |
128MB ~ 255MB | 4KB | 512B |
256MB ~ 511MB | 8KB | 4KB |
512MB ~ 1023MB | 16KB | 4KB |
1024MB ~ 2047MB | 32KB | 4KB |
2048MB ~ 8GB | 지원안함 | 4KB |
8GB ~ 16GB | 지원안함 | 8KB |
16GB ~ 32GB | 지원안함 | 16KB |
32GB ~ 2TB (OS 설치시에는 FAT32인식 안함) | 지원안함 | 32KB |
exFAT(Extended : 넓어진, 확장된)
- winXP sp2부터 사용 (단 HDD에 적용되는 방식이 아닌, 고용량화 되가는 플래시메모리를 위해 나온 시스템)
- FAT32가 최대 4GB-1Byte였다면, exFAT는 최대 16EB(엑사바이트) = 16,777,216GB까지 파일을 관리 할 수 있다.(여기사 파일관리는 단일 파일이며 파티션의 크기가 아님)
NTFS란..?
NTFS(New Technology File System)
*클러스터의 크기가 동적임*
NTFS- FAT방식보다 안정성, 확장성, 보안성 등이 강화됨
- 2^64-1의 클러스터를 가짐
- win XP Pro 에서는 2^32-1임
- 가장 큰 장점은 용량 관리가 효율적이라는 것이다.
- 1KB의 데이터를 저장할라치면 위에 언급한것처럼 데이터기록 최소단위는 클러스터이기때문에
4KB의 크기의 클러스터를 1KB만 사용하고 남은 3KB는 낭비를 하게되는 셈이지요.
그에 반해 NTFS는 동적으로 1개당 512Byte의 크기 클러스터 2개를 사용함으로써 용량낭비를 최소화 시켰습니다.
- 단점은 상당한 오버헤드와 FAT방식에 비해서 데이터당 클러스터개수가 많아지는 이유이다.
- 접근속도가 FAT32에 비해서 다소 떨어지는 경향이 있음
FAT16 | FAT32 | NTFS |
한계용량 2GB 클러스터의 크기 32KB (2GB / 32KB = 65536개 클러스터) 1개의 클러스터 사용 32KB – 9KB =23KB 용량낭비 | 한계용량 2TB(최대 4GB파일) 클러스터의 크기 4KB (2GB / 4KB = 524288개 클러스터) 2개의 클러스터 사용 8KB*2 –9 = 7KB 용량낭비 | 한계용량 16EB 클러스터의 크기 512Byte (최대 2^64 –1의 동적 클러스터) 512Byte*18 – 9KB = 0KB 낭비없음 512Byte이하의 데이터 사용시 손실 가능 |
위 표는 FAT16/ 32/ NTFR를 한눈에 비교할 수 있도록 만든 표임으로, 2GB의 파티션 에서 9KB의 데이터를 저장할 경우를 예시로 나타낸 것이다.
댓글 없음:
댓글 쓰기