官术网_书友最值得收藏!

The HFS Plus volume

The HFS Plus volume contains a number of internal structures to manage the organization of data. These structures include a header, an alternate header, and five special files: an allocation file, an extents overflow file, a catalog file, an attributes file, and a startup file. Among the five files, three files (the extents overflow file, the catalog file, and the attribute file) use a B-tree structure, a data structure that allows data to be efficiently searched, viewed, modified, or removed. The HFS Plus volume structure is shown in the following figure:

The HFS Plus volume structure

The volume structure is described as follows:

  • 1024 bytes: This is reserved for boot load information.
  • Volume header: This stores volume information, such as the size of allocation blocks, a timestamp of when the volume was created, and metadata about each of the five special files.
  • Allocation file: This file is used to track which allocation blocks are in use by the system. The file format consists of one bit for every allocation block. If the bit is set, the block is in use. If it is not set, the block is free.
  • Extents Overflow file: This file records the allocation blocks that are allocated when the file size exceeds eight blocks, which helps in locating the actual data when referred. Bad blocks are also recorded in the file.
  • Catalog file: This file contains information about the hierarchy of files and folders, which is used to locate any file and folder within the volume.
  • Attribute file: This file contains inline data attribute records, fork data attribute records, and extension attribute records.
  • Startup file: This file holds the information needed to assist in booting a system that does not have HFS Plus support.
  • Alternate Volume header: This is a backup of the volume header, and it is primarily used for disk repair.
  • 512 bytes: This is reserved for use by Apple, and it is used during the manufacturing process.
主站蜘蛛池模板: 遵义市| 徐汇区| 武城县| 科技| 浦北县| 通渭县| 垣曲县| 田阳县| 高邑县| 浦县| 吴忠市| 逊克县| 深圳市| 眉山市| 平顺县| 博湖县| 建始县| 柏乡县| 潜山县| 宕昌县| 布尔津县| 辰溪县| 唐山市| 大石桥市| 当阳市| 凌海市| 奉节县| 施秉县| 南昌县| 光泽县| 南京市| 乌拉特中旗| 台江县| 准格尔旗| 集安市| 科尔| 凤阳县| 苗栗县| 永州市| 丰原市| 浮梁县|