2013-04-28 4 views
1

나는이 정보를 제공하지만,이 문제를 접근하는 방법을 잘 모르겠습니다 오전 : 설명시스템에서 허용하는 최대 파일 크기는 얼마입니까?

Double-Indirect Addressing 

Disk block size = 1k 
File Point is 64 bits (8 bytes) 
Block can hold 128 file pointers 
Inode holds 8 double-indirect entries 

모든 종류의 또는 시작점이 많이 주시면 감사하겠습니다 ... 나는 매우 혼란 스러워요.

+1

각 inode가 128 대신 4 개의 포인터를 저장할 수 있다고 가정하면 inode 맵을 그려서 명확하게 유지합니다. 이제 2 단계의 간접 지정 (최고 inode, 레벨 1 inode 및 레벨 2 inode)으로 제한하는 경우, 얼마나 많은 블록을 가리킬 수 있는지 확인하십시오. – MSalters

답변

0

파일 포인터 64는 64 비트 부호없는 숫자가 가질 수있는 가장 큰 수의 최대 오프셋을 갖는 파일을 가질 수 있음을 의미합니다. 이론에 의하면. 실제로 당신은 df -h 명령은 당신이 파일 시스템에있는 최대 사용 가능한 여유 공간이 표시됩니다

2^64 -1 bytes of file data + 1 byte for a null terminator 

디스크 공간이 없습니다. 큰 파일에 대해 하나를 선택하십시오.

는 PS : 2^64 -1: 18446744073709551615

그 이유는 파일 시스템이 최근 크기 2^32 -1 바이트의 파일로 제한 될 때까지이 최대이다. 하드웨어가 변경됨에 따라 32 비트 시스템에서 자필 된 파일보다 큰 파일에 액세스하기위한 "largefile"확장이 변경되었습니다. 64 비트 프로세서에서는 64 비트 포인터를 사용하는 파일 크기가 일반적으로 사용 가능해졌습니다.

+0

파일에 널 (null) 터미네이터가 없습니다. – immibis

관련 문제