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

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.
主站蜘蛛池模板: 黑龙江省| 合川市| 罗江县| 宝坻区| 治多县| 谷城县| 东乡| 沾益县| 茶陵县| 宝山区| 皋兰县| 峨眉山市| 新田县| 辽阳市| 江油市| 灯塔市| 南昌县| 柏乡县| 江孜县| 逊克县| 湘潭市| 马尔康县| 台南市| 凌源市| 武安市| 望城县| 通城县| 霍山县| 宜丰县| 柳江县| 株洲市| 哈尔滨市| 凌源市| 密云县| 泉州市| 龙口市| 双峰县| 延津县| 荣成市| 阜南县| 吉木萨尔县|