FAT, HPFS 및 NTFS 파일 시스템의 개요


요약


이 문서에서는 Windows NT에서 FAT, HPFS 및 NTFS의 차이점과 그 장단점을 설명합니다. 이 문서는 다음과 같은 내용으로 구성되어 있습니다.


  • FAT 개요
  • HPFS 개요
  • NTFS 개요
참고: HPFS는 Windows NT 버전 3.1, 3.5 및 3.51에서만 지원됩니다. Windows NT 4.0에서는 HPFS 파티션을 지원하지 않으며 액세스 할 수 없습니다. 또한 FAT32 파일 시스템은 Windows 98/95 및 Windows 2000에서만 지원됩니다.

추가 정보


FAT 개요

FAT는 Windows NT에서 지원하는 가장 단순한 파일 시스템입니다. FAT 파일 시스템의 특성은 파일 할당 테이블(FAT)로 표시되며, 실제로는 볼륨의 "최상위"에 있는 테이블입니다. 볼륨을 보호하기 위해 FAT의 두 복제본은 하나가 손상될 경우에 대비해 유지됩니다. 또한 시스템의 부팅 파일을 올바르게 찾을 수 있도록 FAT 테이블과 루트 디렉터리를 고정된 위치에 저장해야 합니다.


FAT로 포맷된 디스크는 볼륨 크기에 따라 크기가 결정되는 클러스터에 할당됩니다. 파일이 생성되면 디렉터리에 항목이 생성되고 데이터가 포함된 첫 번째 클러스터 번호가 설정됩니다. FAT 테이블의 이 항목은 이것이 파일의 마지막 클러스터인지 또는 다음 클러스터를 가리키는지 나타냅니다.


FAT 테이블을 업데이트 하는 것은 시간이 많이 소요되나 동시에 매우 중요합니다. FAT 테이블이 정기적으로 업데이트 되지 않으면 데이터가 손실될 수 있습니다. FAT 테이블을 업데이트 할 때 마다 디스크 읽기 헤드가 드라이브의 논리적 트랙이 제로가 되어야 하므로 시간이 많이 걸립니다.


FAT 디렉터리 구조는 조직이 없으며, 파일은 드라이브에 처음으로 열린 위치에 포함됩니다. 또한 FAT는 읽기 전용, 숨김, 시스템 및 아카이브 파일 속성만 지원합니다.

FAT 네이밍 규칙

FAT는 기존 8.3 파일 네이밍 규칙을 사용하며, ASCII 문자 집합으로 모든 파일 이름을 생성해야 합니다. 파일 또는 디렉터리의 이름은 최대 8자까지 지정할 수 있고 마침표(.) 구분 기호는 최대 3자까지 지정할 수 있습니다. 이름은 문자 또는 숫자로 시작해야 하며 다음을 제외한 모든 문자를 포함할 수 있습니다.


. " / \ [ ] : ; | = ,
이러한 문자를 사용하면 예기치 않은 결과가 발생할 수 있습니다. 이름에는 공백을 사용할 수 없습니다.


예약된 이름은 다음과 같습니다.


CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL
모든 문자가 대문자로 변환됩니다.

FAT의 장점

지원되는 모든 파일 시스템에 대해 Windows NT에서 삭제 취소 기능을 수행할 수 없습니다. 삭제 취소 유틸리티는 하드웨어에 직접 액세스 하려고 시도합니다. 이는 Windows NT에서는 수행할 수 없습니다. 그러나 파일이 FAT 파티션에 있고 MS-DOS 아래에 시스템이 다시 시작되면 파일을 다시 설정할 수 있습니다. FAT 파일 시스템은 약 200MB의 드라이브 및/또는 파티션에 가장 적합합니다. FAT는 오버헤드가 거의 없기 때문입니다. FAT의 장점에 대한 자세한 내용은 다음을 참조하십시오.

  • Microsoft Windows NT Server "개념 및 계획 가이드", 5장, 제목 "파일 시스템 선택"
  • Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "파일 시스템 선택"
  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", 3장, 섹션3 "사용할 파일 시스템과 볼륨 선택"

FAT의 단점

이상적으로는, 200MB 이상의 드라이브 또는 파티션을 사용할 경우 FAT 파일 시스템을 사용해서는 안됩니다. 이것은 볼륨의 크기가 증가함에 따라 FAT로 인한 성능이 빠르게 감소하기 때문입니다. FAT 파티션이 있는 파일에는 사용 권한을 설정할 수 없습니다.


MS 파티션은 MS-DOS의 Windows NT 및 2GB에서 최대 4GB의 크기로 제한됩니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

ARTICLE-ID: 118335
제목 : MS-DOS의 최대 파티션 크기
FAT의 다른 단점에 대한 자세한 내용은 다음을 참조하십시오.

  • Microsoft Windows NT Server "개념 및 계획 가이드", 5장, 제목 "파일 시스템 선택"
  • Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "파일 시스템 선택"
  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", 3장, 섹션3 "사용할 파일 시스템과 볼륨 선택"

HPFS 개요

HPFS 파일 시스템은 OS/2 1.2에서 처음으로 도입되어 시장에 현존하는 보다 큰 하드 드라이브에 접근할 수 있도록 허용했습니다. 또한 네트워크 서버 시장의 증가 요구에 따라 네이밍 시스템, 조직 및 보안을 확장 할 수 있는 새로운 파일 시스템이 필요했습니다. HPFS는 FAT 디렉터리 조직을 유지하지만, 파일 이름에 따라 디렉터리의 자동 정렬을 추가합니다. 파일 이름은 최대 254 더블 바이트까지 확장 할 수 있습니다. 또한 파일을 "데이터" 및 특수 특성으로 구성하여 다른 명명 규칙 및 보안을 지원할 때 유연성을 높일 수 있습니다. 또한 할당 단위가 클러스터에서 물리적 섹터(512바이트)로 변경되어 디스크 공간 손실이 줄어듭니다.


HPFS는 FAT에 비해 디렉터리에 대한 보다 많은 정보를 보유합니다. 특성 파일에는 수정, 생성 및 액세스 날짜와 시간에 대한 정보가 포함됩니다. 파일의 첫 번째 클러스터를 가리키는 대신 HPFS 아래 디렉터리 항목은 FNODE를 가리킵니다. FNODE는 파일의 데이터를 포함하거나 파일의 데이터를 가리키는 포인터 또는 궁극적으로 파일의 데이터를 가리키는 다른 구조를 포함할 수 있습니다.


HPFS는 가능한 한 인접한 섹터에 파일을 할당하려고 시도합니다. 파일을 순차적으로 처리 할 때 속도를 높이기 위해 이 작업을 수행합니다.


HPFS는 드라이브를 8MB 구간으로 구성하고, 가능한 경우 파일이 이러한 밴드 중 하나에 포함 될 때마다 구성합니다. 이러한 각 밴드 사이에는 2K 할당 비트맵이 있어 대역 내의 섹터를 추적하고 할당 되지 않은 섹터를 추적합니다. 밴드로 구성하면 드라이브 헤드가 디스크의 논리적 상단(일반적으로 실린더 0)으로 돌아갈 필요가 없이 가장 가까운 밴드의 할당 비트맵으로 돌아가 파일이 어디에 저장되었는지 확인하기 때문에 성능이 증가합니다.


또한 HPFS는 몇 가지 고유한 특수 데이터 개체를 포함하고 있습니다.

슈퍼 블록(Super Block)

슈퍼 블록은 논리 섹터 16에 있으며 루트 디렉터리의 FNODE에 대한 포인터를 포함합니다 HPFS를 사용하는 가장 큰 위험 중 하나는 불량 섹터로 인해 슈퍼 블록이 손실되거나 손상되어 드라이브의 나머지 부분이 양호한 상태라도 파티션의 내용이 손실되거나 손상되는 경우입니다. 섹터 16이 양호한 다른 드라이브로 모든 내용을 복사하고 슈퍼 블록을 다시 만들어 드라이브의 데이터를 복구할 수 있습니다. 그러나 이것은 매우 복잡한 작업입니다.

예비 블록(Spare Block)

예비 블록은 논리 섹터 17에 있으며 "hot fixes"의 테이블과 예비 디렉터리 블록(Spare Directory Block)을 포함합니다. HPFS에서 불량 섹터가 발견되면 "hot fixes" 항목을 사용하여 불량 섹터 대신 기존의 양호한 섹터를 논리적으로 가리킵니다. 쓰기 오류를 처리하는 이 방법을 핫픽스라고 합니다.


핫픽스는 불량 섹터로 인해 오류가 발생하는 경우 파일 시스템이 정보를 다른 섹터로 이동시키고 원래 섹터를 불량으로 표시하는 기술입니다. 이것은 디스크 I/O를 수행하는 모든 응용 프로그램에 대해 모두 투명하게 수행됩니다. 즉, 응용 프로그램은 하드 드라이브에 어떤 문제가 있는지 알지 못합니다. 핫픽스를 지원하는 파일 시스템을 사용하면 불량 섹터가 있을 때 발생하는 FAT의 "중단, 재시도, 또는 실패?" 같은 오류 메시지가 나타나지 않습니다.


참고: Windows NT에 포함된 HPFS 버전은 핫픽스를 지원하지 않습니다.

HPFS의 장점

HPFS는 200-400MB 범위의 드라이브에 가장 적합합니다. HPFS의 다른 장점에 대한 자세한 설명은 다음을 참조하십시오.

  • Microsoft Windows NT Server "개념 및 계획 가이드", 5장, 제목 "파일 시스템 선택"
  • Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "파일 시스템 선택"
  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", 3장, 섹션3 "사용할 파일 시스템과 볼륨 선택"

HPFS의 단점

HPFS에 포함된 오버헤드로 인해 대략 200MB 미만의 볼륨에서 HPFS를 사용하는 것은 그리 효율적이지 않습니다. 또한 약 400MB 이상의 볼륨에서는 일부 성능이 저하됩니다. Windows NT에서는 HPFS에 보안을 설정할 수 없습니다.


HPFS는 Windows NT 버전 3.1, 3.5 및 3.51에서만 지원됩니다. Windows NT 4.0은 HPFS 파티션에 액세스할 수 없습니다.


HPFS의 단점에 대한 자세한 설명은 다음을 참조하십시오.


  • Microsoft Windows NT Server "개념 및 계획 가이드", 5장, 제목 "파일 시스템 선택"
  • Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "파일 시스템 선택"
  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", 3장, 섹션3 "사용할 파일 시스템과 볼륨 선택"

NTFS 개요

사용자 관점에서 NTFS에서도 HPFS처럼 파일을 디렉터리로 정렬하여 구성합니다. 그러나 FAT 또는 HPFS와 달리 디스크에 "특수" 개체가 없으며 512바이트 섹터 등과 같이 기본 하드웨어에 대한 종속성이 없습니다. 또한 FAT 테이블이나 HPFS 슈퍼 블록 같이 디스크에 특별한 위치가 없습니다.


NTFS의 목적은 다음을 제공하는 것입니다.

  • 하이 엔드 시스템 및 파일 서버에 특히 유용한 안정성
  • 추가 기능을 위한 플랫폼
  • POSIX 요구 사항 지원
  • FAT 및 HPFS 파일 시스템의 제한 제거

안정성

NTFS의 안정성을 보장하기 위해 복구 가능성, 치명적인 단일 섹터 오류 제거 및 핫픽스의 세 가지 주요 항목이 해결되었습니다.


NTFS는 파일 시스템에 대한 트랜잭션을 추적하기 때문에 복구가 가능한 파일 시스템입니다. FAT 또는 HPFS에서 CHKDSK를 수행하면 디렉터리, 할당 및 파일 테이블 내의 포인터 일관성이 검사됩니다. NTFS에서는 이러한 구성 요소에 대한 트랜잭션 로그가 유지되므로 파일 시스템 내의 일관성을 복구하기 위해 마지막 커밋 지점으로 트랜잭션을 롤백하는 경우에만 CHKDSK가 필요합니다.


FAT 또는 HPFS에서는 파일 시스템의 특수 개체 중 하나의 위치에 있는 섹터에 오류가 발생하면 단일 섹터 오류가 발생합니다. NTFS는 두 가지 방법으로 이 오류를 방지합니다. 첫째, 디스크에서 특수 개체를 사용하지 않고 디스크에 있는 모든 개체를 추적하고 보호합니다. 둘째, NTFS에서는 마스터 파일 테이블의 여러 복사본(개수는 볼륨 크기에 따라 다름)을 유지합니다.


HPFS의 OS/2 버전과 비슷하게 NTFS는 핫픽스를 지원합니다.

추가 기능

모든 수준에서 Windows NT의 주요 설계 목표 중 하나는 추가하고 만들 수 있는 플랫폼을 제공하는 것이며 NTFS도 예외가 아닙니다. NTFS는 다른 파일 시스템이 사용할 수 있도록 풍부하고 유연한 플랫폼을 제공합니다. 또한 NTFS는 Windows NT 보안 모델을 완벽하게 지원하며 여러 데이터 스트림을 지원합니다. 더 이상 데이터 파일은 데이터의 단일 스트림이 아닙니다. 마지막으로 NTFS에서는 사용자가 자신의 사용자 정의 특성을 파일에 추가할 수 있습니다.

POSIX 지원

NTFS는 다음 POSIX.1 요구 사항을 지원하기 때문에 지원되는 파일 시스템 중 POSIX.1과의 호환성이 가장 뛰어납니다.


대/소문자를 구분하는 네이밍:


POSIX에서는 README.TXT, Readme.txt 및 readme.txt가 모두 다른 파일입니다.


추가 타임 스탬프:


추가 타임 스탬프는 파일을 마지막으로 액세스한 시간을 제공합니다.


하드 링크:


하드 링크는 다른 디렉터리에 있는 두 개의 다른 파일 이름이 같은 데이터를 가리키는 경우입니다.

제한 제거

우선, NTFS에서는 파일과 볼륨 크기가 크게 증가하여 이제는 최대 2^64바이트(16엑서바이트 또는 18,446,744,073,709,551,616바이트)를 사용할 수 있습니다. 또한 NTFS는 HPFS의 고정 섹터 크기 문제를 방지하기 위해 FAT의 클러스터 개념으로 돌아갔습니다. 이것은 Windows NT가 이식성 있는 운영 체제이고 경우에 따라 다른 디스크 기술이 사용될 가능성이 있기 때문입니다. 따라서 섹터 당 512바이트가 항상 최적의 할당이 될 가능성은 크지 않은 것으로 보여졌습니다. 이는 여러 하드웨어의 기본 할당 크기로 클러스터를 정의할 수 있도록 함으로써 해결되었습니다. 마지막으로 NTFS에서는 모든 파일 이름이 유니코드 기반이며 8.3 파일 이름은 긴 파일 이름과 함께 유지됩니다.

NTFS의 장점

NTFS는 약 400MB 이상의 볼륨에 사용하는 것이 가장 적합합니다. 그 이유는 FAT와 달리 NTFS에서는 크기가 큰 볼륨에서 성능이 저하되지 않기 때문입니다.


NTFS에서는 사용자가 NTFS 파티션에서 일종의 디스크 복구 유틸리티를 실행할 필요가 없도록 복구 가능성이 설계되었습니다. NTFS의 추가 장점에 대한 자세한 설명은 다음을 참조하십시오.

  • Microsoft Windows NT Server "개념 및 계획 가이드", 5장, 제목 "파일 시스템 선택"
  • Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "파일 시스템 선택"
  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", 3장, 섹션3 "사용할 파일 시스템과 볼륨 선택"

NTFS의 단점

NTFS에는 상당한 양의 공간 오버헤드가 있기 때문에 대략 400MB보다 작은 볼륨에서는 NTFS를 사용하지 않는 것이 좋습니다. 이러한 공간 오버헤드는 일반적으로 100MB 파티션에서 최소 4MB의 드라이브 공간을 사용하는 NTFS 시스템 파일 형태로 나타납니다.


현재 NTFS에서는 파일 암호화를 사용하지 않습니다. 따라서 일부 다른 사용자가 MS-DOS 또는 다른 운영 체제로 부팅할 수 있으며 낮은 수준의 디스크 편집 유틸리티를 사용하여 NTFS 볼륨에 저장된 데이터를 볼 수 있습니다.


NTFS 파일 시스템에서는 플로피 디스크를 포맷할 수 없습니다. Windows NT는 NTFS에 포함된 오버헤드가 플로피 디스크에는 맞지 않기 때문에 FAT 파일 시스템을 사용하여 모든 플로피 디스크를 포맷합니다.


NTFS 단점에 대한 자세한 설명은 다음을 참조하십시오.

  • Microsoft Windows NT Server "개념 및 계획 가이드", 5장, 제목 "파일 시스템 선택"
  • Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "파일 시스템 선택"
  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", 3장, 섹션3 "사용할 파일 시스템과 볼륨 선택"

NTFS 네이밍 규칙

파일 및 디렉터리 이름은 확장명을 포함하여 최대 255자가 될 수 있습니다. 이름은 대/소문자를 유지하지만 대/소문자를 구분하지는 않습니다. NTFS는 대/소문자를 기반으로 파일 이름을 구분하지 않습니다. 이름은 다음을 제외한 모든 문자를 포함할 수 있습니다.


? " / \ < > * | :
현재 명령줄에서는 최대 253자의 파일 이름만 만들 수 있습니다.

참고: 기본 하드웨어 제한은 모든 파일 시스템에서 추가 파티션 크기를 제한할 수 있습니다. 특히 부팅 파티션 크기는 7.8GB만 될 수 있으며 파티션 테이블에는 2테라바이트 제한이 있습니다.


Windows NT에서 지원하는 파일 시스템에 대한 자세한 내용은 Windows NT Resource Kit를 참조하십시오.