Windows 파일시스템 FAT, HPFS 및 NTFS 개요
FAT, HPFS, NTFS
아래내요은 마이크로소프트사의 기술문서 발췌 내용입니다. 파일시스템을 학습하시는 분들은 한 번 읽어 보시면 도움이 될 것 같습니다.
원문 : http://support.microsoft.com/kb/100108/ko
Windows NT에서 FAT, HPFS, NTFS간의 차이점과 장단점을 설명합니다. 이 문서는 다음과 같은 절로 구성되어 있습니다.
- FAT 개요
- HPFS 개요
- NTFS 개요
참고: HPFS는 Windows NT 버전 3.1, 3.5 및 3.51에서만 지원됩니다. Windows NT 4.0은 HPFS 파티션을 지원하지 않으며 HPFS 파티션에 액세스할 수 없습니다. 또한 FAT32 파일 시스템은 Windows 98/95 및 Windows 2000에서 지원됩니다
FAT 개요
FAT는 Windows NT가 지원하는 파일 시스템 중 가장 간단한 시스템입니다. FAT 파일 시스템의 특징은 볼륨 맨 "위"에 FAT(파일 할당 테이블)이라는 테이블이 있는 것입니다. 볼륨을 보호하기 위해 하나가 손상되는 경우를 대비하여 FAT의 복사본 두 개가 보관됩니다. 또한 FAT 테이블과 루트 디렉터리는 시스템의 부팅 파일을 올바르게 찾을 수 있도록 고정된 위치에 저장해야 합니다.
FAT로 포맷된 디스크는 클러스터 단위로 할당되며, 클러스터 크기는 볼륨 크기에 따라 결정됩니다. 파일이 만들어지면 디렉터리에 항목이 만들어지고 데이터가 들어 있는 첫 번째 클러스터 번호가 설정됩니다. FAT 테이블에 있는 이 항목은 이것이 파일의 마지막 클러스터임을 나타내거나 다음 클러스터를 가리킵니다.
FAT 테이블을 업데이트하는 것은 매우 중요할 뿐만 아니라 시간이 오래 걸리는 작업입니다. FAT 테이블을 정기적으로 업데이트하지 않을 경우 데이터가 손실될 수 있습니다. FAT 테이블을 업데이트할 때마다 디스크 읽기 헤드의 위치를 드라이브의 논리 트랙 0번으로 재지정해야 하기 때문에 시간이 오래 걸립니다.
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 장점에 대한 자세한 설명은 다음을 참조하십시오.
- Microsoft Windows NT Server 5장 "Concepts and Planning Guide", "Choosing a File System" 절
- Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "Choosing a File System"
- Microsoft Windows NT Server 4.0 Resource Kit 3장 "Resource Guide", "Which File System to Use on Which Volumes" 절
FAT의 단점
가능하면 200MB 이상인 드라이브나 파티션을 사용할 때는 FAT 파일 시스템을 사용하지 마십시오. 볼륨 크기가 증가하면 FAT의 성능이 급격히 저하되기 때문입니다. FAT 파티션인 파일에는 사용 권한을 설정할 수 없습니다.
FAT 파티션은 Windows NT에서는 최대 4GB, MS-DOS에서는 2GB로 크기가 제한됩니다. 이러한 제한에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
FAT의 다른 단점에 대한 자세한 설명은 다음을 참조하십시오.
- Microsoft Windows NT Server 5장 "Concepts and Planning Guide", "Choosing a File System" 절
- Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "Choosing a File System"
- Microsoft Windows NT Server 4.0 Resource Kit 3장 "Resource Guide", "Which File System to Use on Which Volumes" 절
HPFS 개요
HPFS 파일 시스템은 당시 시중에 출시되고 있던 대용량 하드 드라이브에 쉽게 액세스할 수 있도록 하기 위해 OS/2 1.2에서 처음 소개되었습니다. 또한 네트워크 서버 시장의 증가하는 요구를 충족시키기 위해 이름 시스템, 구성 및 보안 기능을 확장하는 새로운 파일 시스템이 필요했습니다. HPFS는 FAT의 디렉터리 구성을 유지하지만 파일 이름을 기준으로 디렉터리를 자동 정렬하는 기능을 추가합니다. 파일 이름은 최대 254개의 더블바이트 문자로 확장되었습니다. 또한 HPFS를 사용하면 파일을 "데이터"와 특수 특성으로 구성하여 다른 명명 규칙 및 보안 지원의 관점에서 유연성을 높일 수 있습니다. 뿐만 아니라 할당 단위를 클러스터에서 물리적 섹터(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의 "Abort, Retry, or Fail?" 같은 오류 메시지가 나타나지 않습니다.
참고: Windows NT에 포함된 HPFS 버전은 핫픽스를 지원하지 않습니다.
HPFS의 장점
HPFS는 200-400MB 범위의 드라이브에 가장 적합합니다. HPFS의 다른 장점에 대한 자세한 설명은 다음을 참조하십시오.
- Microsoft Windows NT Server 5장 "Concepts and Planning Guide", "Choosing a File System" 절
- Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "Choosing a File System"
- Microsoft Windows NT Server 4.0 Resource Kit 3장 "Resource Guide", "Which File System to Use on Which Volumes" 절
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장 "Concepts and Planning Guide", "Choosing a File System" 절
- Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "Choosing a File System"
- Microsoft Windows NT Server 4.0 Resource Kit 3장 "Resource Guide", "Which File System to Use on Which Volumes" 절
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장 "Concepts and Planning Guide", "Choosing a File System" 절
- Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "Choosing a File System"
- Microsoft Windows NT Server 4.0 Resource Kit 3장 "Resource Guide", "Which File System to Use on Which Volumes" 절
NTFS의 단점
NTFS에는 상당한 양의 공간 오버헤드가 있기 때문에 대략 400MB보다 작은 볼륨에서는 NTFS를 사용하지 않는 것이 좋습니다. 이러한 공간 오버헤드는 일반적으로 100MB 파티션에서 최소 4MB의 드라이브 공간을 사용하는 NTFS 시스템 파일 형태로 나타납니다.
현재 NTFS에서는 파일 암호화를 사용하지 않습니다. 따라서 일부 다른 사용자가 MS-DOS 또는 다른 운영 체제로 부팅할 수 있으며 낮은 수준의 디스크 편집 유틸리티를 사용하여 NTFS 볼륨에 저장된 데이터를 볼 수 있습니다.
NTFS 파일 시스템에서는 플로피 디스크를 포맷할 수 없습니다. Windows NT는 NTFS에 포함된 오버헤드가 플로피 디스크에는 맞지 않기 때문에 FAT 파일 시스템을 사용하여 모든 플로피 디스크를 포맷합니다.
NTFS 단점에 대한 자세한 설명은 다음을 참조하십시오.
- Microsoft Windows NT Server 5장 "Concepts and Planning Guide", "Choosing a File System" 절
- Microsoft Windows NT Workstation 4.0 Resource Kit, 18장 "Choosing a File System"
- Microsoft Windows NT Server 4.0 Resource Kit 3장 "Resource Guide", "Which File System to Use on Which Volumes" 절
NTFS 명명 규칙
파일 및 디렉터리 이름은 확장명을 포함하여 최대 255자가 될 수 있습니다. 이름은 대/소문자를 유지하지만 대/소문자를 구분하지는 않습니다. NTFS는 대/소문자를 기반으로 파일 이름을 구분하지 않습니다. 이름은 다음을 제외한 모든 문자를 포함할 수 있습니다.
? " / \ < > * | :
현재 명령줄에서는 최대 253자의 파일 이름만 만들 수 있습니다.
참고: 기본 하드웨어 제한은 모든 파일 시스템에서 추가 파티션 크기를 제한할 수 있습니다. 특히 부팅 파티션 크기는 7.8GB만 될 수 있으며 파티션 테이블에는 2테라바이트 제한이 있습니다.
Windows NT에서 지원하는 파일 시스템에 대한 자세한 내용은 Windows NT Resource Kit를 참조하십시오.