ECMA 167 - volume几个概念

来源:互联网 发布:梦里花落知多少陈曦 编辑:程序博客网 时间:2024/06/04 19:31

卷空间分配

逻辑sector是卷空间的基本分配单位。卷空间分配包括分配空间给卷描述符序列,Anchor卷描述符指针,或者分配给分区。分配应该从未分配卷描述符描述的未分配空间获得逻辑扇区组成的extents。

卷描述符序列和Anchor 卷描述符指针不应该记录在可重写或者可覆盖写的分区。

注:实现不能假定已分配的逻辑扇区与未分配的逻辑扇区之和等于卷空间的尺寸,因为卷空间可能有几个原因不能分配,包括介质错误或者其他类别的进程使用。


卷集合

卷集合包含一个或者多个卷,卷集合中的卷都包含相同的卷集标识符。卷集内的卷被赋予了从1开始递增的编号,这个编号等于这个卷的卷序列号。

每一个常用的主卷描述符包含一个卷集合标识和一个卷标识:卷集合标识由卷集合标识符和描述符字符集组成;卷标识由卷标识符和描述符字符集组成。卷集合中的每一个卷的卷集合标识都应该相同。一个卷集合内的卷不能具有相同的卷标识。


分区

分区是卷的扩展,每个分区都由一个分区号来标识,范围是0到65535。分区的信息记录在分区描述符中。分区描述符实例必须标识是否有卷空间分配给分区。

分区可以重叠。这允许磁盘介质被初始化为几个预定义的分区,定义不同的尺寸和位置。用户可以选择使用一组重叠的分区,当然在这些重叠分区上使用文件系统是不明智的。


逻辑卷

使用逻辑卷描述符来描述一个逻辑卷标识,逻辑卷的块尺寸,以及组成逻辑卷的分区列表。逻辑卷的分区可以位于逻辑卷集合的不同卷上。

在逻辑卷上的分区应该从0开始编号。这个编号用来表示分区在这个逻辑卷内的编号。

卷集合中具有最高序列号的卷上记录着Logical Volume Descriptor,这个描述符用来描述逻辑卷。记录在卷集合上的每一个逻辑卷描述符包含一个逻辑卷标识,逻辑卷标识由逻辑卷标识符和描述符字符集组成。一个逻辑卷集合可以记录多于一个逻辑卷。逻辑卷集合上的所有逻辑卷描述符应该被记录在拥有最高卷序列号的卷上。

注意:一个逻辑卷提供了一个分段的地址空间,逻辑卷分布在卷集合的多个分区和卷上。逻辑卷仅仅属于一个卷集合。

逻辑块

逻辑卷上分区的逻辑sectors应该被组织成等长的逻辑块。逻辑块的长度 也就是逻辑块的尺寸应该是512的整数倍,并且不小于卷上逻辑sectors尺寸。逻辑卷上每个分区的逻辑块尺寸应该都一样。

每个逻辑块的起始逻辑sector都应该不同,一个逻辑块的起始位置应该是前一逻辑块的最后一个逻辑扇区的下一个逻辑扇区。如果逻辑sector尺寸小于逻辑块尺寸,那么逻辑块应该包括一系列连续逻辑扇区,并且这些逻辑扇区号是连续上升的。对于包含逻辑块最后一个字节的逻辑扇区,本文档并未说面如何解释逻辑块最后一个字节后面的字节。

分区内的每一个逻辑块都使用一个唯一的逻辑块号标识。逻辑块号应该是升序的连续整数。包含逻辑扇区0的逻辑块应该是逻辑块0.


逻辑卷完整性

逻辑卷完整性描述了记录在逻辑卷上信息的状态。这个状态使用Logical Volume Integrity Descriptor来标识。

逻辑卷的逻辑卷完整性描述符应该被记录在逻辑卷完整性序列中,逻辑卷完整性序列被记录在一个extents序列上。第一个extent在这个逻辑卷的逻辑卷描述符中标识。如果还有接下来的extents,那么应该在逻辑卷完整性描述符中标识出来。处理逻辑卷完整性描述符所在的extent,是按照地址升序进行的,直到一个无记录的逻辑扇区,或者一个终结描述符,或者一个标识子序列extent的描述符。处理完所有的extents后,最后一个逻辑卷完整性描述符将被作为主逻辑卷完整性描述符。

prevailing逻辑卷状态完整性描述符用来描述逻辑卷状态:

  • 一个open完整性描述符,是在数据写入逻辑卷之前写入逻辑卷的,在此之前可能有一个close完整性描述符记录到卷上。
  • 一个close完整性描述符,是在数据被记录到逻辑卷上,并且处于一致性状态时才能写入


原创粉丝点击