본문 바로가기
리눅스

(번역) Extent (file systems)

by 다움위키 2025. 1. 12.

원문 보기: https://dawoum.duckdns.org/wiki/Extent_(file_systems)

 

Original article: w:Extent (file systems)

컴퓨팅에서, 익스텐트(extent)는 파일 시스템에서 파일에 대해 예약된 연속적인 저장의 영역으로, 블록 번호의 범위, 또는 카운트 키 데이터 장치 위에 트랙으로 표현됩니다. 파일은 0개 이상의 익스텐트로 구성될 수 있습니다; 하나의 파일 조각은 하나의 익스텐트를 요구합니다. 직접적인 이점은 범위 내의 모든 각 블록 번호를 정식적으로 저장하는 대신, 각 범위를 두 개의 숫자로 간결하게 저장하는 것입니다. 역시, 익스텐트 할당은 파일 조각화를 줄이는 결과를 초래합니다.

범위-기반 파일 시스템은 역시 전통적으로 블록-할당 트리에 의해 차지했던 대용량 파일의 메타데이터 오버헤드 대부분을 제거할 수 있습니다. 그러나 절약은 (일반적으로 모든 파일 크기에 대해) 저장된 데이터 양에 비해 적지만 (큰 파일에 대해) 메타데이터의 상당 부분을 차지하기 때문에, 저장 효율성과 성에서 전반적인 이점은 미미합니다.

조각화를 방지하기 위해, 여러 익스텐트-기반 파일 시스템은 플러시-시-할당을 합니다. 많은 최신 내-결함성 파일 시스템도 쓰기-시-복사를 수행하지만, 조각화를 증가시킵니다. 유사한 설계로, CP/M 파일 시스템도 익스텐트를 사용하지만, 위에서 주어진 정의에 해당하지 않습니다. CP/M의 익스텐트는 조합된 디렉토리/할당 테이블에서 단일 블록으로 연속적으로 나타나고, 그것들은 디스크의 연속된 데이터 영역에 해당할 필요는 없습니다.

IBM OS/360과 후속 제품은 디스크 트랙 또는 실린더의 배수로 파일을 할당합니다. 파일은 원래 최대 16개의 익스텐트를 가질 수 있었지만, 이 제한은 그 이후로 해제되었습니다. 초기 할당 크기와 요구된다면 할당될 추가 익스텐트의 크기는 사용자에 의해 Job Control Language를 통해 지정합니다. 시스템은 초기 크기를 연속된 영역으로 할당하려고 시도하지만, 이것은 연속된 공간을 사용할 수 없으면 분할될 수 있습니다.

Adoption

The systems supporting filesystem extents include the following:

References

  • "Understanding Ext4 (part1): Extents". 2010-12-20. Archived from the original on 2015-02-03. Retrieved 2015-02-02. What's really a departure for EXT4 however, is the use of extents rather than the old, inefficient indirect block mechanism used by earlier Unix file systems (e.g. EXT2 and EXT3) for tracking file content. Extents are similar to cluster runs in the NTFS file system; essentially, they specify an initial block address and the number of blocks that make up the extent. A file that is fragmented will have multiple extents, but EXT4 tries very hard to keep files contiguous.
  • "Ext4 Disk Layout". 2015-01-26. Retrieved 2015-02-02. If flex_bg is enabled, it is possible to allocate very large files with a single extent, at a considerable reduction in metadata block use, and some improvement in disk efficiency.
  • "Understanding Pages and Extents". Microsoft Developer Network. Retrieved 2014-08-14.