본문 바로가기

컴퓨터/기타

FAT32, NTFS 의미래

파일시스템 총정리(학교레폿)

컴퓨터 개론 수업때 파일 시스템에 대해서 조사 해오라는 레포트가 있었는데요.

1) Microsoft의 운영체제들에서 사용되는 파일시스템들(FAT, NTFS 등)의 구조 및 특성에 대해 조사하고 각각의 장단점을 비교해 보라.

§ 파일 시스템(File System)의 정의 §
컴퓨터 파일에 이름을 붙이고, 저장이나 검색을 위해 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 나타내는 방법.

컴퓨터에서 데이터를 기록하기 위해서는 미리 하드디스크드라이브에 데이터를

읽고, 쓰고, 찾기 위한 준비를 해둬야 한다. 파일 시스템은 그 준비의 규칙

을 정리해 놓은 것으로서 파일에 이름을 붙이고, 저장이나 검색을 위해 파일

을 어디에 위치시킬 것인지를 나타내는 체계를 의미한다. 도스나 윈도·OS/2·

매킨토시·유닉스 등 모든 OS가 반드시 갖추고 있는데, 예를 들면 윈도의 

FAT16·FAT32·NTFS, 리눅스의 ext2·raiserFS·ext3 등이 있다. 파일을 디렉

토리에 저장시키며 새로 생긴 파일에 이름을 붙이는데, 파일명의 길이를 제한

하기도 하고, 어떤 문자들이 사용될 수 있는지를 나타내기도 하며, 파일명 확

장자의 길이를 제한하기도 한다. 또 디렉터리 구조를 통하여 파일까지 가는 경

로를 설정하는 형식을 포함한다. 때로는 파일을 체계적으로 정리할 수 있게 지

원하는 OS나 부가 프로그램의 일부를 의미하기도 한다. NFS(Network file 

system)나 AFS(Andrew file system)가 대표적이다.


HDD 가 자료를 저장하는 최소단위는 바로 512Byte 크기의 섹터입니다. 반면 

OS 가 파일을 저장하는 최소단위는 바로 파일(File) 입니다. 섹터가 HDD 표면

위에 그려진 동심원을 잘라놓은 조각을 의미하듯이, 파일은 어떤 자료를 다른 

자료들과 구분 지어놓은 것이죠. 섹터의 경우에는 모든 섹터가 동일한 크기를 

갖지만, 파일은 서로 크기가 다르기 마련입니다. OS 는 (실린더,헤드,섹터)의 

좌표값 형태로 표현된 자료를 일련번호로 바꾸어 표시하죠. 이를 전문용어로 

매핑(Mapping)이라고 합니다. OS가 어떤 자료를 파일형태로 기록할 때에는 저

장된 위치를 찾기 쉽도록 파일이름과 자료가 기록된 위치를 나타내는 일련번호

를 따로 기록해둡니다. 도서관에서 소장 도서의 목록을 작성해 두듯이, OS도 

저장된 파일들의 이름과 일련번호의 목록을 만드는 것입니다. 이렇게 목록을 

만들어 관리하는 방법을 파일시스템이라 부릅니다.IBM PC에서 가장 보편적인 

파일시스템은 MS-DOS와 윈도우95 등에서 사용하는 FAT(File Alloction Table:

파일할당 테이블)이며,윈도우NT와 OS/2등의 OS에서는 각각 NTFS(NT File 

System),HPFS(High Performance File System)라는 파일시스템을 사용합니다. 

이러한 파일 시스템은 보통 소프트웨어 포맷시에 함께 만들어집니

다. /////////////////////////////////////////////////////////////////////

/////////////////////////////////


§ F A T (File Allocation Table) 의 구조 및 특성


▶ FATIBM PC의 기본을 이루는 파일시스템은 바로 MS-DOS와 윈도우95 등에서 

사용하는 FAT(File Allocation Table:파일할당테이블)입니다. FAT는 소프트웨

어 포맷된 HDD나 플로피 디스켓의 섹터 몇 개를 최소단위로 묶어서, 각각의 묶

음을 기본단위로 파일을 저장하는 파일시스템입니다. 예를 들어 1MB 용량의 디

스켓이 있다고 가정해봅시다. 1섹터는 512Byte이므로, 1MB = 1024KB=1048576, 

그리고 1048576 ÷ 512 = 2048. 즉, 1MB는 총 2048개의 섹터로 구성됩니다. 파

일 시스템은 본래 이 2048개의 섹터에 차례대로 번호를 붙이는 것을 의미합니

다. FAT 는 이러한 2048개의 섹터를 다시 몇 개의 묶음으로 나누고, 그 나눈 

묶음에 차례대로 번호를 붙이는 것입니다. 전문용어로 이러한 각각의 묶음을 

클러스터(Cluster)라고 합니다. 이를테면 2개의 섹터를 한 묶음으로 다시 분류

할 경우, 1MB 는 1024개의 묶음이 될 것입니다. 만일 4개의 섹터를 한 묶음으

로 분류할 경우에는 512개의 묶음으로 구분됩니다. FAT는 이렇게 나누어 놓은 

묶음을 최소단위로 해서 자료를 저장하며, 자료가 저장된 위치도 그 묶음의 일

련번호로 나타냅니다. FAT는 이처럼 몇 개의 섹터를 묶은 클러스터를 기준으

로 파일을 저장하고, 자료검색의 기준으로 삼는데 잘 생각해보면 이것이 매우 

번거로운 방법임을 알 수 있습니다. MS-DOS 나 윈도우95 등은 이러한 클러스

터 번호와 파일이름을 목록으로 만들어서 HDD 제일 앞부분에 보관하게 되는

데, 이 목록을 통칭 FAT 라고 부르는 거죠. 따라서 HDD는 파일을 읽어오려면, 

언제나 HDD 앞부분의 FAT를 뒤져 원하는 자료의 위치를 찾아낸 뒤, 원하는 클

러스터 번호로 다시 이동해서 파일을 읽어오는 과정을 거쳐야하므로, HDD 의 

자료검색속도가 늦어집니다.


FAT 에서는 lost cluster error 또는 cross linked error 라는 것이 빈번히 발

생하는데, 클러스터와 섹터부분의 연결이 끊어지거나, 뒤섞일 경우에 발생합니

다. 그밖에 한 개의 파티션에서 사용 가능한 HDD의 용량이 32MB로 제한되는 

등, FAT는 한마디로 장점이라고는 찾아볼 수 없는 파일 시스템이라고 할 수 있

죠. 그런데 왜 이처럼 형편없는 파일 시스템인 FAT가 지금까지 사용되었을까

요?그건 오직 한가지, IBM PC의 표준 OS였던 MS-DOS에서 사용하는 파일 시스템


이라는 이유 때문입니다. 만일 OS를 바꿀 경우, MS-DOS 기반 하에서 작동되는 

수많은 응용 프로그램을 포기해야하기 때문입니다. ▶ 16비트 FAT와 32MB 한

계 마이크로소프트의 OS인 MS-DOS 3.30 이하 버전을 사용할 경우, 한 대의 HDD

는 최대 32MB까지의 용량만 사용할 수 있습니다. 이유는 간단하죠. MS-DOS가 

HDD에 저장된 자료의 위치를 표현할 수 있는 최대 숫자가 제한되기 때문입니

다. 보통 HDD는 실린더,헤드,섹터에 의해서 자료가 저장된 위치를 표시하지만 

이러한 위치표시를 OS는 이해하지 못합니다. 대개의 경우 OS는 실린더,헤드,섹

터에 의해서 표시된 자료들을 자신만이 이해할 수 있는 형태로 변형해서 표시

하게 됩니다. MS-DOS는 16Bit 마이크로 프로세서에 맞추어 설계된 OS입니다. 

따라서 모든 경우에 있어서 표현 가능한 최대 값은 16Bit이므로, 2의 16승 = 

65536,즉 65536개가 한계 값이 됩니다. 결국 표시 가능한 최대 섹터의 값도 

65536개로 제한 된다는 거죠. 한 개의 섹터는 512Byte이므로, 총 용량은 32MB 

가 되는 것입니다.(65536 x 512Byte = 33554432 Byte = 32MB)즉, 16Bit OS인 

MS-DOS를 사용하는 한은 원칙적으로 32MB까지만 HDD에 저장된 자료위치를 나타

낼 수 있는 겁니다. 다시 말하면, 실제 HDD 의 용량이 256MB라도 OS 의 한계

로 인해 32MB의 용량만을 사용하도록 제약을 받는다는 얘기죠. 그 결과 MS-

DOS 3.30 이하 버전에서는 대용량의 HDD를 32MB 단위로 파티션을 나누어 사용

해야만 했습니다. 물론 한 대의 HDD를 여러개로 쪼개어 사용하는 것은 매우 번

거롭고 귀찮지만, 아예 사용하지 못하는 것보다 낫기 때문이죠. IBM PC를 다루

다보면 16Bit OS의 한계라는 말이 빈번히 나오는데, 16Bit의 최대값인 65536

은 하드웨어, 소프트웨어 모든 측면에 있어서 장시간 동안 개발자와 사용자의 

발목을 잡는 약점으로 작용해왔습니다. 이러한 16Bit OS의 한계는 윈도우95 

OSR2 가 등장하기까지 지속되었습니다. ▶ 16비트 FAT의 확장 16Bit 마이크로 

프로세서의 경우, 마이크로 프로세서 단독으로는 절대로 16Bit 이상, 즉 65536

개 이상의 숫자를 다룰 수 없습니다. 따라서 16Bit 마이크로 프로세서에서는 

소프트웨어적인 방법을 사용해서 그 이상의 숫자를 표현하게 됩니다.예를 들

면 16Bit를 두 개 묶어서 32Bit로 숫자를 표현하는 것이죠. 이처럼 소프트웨어

적으로 32Bit를 처리하는 것과 386 이상의 32Bit 마이크로 프로세서가 처리하

는 것을 비교하면, 당연히 32Bit 마이크로 프로세서 쪽이 월등히 빠릅니다. 따

라서 소프트웨어로 32Bit를 표현하는 것은 일종의 고육지책(苦肉之策)이죠. 

MS-DOS 3.30 이하에서 지원하는 32MB 용량은 너무 작기 때문에, 보다 많은 용

량의 HDD를 지원할 필요성이 강하게 대두되었습니다. 문제는 MS-DOS가 16Bit 

OS 이므로 근본적으로 이러한 문제를 해결할 방법이 없다는 겁니다.따라서 MS-

DOS 4.0 이상 버전에서는 소프트웨어적인 방법을 사용하여, 보다 많은 용량의 

HDD를 지원하는 편법을 사용하게 되었죠. MS-DOS 4.0 이상 버전을 OS로 사용하

더라도 16Bit, 즉 65536이란 숫자의 한계는 여전합니다.그 결과 MS-DOS 4.0은 

1섹터 = 512 Byte라는 용량을 포기했습니다. MS-DOS의 파일시스템인 FAT는 1섹

터 = 1 클러스터라는 개념을 사용하는데, MS-DOS 4.0 이상에서부터는 2섹터 = 

1클러스터, 4섹터 = 1클러스터.... 와 같은 식으로 여러 개의 섹터를 묶어서 

한 개의 클러스터에 대응시키는 방법으로 용량을 확장했습니다. 이처럼 섹터 

여러개를 묶을 경우에는 65536개의 제한된 숫자로도 표시할 수 있는 용량이 늘

어나게 되죠. 즉, 1 클러스터에 대응하는 섹터의 숫자를 다음과 같이 늘리면, 

용량이 다음과 같이 늘어납니다.▶16비트 FAT의 한계 MS-DOS 4.0 이상에서 '1

클러스터 = 2 섹터 이상'을 대응시켜 32MB 이상의 용량을 나타내는 방법은 일

종의 편법이므로 몇가지 단점을 갖고 있습니다. 제일 심각한 문제는 바로 HDD

의 공간낭비(=slack) 가 많이 발생된다는 겁니다. 앞서 설명한 것처럼 768 

Byte크기의 파일을 2048MB 의 HDD에 저장할 경우를 생각해봅시다.32MB HDD ☞ 

1 sector 512 Byte 이므로, 저장하려면 2 sector 필요∴(512 + 512) - 768 = 

256 Byte 낭비2048 HDD ☞ 1 sector 32,768 Byte 이므로, 저장하려면 1 

sector 필요∴ 32,768 - 768 = 32,000 Byte 낭비즉, 몇천 Byte 크기의 자잘한 

파일들을 저장할 경우에는 실제 저장공간보다 슬랙으로 낭비되는 공간이 더 많

게 되겠죠. 만일 768 Byte 크기의 파일 10000 개를 2048 MB 용량의 HDD에 저장

한다고 가정해봅시다.실제 파일용량 : 768 Byte x 10,000 = 7680,000 Byte ≒ 

7.32 MB낭비 HDD용량 : (32,768 Byte - 768 Byte) x 10,000 = 320,000,000 ≒ 

300 MB위에서 보는 것과 같이 약 7MB를 저장하기 위해서 300MB의 HDD 저장공간

을 낭비해야만 하는 겁니다. 비록 HDD의 공간낭비가 필요악이라고 해도 이래서

는 주객이 완전히 전도된 꼴이죠. 만일 1 클러스터 = 1 섹터 로 사용할 수 있

다고 가정해봅시다.실제 파일용량 : 768 Byte x 10,000 = 7680,000 Byte ≒ 

7.32 MB낭비 HDD용량 : {(512 + 512)Byte - 768 Byte} x 10000 = 2560000 

Byte ≒ 2.4 MBHDD 낭비공간은 287MB 이상 줄어들 게 됩니다. 물론 1 cluster 

= 1 sector를 사용하는 것이 HDD의 작동속도 측면에서 반드시 좋은가에 대해서

는 이견의 여지가 많이 있습니다. 예를 들어 2048MB HDD를 기준으로 삼을 경

우, 섹터수에 따라 클러스터 개수는 다음과 같이 변합니다.1클러스터 = 1 섹

터 ☞ 클러스터 4194303개1클러스터 = 64 섹터 ☞ 클러스터 65536 개MS-DOS나 

윈도우 95는 클러스터 번호로 자료를 찾기 때문에, 클러스터의 숫자가 많으면 

빠른 속도로 자료를 찾기가 힘들어집니다. 하지만, 이러한 자료 검색속도 상

의 문제를 감안하더라도, 16Bit FAT를 사용하면 HDD의 공간낭비가 지나치게 많

다는 사실만은 틀림없는거죠. 


※ 참고 FAT 란 MS-DOS가 원하는 자료를 쉽게 찾기 위해 만들어 놓은 일종의 

색인이다. 1 클러스터가 1 섹터일 경우, 클러스터가 64 섹터일 때릿?검색해야

할 색인의 숫자가 64배로 늘어난다. 따라서 HDD가 동일한 속도로 작동하더라

도 실제 검색속도는 더 늦어지게 되는 것이다.▶ 32비트 FAT MS-DOS 4.0 이상

에서 지원하는 2GB는 충분히 큰 용량이지만, 최근처럼 초 대용량 HDD가 보급

된 시점에서는 역시 부족한 용량이죠. 16Bit MS-DOS를 사용한다면 결코 2GB 이

상의 용량을 나타낼 수 없지만, 32Bit OS 전용 파일시스템을 사용한다면 2GB 

이상의 대용량 파티션과 파일을 사용할 수 있습니다. 윈도우95 OSR2 에서부터 

지원되기 시작한 마이크로 소프트의 새로운 파일 시스템이 바로 FAT32입니다. 

FAT32 는 기존 MS-DOS에서 사용하던 FAT16을 확장한 규격으로, 2GB 이상의 용

량을 표현할 수 있습니다. 문제는 FAT32는 32Bit 숫자를 사용하여 용량을 표시

하므로, 기존 FAT16과는 전혀 상위 호환성이 없다는 것이죠. 즉, MS-DOS나 기

존 윈도우95는 FAT32로 포맷한 HDD를 전혀 읽을 수 없습니다.(FAT32 는 기존 

FAT16을 읽을 수 있음)윈도우 95 OSR2 나 윈도우98 등의 32Bit OS는 32 Bit 숫

자, 즉 4294967296(=4096MB) 까지의 숫자를 표현할 수 있습니다. 따라서 1 클

러스터에 512 Byte의 용량을 대응시키더라도, 512 Byte x 4096 MB = 2097152 

MB = 2048 GB, 최대 2048 GB의 대용량을 나타낼 수 있습니다. 여기에 MS-DOS 

4.0 이상에서부터 도입된 '1 클러스터 = 2 섹터이상' 의 대응방법을 사용하

면, 표현 가능한 용량은 거의 무한 대로 늘어납니다.문제는 1 클러스터 = 1 섹

터로 다룰 경우 HDD의 공간낭비는 줄어들지만 HDD의 자료검색속도가 늦어진다

는 것이죠. FAT는 HDD 앞부분에 자료 검색용 색인을 만들어두는 방식이므로, 

항상 HDD 앞부분의 색인에서 필요한 자료의 위치를 찾습니다. 클러스터이 숫자

가 늘어날수록 검색해야할 색인의 분량도 늘어나고, 자료검색 속도도 느려집니

다. 따라서 FAT32를 사용하는 윈도우 95 OSR2 나 윈도우 98 등에서는 1클러스

터 = 8섹터, 즉 4096 Byte를 기본단위로 사용할 것을 권장하고 있습니다. 

4096 Byte는 HDD 공간 낭비문제와 자료검색 속도라는 두 가지 요소를 적절히 

조화시킨 단위입니다.(일반적인 파일크기는 4096Byte 이상임).FAT32 는 기존 

16Bit OS가 갖는 HDD 공간제약의 문제점은 근본적으로 해결했습니다. 하지만, 

FAT32의 경우에도 여전히 클러스터를 사용하는 악습에서 벗어나지 못하고 있습

니다. 클러스터 방식 파일시스템은 원래 플로피 디스켓을 위해서 만들어진 것

이므로, 대용량 HDD에 적용하기는 적합치 못합니다. 따라서 FAT32는 대용량 

HDD를 사용하기 위해서 만들어진 과도기적 파일 시스템이라고 볼 수 있습니다



FAT (File Allocation Table) : NT 4에서 이용할 수 있는 가장 단순하고 최저 

성능의 파일 시스템이다. FAT는 DOS와 윈도우 3.x 용의 파일 시스템이다. 윈도

우 95 는 FAT의 확장된 버전인 VFAT를 사용하고 있다.


/////////////////////////////////////////////////////////////////////////

/////////////////////////////


§ NTFS의 구조 및 특성


NTFS는 윈도우즈 NT 운영체계가 하드디스크 상에 파일들을 저장하고 검색하는 

데 사용하는 시스템이다.  NTFS의 역할은 Windows 95의 FAT나 OS/2의 HAFS에 

해당하는 것이다.  그러나 NTFS는 FAT나 HPFS에 비해 성능이나 확장성 및 보안

성 면에서 많은 개선점들을 지원한다.  특히 주목할만한 NTFS의 기능 들은 다

음과 같다.


         ◈ 파일 클러스터들을 추적하기 위해 b_tree 디렉토리 개념을 사

용         ◈ 파일의 클러스터 들에 관한 정보와 다른 데이터들이 각 클러스

터에 함께 저장 된다. (FAT는 관리용 테이블 만이 저장된

다.)         ◈ 최대 64비트 약 160억 바이트 정도의 매우 큰 파일도 지

원         ◈ 서버관리자가 누가 어떤 파일만을 엑세스할 수 있는지 등을 통

제 가능         ◈ 통합된 파일 압축


       ◈ 유니코드 기반의 파일이름 들을 지원




NTFS는 윈도우 NT와 2000에서 지원하는 파일시스템이다 이것은 윈도우98에서 

인식을 못하는 것으로 보안성을 생각해서 이런식으로 만들어진 것이라 보인다

NTFS의 주요기능 들

- 긴 파일 이름들 지원- 디렉토리나 파일에 의한 접근 제어- 각각의 파일이나 

디렉토리들의 압축 가능- NT서버로부터 Mac 사용자들과 디렉토리 공유- 큰 파

티션에 대한 효율성- 파티션이 찼을 경우 공간 추가


NTFS는 Windows NT를 위한 새로운 파일 시스템이다. NTFS는 모든 사람들에 사

용되기 위해서 개발되었고, 일반적으로 사용되는 다른 모든 파일 시스템의 모

든 기능을 포함하여 개발되었다. HPFS 또한 긴 파일이름을 지원하지만, NTFS

는 파일이름으로 한자나 히브리어 같은 문자도 사용할 수 있다. 또한 NTFS는 

DOS 프로그램을 위해서 8.3형식의 파일이름도 지원한다. NTFS는 DOS, OS/2, 

Windows와 같은 case-insensitive file access를 지원하고, 또한 UNIX와 같은 

case-sensitive file access도 지원한다.


NTFS는 다양한 multi-user security model을 지원한다. 파일 매니저는 사용자

의 계정이 속한 그룹을 기반으로하고 있고, 이 파일 매니저에 의해서 생성된 

Windows NT security가 존재한다. NT Advanced Server는 Apple File Server를 

시뮬레이트하는 Macintosh security model을 지원한다. Unix 응용 프로그램들

은 POSIX 모델을 따르는 security를 볼 것이다.


Windows NT Server는 Machintosh 컴퓨터의 디스크가 NTFS형식으로 되어있지 않

으면 Machintosh의 디스크 공간과 공유하지 않는다. NTFS는 SQL server나 SMS

와 같은 BackOffice 프로그램들에 의해서 사용된다. 그러나 Windows NT 

Workstation은 VFAT과 HPFS volume들과 같이 잘 동작하는 central server와 달

리 잘 동작하지 않는다.


NTFS는 각각의 volume의 log 영역을 갱신한다. 시스템이 crash된 이후에 이 

log 영역은 HPFS보다 훨씬 빠른 복구를 제공함으로써 즉시 문제를 해결하는데 

사용될 수 있다.


NTFS는 "Volume sets"를 지원한다. "Volume"은 몇 개의 디스크에 흩어져 있는 

서로 다른 몇몇 개의 빈 공간으로부터 생성된 것이다. 이 volume과 관련된 하

나의 디스크 문자를 "volume sets"이라고 한다. 만일 하나의 NTFS volume이 

다 찼다면, 같은 디스크나 혹은 다른 디스크에 있는 빈 디스크 공간의 여분을 

추가하여 동적으로 확장되어질 수 있다.


DOS는 전체 디스크를 압축할 수 있는 드라이버를 가지고 있는데 비해 NTFS는 

자주 사용하지 않는 파일이나 디렉토리를 개별적으로 선택하여 압축할 수 있

는 기능을 제공한다.  파일 메니저에서 dataset이나 director를 highlight한 

후에 File menu 풀-다운에서 Compress를 선택하면 된다. 파일들은 사용될 때 

압축이 자동으로 풀리게 된다. 만일 압축 디렉토리 안에 저장되어 있다면 새로

운 파일들은 압축된다. 자주 사용되는 파일들은 시스템이 느려지는 것을 막기 

위해서 압축이 풀린 상태로 놔두는 편이 좋다.


LINUX나 DOS/Windows 95를 NTFS에서 읽기 전용으로 접근할 수 있도록 해 주는 

driver를 설치할 수 있다. 그러나 이것은 NT file security를 그대로 지나치

기 때문에 디스크에 있는 모든 파일을 접근할 수 있다. 또한 DOS 스타일의 파

일 시스템 드라이버를 가지고 Windows 95를 수행시키는 것은 performance에 영

향을 줄 수 있으므로 좋은 생각이 아니다. Windows NT Server는 NTFS volumes

을 네트워크를 통해서 공유할 수 있고 다른 OS도 파일을 접근 할 수 있다. 결

국 NTFS는 dedicated Windows NT "Backoffice" Server에 사용되는 모든 공간

에 대한 유일한 좋은 선택으로서 강력히 권하고 싶다. 그러나 여러개의 OS로 

부팅하는 workstation상의 local file들에 대해서는 좋은 선택이 아닌 것 같

다.





▶호환성 여러 운영 체제가 분할 영역을 액세스하는 경우 모든 종류의 운영 체

제에서 읽을 수 있는 파일 시스템을 사용해야 하는데 이는 모든 운영 체제와 

호환되는 FAT 파일 시스템을 사용해야 한다는 것을 의미한다. NTFS의 경우 

Windows NT와 Windows 2000에서만 사용할 수 있다. 그러나 이러한 제한 사항

은 로컬 컴퓨터에만 적용된다. 예를 들어, Windows NT와 Windows 98이 같은 컴

퓨터에서 실행 중이고 같은 분할 영역을 액세스한다면 FAT로 포맷해야 한다.. 

그러나 Windows NT의 단일 운영 체제인 컴퓨터라면 NTFS로 포맷해도 네트워크

에서 다른 운영 체제를 실행 중인 컴퓨터가 분할 영역을 액세스할 수 있다. ▶

볼륨 크기 파일 시스템 선택에 있어서 중요한 것은 분할 영역의 물리적인 크기

이다. FAT는 최고 2GB의 분할 영역 크기를 지원한다.. 분할 영역 크기가 2GB보

다 크면 FAT32나 NTFS로 포맷하거나 분할 영역을 작게 나누어야 한다.. 그러

나 이 때 NTFS로 포맷할 경우 향상된 기능으로 인해 FAT보다 오버헤드가 디스

크 공간을 많이 차지하게 된다. NTFS는 사용되는 모든 볼륨에 대하여 대략 5MB

를 소모하기 때문에 분할 영역이 200MB보다 작을 경우 NTFS와 연결된 오버헤

드 때문에 디스크 공간이 손실되지 않도록 FAT로 포맷해야 한다.. NTFS 분할 

영역의 최대 크기는 16 exabytes이다. ▶결함 허용 일단 분할 영역의 크기와 

호환성 문제가 해결되었으면 파일 시스템 선택이 자유로워진다. 이제 고려해

야 할 사항은 결함 허용인데 Windows NT는 속도와 결함 허용을 증가시키는 몇 

가지 다른 디스크 액세스 방법을 소프트웨어를 통해 지원한다.. 이러한 옵션에

는 디스크 스트라이핑과 패리티가 있는 디스크 스트라이핑이 있는데, 대부분 

이러한 옵션들은 NTFS 파일 시스템에서 사용할 수 있다. 그러나 하드웨어 기반

의 스트라이프 세트의 경우는 다른 파일 시스템에서도 사용할 수 있다. 고급 

결함 허용 옵션이 없어도 NTFS는 FAT나 FAT32보다 훨씬 뛰어난 결함 허용 기능

이 내장되어 있다. 예를 들면 NTFS에서 하드 디스크의 내용을 변경할 때 로그 

파일에 변경 사항에 대한 기록을 만들기 때문에 전원 공급이 중단되거나 디스

크 오류의 경우에도 Winodws NT는 로그 파일을 사용하여 데이터를 복구할 수 

있다. 또한 NTFS는 오류 메시지를 표시하지 않고 하드 디스크 오류를 자동으

로 복구한다.. 즉, Windows NT에서 NTFS가 분할 영역에 파일 쓰기를 할 경우, 

파일을 복사하여 메모리에 저장하고 다시 파일을 읽어들인 후 메모리의 파일 

복사본과 비교하여 두 파일이 일치하지 않으면 해당 하드 디스크 섹션을 불량

으로 표시하고 다시 사용하지 않는다. 대신 메모리에 저장된 파일의 복사본을 

이용하여 하드 디스크의 다른 장소에 파일을 다시 쓴다. 반면 FAT와 FAT32 파

일 시스템에는 이러한 안전 기능이 없습니다. FAT와 FAT32 파일 시스템에서는 

2개의 파일 할당 테이블 복사본을 만들어 파일이 손상될 경우를 대비하지만 오

류 자동 복구 기능은 없고 대신 디스크 읽기와 같은 유틸리티를 실행해야 한

다.. ▶보안 NTFS에는 보안 시스템이 내장되어 있어서 디렉터리와 개별적인 파

일에 대한 사용 권한을 허가할 수 있고 파일과 디렉터리를 원격 또는 로컬 침

입자로부터 보호할 수 있다. 예를 들어, 누군가가 사용이 제한된 파일을 액세

스하려고 하면 NTFS의 내장된 보안 시스템이 이 파일을 보호한다.. FAT나 

FAT32를 사용하는 경우 공유 사용 권한 기능을 통해 보안을 유지하는데, 비록 

네트워크에서는 파일을 보호할 수 있지만 로컬 침입자로부터 파일을 보호할 수

는 없습니다. 로컬 PC에 직접 가서 얼마든지 사용 제한된 파일을 액세스할 수 

있기 때문이다. 또한 공유 사용 권한 기능은 자칫 관리하기가 힘들어질 수 있

다. 각각 고유 디렉터리를 가지는 사용자 수 백명이 한 서버를 사용한다고 가

정하면 이들 각각에 대해 공유 사용 권한을 허가해야 하고 이들의 일부가 겹치

게 되어 추가적인 문제가 발생할 수 있다. ▶파일 압축 NTFS의 또 한 가지 장

점은 본래 파일의 압축을 지원한다는 것이다. MS-DOS 6.22 파일 압축 프로그램

을 사용해 본 사용자라면 이미 알고 있겠지만, 파일 압축을 하려면 전체 분할 

영역을 압축해야 하고 시간도 오래 걸릴 뿐 아니라 완료된 후에는 PC의 파일 

액세스 속도가 눈에 띄게 느려지고, 사소한 디스크 문제가 전체 분할 영역을 

못쓰게 만들 수도 있다. 한편 FAT32의 경우는 압축 기능을 제공하지 않는다. 

NTFS의 압축 기능은 이전 것보다 훨씬 뛰어난데 이 기능으로 파일이나 디렉터

리를 선택하여 개별적으로 압축할 수 있다. 파일을 개별적으로 압축할 수 있

기 때문에 사소한 하드 디스크 문제가 발생해도 압축 구성표에 영향을 미치지 

않고 전체 분할 영역을 못쓰게 하는 문제는 발생하지 않는다. 또한 잘 사용하

지 않는 파일만 선택해서 압축함으로써 사용할 때만 이 파일들을 압축 해제할 

수도 있다◆ NTFS 5.0의 신기능 앞에서도 잠시 언급했듯이 윈도우 95 OSR2 버

전부터 지원하기 시작한 FAT32 파일시스템을 윈도우NT 4.0에서 지원하지 못했

으므로 윈도 95나98과 함께 멀티부팅으로 사용했던 사용자들은 파일 공유를 하

지 못하여 어려움을 많이 겪어야 했다. 또한 하드디스크의 대용량화를 따르지 

못하는 NTFS 4.0의 기능에 불만이 커갈 수밖에 없었다. 이에 따라 윈도우 2000

부터 제공되는 새로운 파일 시스템 NTFS 5.0은 FAT32 파일 시스템을 지원하

며, 이로 인해 2GB의 제약에서 해방되어 부트 파티션을 4GB 이상 사용할 수 있

게 되었다. 이것은 기존 NTFS 4.0의 특징인 압축과 보안 기능에 여러 가지 기

능이 더 추가된 파일 시스템이다. 이외에도 개별적인 파일의 허가되지 않은 사

용을 막기 위해 파일 레벨의 보안(암호화: Encryption)를 지원하며, 재부팅하

지 않고 하드디스크 용량을 확장할 수 있다. 윈도 NT 4.0에서는 하드디스크를 

넓게 쓰기 위해 용량을 확장하면 반드시 재부팅을 해야 했습니다. 단축 아이콘

을 만들었는데 단축 아이콘의 대상 프로그램을 다른 곳으로(다른 하드디스크

나 서버, 파티션) 이동시켜 버렸을 때 전에는 이동되어진 대상을 찾기 힘들었

는데, 윈도우 2000은 분산 링크 트래킹(Distributed Link Tracking)을 지원해 

이동된 대상 프로그램을 쉽게 찾을 수 있다. 그래서 한번 단축 아이콘을 만들

어두면 원래 프로그램을 어디로 옮겨 놓아도 단축 아이콘의 링크는 자동으로 

그 이동된 곳으로 링크가 바뀌어 집니다. 유닉스를 포함한 다른 NOS에는 포함

되었던 디스크 쿼터 기능(사람마다 사용할 수 있는 용량을 제한 할 수 있는 기

능)이 NTFS 5.0에는 포함되어 있다. 예를 들어 사용자별로 일정한 용량만 할당

해 주고 더 이상은 못쓰게 제한하는 기능이 추가된 것이다. 또한 하드디스크

를 추가하면 일반적으로 하나의 디스크가 한 개의 드라이브 문자를 사용해왔습

니다. 그래서 NT가 설치된 시스템에 하드디스크를 추가했을 때 드라이브 명이 

바뀌어서 혼란스러워 했던 경험이 있을 것이다. D:, E:, F: 같은 드라이브 문


자에 대한 필요성을 없애기 위해서 NTFS directory에 다른 볼륨을 접목시킬 

수 있는 마운트 포인트 기능과 파일이나 문서들의 빠른 검색을 지원하기 위하

여 풀 텍스트와 프로퍼티 인덱싱(Full text and property indexing)기능이 추

가되었다. 


/////////////////////////////////////////////////////////////////////////

/////////////////////////////§ FAT 와 NTFS 의 장점 및 단점.


▶ FAT의 장점- 호환성 (Compatibility) : NT, DOS, 윈도우 95, 윈도우 3.x, 

OS/2가 모두 FAT 볼륨을 사용할 수 있다. NT만을 운영체제로 하였더라도, FAT

를 사용하면 플로피에서 부트하여 파일을 사용할 수 있다. 또한, 일반적인 

DOS 유틸리티를 사용하여 볼륨을 검사하고 조작할 수 있는 기능을 제공한다. 

컴퓨터가 다른 운영체제들을 가지고 있고 NT를 가진 분할영역이 이용 가능한 

많은 공간을 가지고 있다면, 그것을 낭비하지 않고 NT에서가 아닌 다른 어플리

케이션으로부터 그 공간을 사용할 수 있다.- 단순성 (Simplicity) : FAT 파일 

시스템은 단순하고 신뢰성이 있다. 자체적인 오버 헤드로써 많은 디스크 공간

을 사용하지 않고, 많은 메모리를 필요로 하지 않는다. FAT는 20년 이상 그 신

뢰성이 증명되어 왔다.-저용량 볼륨에서의 파일 사용 : FAT는 상당히 단순하

기 때문에 운영을 위한 추가 작업이 적다. 대용량의 볼륨을 위하여 최적인 파

일 시스템은 아니지만, 저용량 볼륨을 위해서는 많은 기능을 지닌 최신의 파

일 시스템들보다 많은 경우에 실제적으로 상당히 성능면에서 우수하다.▶ FAT

의 단점- 미약한 보안 기능 : 볼륨에 있는 파일에 대한 접근을 제어할 수 있

는 내장된 방지 기능이 없다. 특정 파일이나 디렉토리에 대한 이러한 종류의 

보호를 필요로 한다면, FAT가 그 해결책이 되지는 못할 것이다. 여러 사용자들

이 사용하는 시스템이라면, FAT는 보안 기능을 전혀 제공하지 못한다는 것을 

알아야 한다.- 대용량 볼륨의 비효율적인 이용 : FAT는 오늘날의 대용량 하드 

디스크를 관리할 수 있도록 설계되지는 않았다. 따라서 대용량 볼륨에서의 디

스크 공간의 이용에서는 매우 낭비적일 수 있다. 많은 파일을 가진 대용량 볼

륨에서의 파일 사용은 FAT가 파일을 검색하는데 정교하지 못한 프로시저를 사

용하기 때문에, 매우 느려질 수 있다.▶ NTFS의 장점- 대용량 볼륨에 대한 효

과적인 지원 : NTFS는 용량이 큰 하드 디스크 분할영역에 있는 파일들을 매우 

효과적으로 관리하여, 빠른 파일 접근 기능을 제공한다.- 디스크 공간의 효과

적인 사용 : NTFS는 상대적으로 작은 클러스터 크기를 사용하여 파일을 저장

할 때 낭비되는 디스크 공간이 적도록 한다.- 보안 기능 (Security) : NTFS는 

파일과 디렉토리에 권한을 지정할 수 있고, 플로피나 다른 운영체제를 통해 부

트하여 보안 기능을 통과할 수 없도록 한다. 또한 NTFS는 파일이나 디렉토리

에 접근한 사용자를 기록하는 파일 접근 로그를 유지할 수 있도록 한다. NTFS

는 미국 정보의 C-2 보안 기준을 따른다.- 튼튼함 (Robustness) : NTFS는 시스

템 고장이나 하드웨어 고장시 데이터의 손실을 방지할 수 있도록 파일 트랜잭

션에 대한 기록을 한다. 트랜잭션은 완료되기 전에 고장이 발생하였다면, NT

는 시스템이 재시작되었을 때 그 문제를 인식하고 필요한 교정 작업을 수행한

다. NTFS는 디스크 결함 허용 기능(Fault Tolerance)을 제공하여 다중 디스크 

시스템에서 한 하드 디스크의 손실로부터 데이터를 보호한다. 그러나 이 기능 

은 일반적으로 NT 4의 서버 버전에서만 이용 가능하다.- 자동 압축 

(Automatic Compression) : NTFS는 특정 파일이나 파일들이 있는 디렉토리를 

자동적으로 압축할 수 있도록 한다. (다른 파일 시스템에서는 파일을 압축하거

나 풀기 위해서는 매번 유틸리티를 실행시켜야 한다.)- 향상된 파일이름 지

원 : NTFS는 대소문자와 Unicode(16비트 문자를 허용하고, 외래어 지원을 위

해 사용되는 형식), 254문자까지의 긴 파일 이름을 지원한다.▶ NTFS의 단점사

용자의 볼륨에서 사용되는데 있어서, NTFS는 몇가지 단점이 있다. NTFS는 사용

되는 모든 볼륨에 대하여 대략 5MB를 소모한다. 수행하는 모든 작업으로 인하

여, 저용량의 볼륨에서 사용될 때, 특히 512MB에서는 크게 빠르지 않다. 또

한, NTFS는 다른 운영체제에서는 사용할 수 없다는 것을 주목하여야 한다. 이

는 여러 운영체제들로 컴퓨터를 사용하는 이중부트 구성을 사용하려고 할 때, 

매우 중요한 고려 사항이다.



출처 : http://kin.naver.com/open100/detail.nhn?d1id=1&dirId=10301&docId=608914&qb=TlRGUyDrs7TslYjquLDriqXsnbQg65uw7Ja064KcIOydtOycoA==&enc=utf8&section=kin&rank=3&search_sort=0&spq=0&pid=RUfjcF5Y7tNssZXNQj4sssssstw-012018&sid=UXSaC3JvLC8AAFxQc@s

'컴퓨터 > 기타' 카테고리의 다른 글

[Unix] 단말기 폭 초과 발생 시 해결 방법  (0) 2015.12.08
무선네트워크 드라이버 설치 후에도 잡히지 않을 때  (1) 2015.11.19
FPE에 대한 이해  (0) 2014.07.09
SVN에 sh파일 커밋  (1) 2014.02.17
Revolution OS  (0) 2013.02.22