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

The APFS structure

So, APFS is structured in a single container that may contain one or more volumes. The APFS structure is presented in the following diagram:

Overview of the APFS structure

Each filesystem structure in APFS starts with a block header. The block header starts with a checksum (Fletcher's checksum algorithm is used) for the whole block and also contains the copy-on-write version of the block, the block ID, and the block type.

The APFS structure can be explained as follows:

  • The Container Superblock contains information on the block size, the number of blocks and pointers to the space manager for this task, the block IDs of all volumes, and a pointer to a block map B-Tree (which contains entries for each volume, along with its ID and offset).
  • Nodes are used for storing different kinds of entries. They can be part of a B-Tree or exist on their own and can contain either flexible or fixed-sized entries.
  • The Space Man(ager) manages the allocated blocks in the APFS container, and stores the number of free blocks and a pointer to the Allocation Info File.
  • The Allocation Info File stores the allocation file's length, version, and the offset.
  • The B-Trees manage multiple nodes and contain the offset of the root node.
  • A Volume Superblock contains the name of the volume, its ID, and a timestamp.

As for allocation files, they are simple bitmaps and do not have a block header and type ID.

主站蜘蛛池模板: 泰安市| 黄梅县| 什邡市| 文昌市| 中牟县| 宝清县| 竹溪县| 休宁县| 通化县| 保亭| 得荣县| 垦利县| 新晃| 璧山县| 泰顺县| 钦州市| 遂昌县| 冕宁县| 辽阳市| 溆浦县| 岢岚县| 广平县| 汕尾市| 白河县| 公主岭市| 云浮市| 广元市| 邵阳市| 宁明县| 承德市| 鄂托克前旗| 南丰县| 乳山市| 东丰县| 连山| 西畴县| 明光市| 杭锦旗| 靖宇县| 股票| 昔阳县|