파일 시스템의 새로운 기능 [닫기]

파일 시스템의 새로운 기능 [닫기]

왜 각 파일 시스템에 파일 크기와 주소 지정 가능한 총 메모리에 제한이 있는지 이해가 되지 않습니다. 예를 들어 FAT32의 최대 파일 크기가 4GB일 수 있는 이유는 무엇입니까?

답변1

기본적으로 대부분의 문제는 4GB 파일이 생소하고 2TB 파티션이 믿을 수 없을 정도로 컸던 시대에 설계된 오래된 표준(특히 FAT16/32)으로 귀결됩니다. 그들은 당시에 완벽하게 이해되는 표준에서 절충안을 만들었습니다.

자세히 살펴보면 당시 컴퓨터 사용에 대한 제한으로 인해 이전 파일 시스템이 매우 제한되어 있음을 알 수 있습니다. 이제 우리는 너무 큰 파티션을 생성할 수 있으므로 앞으로 20~30년 동안은 그에 맞는 장비를 갖추지 못할 것입니다.

답변2

여기서는 많은 프로그래밍 이론과 운영 체제 설계를 생략하겠습니다. 그렇지 않으면 며칠이 걸릴 것입니다.

간단히 말해서, 작성 시 특히 파일을 처리하고 액세스하는 방법과 관련하여 구현 시 특정 가정과 결정이 내려졌기 때문입니다.

컴퓨터 용어로 말하면 모든 것에는 최대값이 있어야 합니다. 무한대는 존재하지 않습니다.

더 중요한 것은 각 디렉토리 항목이 소유권, 특별한 속성 및 권한, 파일 유형(디렉토리, 심볼릭 링크, 하드 링크, 일반 파일, 파이프, 블록 장치, 문자) 등 자신을 식별하는 고유한 방법을 가져야 한다는 것입니다. ) 장치 등). 대부분의 UNIX 파일 시스템에서는 이를 '아이노드 번호', 그리고 각 파일은 고유해야 하기 때문에 가능한 다른 파일 수보다 더 많은 파일을 가질 수 없습니다.

이것다른문제는 최적화 중 하나입니다. 파일 시스템 작업은 시스템이 수행할 작업이기 때문입니다.상당히일반적으로 디자이너는 합리적이라고 생각하는 숫자의 가장 작은 크기 범위를 선택하는 경향이 있습니다. 왜냐하면 컴퓨터는 큰 숫자보다 작은 숫자로(비트 길이 측면에서) 훨씬 빠르게 작동할 수 있기 때문입니다. 하드 드라이브 드라이브의 시장 용량이 1GB 또는 2GB인 것을 보면 최대 파일 시스템 크기가 65,000개 파일과 2TB인 것이 합리적이라고 생각하고 싶을 수도 있습니다.

그런 다음 시간이 흐르고 10년도 채 지나지 않아 커널 프로그래머가 파일 시스템 코드에 더 나은 용량을 리버스 엔지니어링하려고 시도하면서 귀하의 이름과 통찰력 부족을 저주하게 됩니다.

관련 정보