빈 디렉토리는 얼마나 많은 공간을 차지합니까?
Windows 및 NTFS 파일 시스템에서는 '0 바이트'라고 표시되어 불가능합니다.
디렉토리가 실제로 차지하는 양은 얼마입니까? 파일 시스템 또는 운영 체제에 의존합니까?
빈 디렉토리는 얼마나 많은 공간을 차지합니까?
Windows 및 NTFS 파일 시스템에서는 '0 바이트'라고 표시되어 불가능합니다.
디렉토리가 실제로 차지하는 양은 얼마입니까? 파일 시스템 또는 운영 체제에 의존합니까?
답변:
기술적으로 속성 창에 표시되는 내용은 폴더의 내용이며, 비어있는 경우 디스크에서 0 바이트를 차지합니다.
귀하의 질문은 파일 시스템 에서 폴더 구조가 차지하는 공간 에 관한 것입니다. FAT32에서 저장해야 할 것은 플래그 (숨김, 보관)와 이름과 경로뿐입니다. NTFS에서는 권한과 다른 것들도 저장해야합니다. 대체로 그 공간은 거의 무시할 수 있습니다.
빈 디렉토리 구조가 차지하는 공간 은 이름과 폴더 경로에 따라 다릅니다. 예를 들어, 모든 폴더를 루트 드라이브 (예 : C :)에 놓고 26 자의 알파벳 문자를 모두 사용한다고 가정하십시오. 10 억 개의 고유 한 이름으로 log_26 (1.000.000.000) = 약 7 (6.3065) 자 길이의 폴더 이름을 가질 수 있습니다. 따라서 7 바이트 * 1.000.000.000은 대략 7GB의 공간과 같습니다.
이것은 공간 이름이 모든 구조에서 가져와야하는 최소량에 기초한 최소값입니다. 도시 된 바와 같이, 파일 시스템은 파일 구조에 파일 이름 이외의 많은 정보를 저장한다.
모든 드라이브에 약 백만 개의 폴더와 파일이있어 실제로 가치에 도달하지 못한다고 생각합니다. 이것은 대략적인 추정치임을 잊지 마십시오.
현재 가장 많이 사용되는 파일 시스템은 FAT (File Allocation Table) 및 NTFS (New Technology File System)로 간주 될 수 있습니다. 우리가 알고있는 FAT 는 Windows 95가 FAT32와 함께 출시 된 1996 년 이래로 사용되고 있습니다. NFTS (Windows), HFS + (OSX) 또는 ext3 (Linux)과 같은 다른 탄력적 인 파일 시스템으로 대체되었지만 대부분의 OS에서 잘 지원되므로 핸드 헬드 장치 또는 메모리 카드 또는 플래시 드라이브에서 여전히 널리 사용됩니다. 그리고 무엇보다 간단합니다.
이제 중요한 일입니다. FAT 파티션의 파일과 디렉토리는 디렉토리 테이블 에없는 영역에 저장된 이름, 위치, 특정 속성 등을 갖습니다 .
디렉토리 표는 특수 파일 (즉, 단지 OS 특정 응용 프로그램을 직접 액세스 할 수 있도록 정기적 인 사용으로 숨겨져 있습니다). 디렉토리 (일명 폴더)를 나타내며 그 안에 저장된 파일 또는 폴더는 표에 32 바이트 항목이 있습니다. 는 AS 디렉토리 테이블 파일이, 그것은 하나 개 이상의 클러스터 차지 (디스크 내에서 미리 설정된 크기로 즉 상자를 어디에서 단일 파일 (또는 일부) 적합).
따라서 최신 드라이브 (> 512MB)의 모든 폴더 또는 디렉토리 는 테이블 (source) 을 저장하기 위해 최소한 4KB의 오버 헤드를 갖습니다 . 그러나 이는 동일한 폴더에 128 개의 서로 다른 파일 (4 * 1024 B / 32 B = 128)을 저장할 수 있으며 레코드 저장시의 오버 헤드는 여전히 이전과 동일한 4KB입니다.
첫 번째 예를 피기 백하면, 계산 된 대략 7GB가 아니라 10 억 개의 폴더가 32GB의 오버 헤드를 갖게됩니다. 이 32GB는 짧은 이름 (8 ASCII 문자)뿐만 아니라 속성, 플래그, 액세스, 작성 및 수정 날짜 및 기타 레거시 속성을 저장합니다.
이 모든 읽기 가정하면, 거기에 당신이 가진 수있는 질문 수 있습니다 : "그럼이 모두 잘 좋지만 방법은 다음과 같은 긴 이름이다 Wabbajack 등도 hashy 이름이나 e4d909c290d0fb1ca068ffaddf22cbd0 , 저장?"
Windows 95의 Microsoft는 사용자 경험을 향상시키기 위해이 기능을 추가하기로 결정했습니다. "거의 표준"시스템을 손상시키지 않기 위해 VFAT (가상 FAT)라는 깔끔한 해결 방법을 사용했습니다. 기본적으로 긴 파일 이름을 파일에 맞추기 위해 실제 파일 레코드 이전에 추가 레코드가 작성되었습니다 (이전 시스템에서는 볼 수없는 특수 속성이 있음). 긴 파일 이름 시스템은 최대 255 UTF-16 (유니 코드) 문자 (소스) (소스)의 길이를 허용합니다 .
모든 폴더에 9 개의 문자가 포함되도록 첫 번째 예제를 변경하는 경우 긴 이름을 저장하기 위해 하나 이상의 레코드를 작성해야하므로 오버 헤드는 32GB에서 64GB로 두 배가됩니다.
NTFS에 관한 Wikipedia 기사에 따르면 모든 권한은 마스터 파일 테이블에 저장됩니다. 여기에 표시된 것처럼 디스크 조각 모음을 통해 공간을 분명히 볼 수 있습니다 .
MFT 레코드가 폴더 또는 파일 모두에서 차지하는 크기는 다음에 설명되어 있습니다 .
파일 및 폴더 레코드는 각각 1KB 이며 MFT에 저장되며 속성은 MFT의 할당 된 공간에 기록됩니다. 파일 속성 외에도 각 파일 레코드에는 MFT에서 파일 레코드의 위치에 대한 정보가 포함됩니다.
파일 속성이 해당 파일의 MFT 파일 레코드에 맞을 수 있으면 상주 속성이라고합니다. 파일 이름 및 타임 스탬프와 같은 속성은 항상 상주합니다. 파일의 정보량이 MFT 파일 레코드에 맞지 않으면 일부 파일 속성이 비거주가 됩니다. 비주거 속성에는 하나 이상의 디스크 공간 클러스터가 할당됩니다 . 비 주재 속성의 일부는 MFT에 남아 있으며 외부 클러스터를 가리 킵니다. NTFS는 모든 속성 레코드의 위치를 설명하기 위해 속성 목록 속성을 만듭니다. NTFS 파일 속성 유형 표에는 NTFS로 현재 정의 된 파일 속성이 나열됩니다.
따라서 NTFS에서 폴더는 매우 긴 인수 및 권한 목록이없는 한 최소 1KB의 공간을 차지합니다. 이 시점에서 MFT 레코드는 파티션에서 추가 클러스터를 차지하며, 그 크기는 포맷 방식에 따라 다르지만 그 게시물에서 2GB 이상의 Microsoft는 4KB 클러스터를 권장합니다.
실제 예를 들어, 방금 여유 공간을 기록한 다음 큰 디렉토리 구조를 만들고 새 여유 공간을 빼서 사용 된 공간을 찾으십시오. 각 요일에 대해 0-6 디렉토리를 만든 다음 하루 중 시간에 대해서는 0-23 디렉토리에, 그다음에는 분에 대해 0-59 디렉토리를 만들었습니다. 총 10,080 개의 디렉토리가 있습니다. 디스크 사용량이 6,926,336 바이트 변경되었습니다. 디렉토리 당 687 바이트로 작동합니다. 걱정하는 경우 1TB 드라이브의 0.0006 % (1TB를 1024 ^ 4로 계산하는 경우)에도 작동합니다.