본문 바로가기

Windows/_System Programming

윈도우 파일시스템(File System)

파일시스템(File System) : 운영체제(OS)가 하드디스크에 데이터를 읽고, 쓰고 찾는, 파일을 관리하기 위한 규칙



FAT32 : File Allocation Table 32 (파일 할당 테이블)

Sector(섹터)를 몇개의 최소 단위로 묶어서 각각의 묶음(클러스터 : Cluster)을 기본단위로 파일을 저장한다.


예를 들어

1MB의 디스크가 있다고 하면

1 Sector = 4096 byte (4kb)

1MB = 1024KB = 4KB*256

즉 섹터수는 256개이다.

FAT32 시스템은 이 256섹터를(2섹터 = 1클러스터로 가정) 클러스터로 묶어서 128 클러스터로 나타낸다.

이 클러스터들에 번호를 붙여서 파일을 저장하고 검색하는 기준으로 삼는다.
(색인이라고 보시면 됩니다)


클러스터 수의 효율 :

클러스터 수 ↑(섹터를 더 많은 클러스터로 나눔)

: HDD의 공간 낭비는 줄어들지만 검사해야할 클러스터(색인)의 수가 많아지므로 그만큼 파일을 읽고 쓰는데 오래걸린다.

클러스터 수 ↓(섹터를 더 적은 클러스터로 나눔)

: HDD의 공간 낭비가 늘어나지만 검사해야할 클러스터(색인)의 수가 적어지므로 파일을 읽고 쓰는데 속도가 향상된다.


(참고 : 클러스터로 대용량을 표현하는데 한계가 있기 때문에 대용량 하드에서는 FAT32 시스템을 사용할 수 없다.
(FAT32 시스템은 1TB(2000GB)까지 지원합니다. (XP는 32GB까지만 지원) 최대 단일 파일의 크기는 4GB)
클러스터는 원래 플로피 디스크를 위해서 만들어진 것이었다

또 클러스터 수가 줄어들면 HDD의 공간 낭비가 심해지는 이유는 

클러수터 수 ↓ -> 클러스터 용량 ↑ 이므로

클러스터 용량이 4KB라고 할때 2KB 파일을 저장하면 이 파일 하나가 4KB의 클러스터를 독점하게 된다.

따라서 저장하고 남은 2KB는 낭비가 되는 것이다)



NTFS : NT File System

윈도우 NT에 기반을 둔 파일 시스템으로 FAT32 시스템에 보안기능, 압축기능, 원격 저장소 기능 등
성능을 업그레이드 시켰다.

FAT32 와 다르게 클러스터를 쓰고 남은자리에 이어서 파일을 저장할 수 있다.

클러스터 크기도 FAT32보다 작을수 있어(HDD공간 낭비↓  , 속도↓) 보다 HDD를 효율적으로 사용할수 있다.
(클러스터 수와 속도의 관계는 여전합니다)

160억GB의 용량을 지원한다(이론상). 파일크기는 제한이 없다.
(클러스터의 용량이 부족하면 다음 클러스터에 이어서 저장할 수 있으므로)

Window XP 부터 사용 가능하다.