ISO 9660 卷描述符结构图形化说明
概述
本文档通过图形化方式展示ISO 9660标准中关于卷描述符的详细结构和内容。ISO 9660是用于光盘文件系统的国际标准,卷描述符是其核心组成部分,用于标识和描述卷的各种属性。
1. 卷描述符整体结构
卷描述符是ISO 9660文件系统的基础组成部分,每个卷描述符占用2048字节。卷描述符集由一个或多个卷描述符组成,并以终止符结束。
卷描述符类型分类
| 类型值 | 名称 | 用途 |
| 0 | 引导记录 | 标识能够识别并执行引导系统的信息 |
| 1 | 主卷描述符 | 标识卷的主要信息和属性 |
| 2 | 补充卷描述符 | 提供多语言字符集支持 |
| 3 | 卷分区描述符 | 标识卷空间内的卷分区 |
| 4-254 | 保留 | 保留用于未来标准化 |
| 255 | 卷描述符集终止符 | 标记卷描述符集的结束 |
通用字段(所有卷描述符)
所有类型的卷描述符都包含以下三个通用字段:
•BP 1: 卷描述符类型(8位数字)
•BP 2-6: 标准标识符(固定为"CD001")
•BP 7: 卷描述符版本(8位数字)
2. 主卷描述符(类型1)详细结构
主卷描述符是最重要的卷描述符类型,包含了卷的核心信息。其2048字节的空间按功能划分为多个区域:
字段分组说明
基本标识区域(BP 1-7)
•BP 1: 卷描述符类型 = 1
•BP 2-6: 标准标识符 = "CD001"
•BP 7: 版本号 = 1
系统与卷信息区域(BP 8-88)
•BP 8: 未使用字段(00)
•BP 9-40: 系统标识符(32字节,a字符)
•BP 41-72: 卷标识符(32字节,d字符)
•BP 73-80: 未使用字段(00)
•BP 81-88: 卷空间大小(32位数字,记录逻辑块数)
卷集信息区域(BP 89-132)
•BP 89-120: 未使用字段(00)
•BP 121-124: 卷集大小(16位数字)
•BP 125-128: 卷序列号(16位数字)
•BP 129-132: 逻辑块大小(16位数字,以字节为单位)
路径表信息区域(BP 133-156)
•BP 133-140: 路径表大小(32位数字,以字节为单位)
•BP 141-144: L型路径表位置(32位数字,最低有效字节在前)
•BP 145-148: L型路径表可选位置(32位数字,0表示不记录)
•BP 149-152: M型路径表位置(32位数字,最高有效字节在前)
•BP 153-156: M型路径表可选位置(32位数字,0表示不记录)
目录与标识符区域(BP 157-702)
•BP 157-190: 根目录的目录记录(34字节)
•BP 191-318: 卷集标识符(128字节,d字符)
•BP 319-446: 发布者标识符(128字节,a字符)
•BP 447-574: 数据准备者标识符(128字节,a字符)
•BP 575-702: 应用程序标识符(128字节,a字符)
文件标识符区域(BP 703-813)
•BP 703-739: 版权文件标识符(37字节,d字符+分隔符)
•BP 740-776: 摘要文件标识符(37字节,d字符+分隔符)
•BP 777-813: 书目文件标识符(37字节,d字符+分隔符)
日期时间信息区域(BP 814-881)
•BP 814-830: 卷创建日期和时间(17字节)
•BP 831-847: 卷修改日期和时间(17字节)
•BP 848-864: 卷失效日期和时间(17字节)
•BP 865-881: 卷生效日期和时间(17字节)
版本与应用区域(BP 882-2048)
•BP 882: 文件结构版本 = 1(8位数字)
•BP 883: 保留字段(00)
•BP 884-1395: 应用程序用途(512字节,未指定内容)
•BP 1396-2048: 保留用于未来标准化(653字节,00)
3. 日期时间格式(17字节)
卷描述符中的日期时间信息采用统一的17字节格式:
| 相对字节位置 | 内容 | 范围 | 说明 |
| RBP 1-4 | 年份 | 1-9999 | 4位数字 |
| RBP 5-6 | 月份 | 1-12 | 2位数字 |
| RBP 7-8 | 日期 | 1-31 | 2位数字 |
| RBP 9-10 | 小时 | 0-23 | 2位数字 |
| RBP 11-12 | 分钟 | 0-59 | 2位数字 |
| RBP 13-14 | 秒 | 0-59 | 2位数字 |
| RBP 15-16 | 百分之一秒 | 0-99 | 2位数字 |
| RBP 17 | GMT偏移 | -48至+52 | 15分钟间隔,西为负东为正 |
特殊说明: 如果RBP 1-16的所有字符均为数字零,且RBP 17也为零,则表示日期和时间未指定。
日期时间字段的使用场景
•卷创建日期时间(BP 814-830): 指定卷中信息创建的日期和时间
•卷修改日期时间(BP 831-847): 指定卷中信息最后修改的日期和时间
•卷失效日期时间(BP 848-864): 指定卷中信息被视为已失效的日期和时间
•卷生效日期时间(BP 865-881): 指定卷中信息可使用的日期和时间
4. 路径表结构
路径表用于快速定位目录层次结构,分为两种类型:
路径表类型
1.L型路径表(Little-Endian)
•多字节数值以最低有效字节在前的方式记录
•主要位置: BP 141-144
•可选位置: BP 145-148(值为0表示不记录)
2.M型路径表(Big-Endian)
•多字节数值以最高有效字节在前的方式记录
•主要位置: BP 149-152
•可选位置: BP 153-156(值为0表示不记录)
路径表相关字段
•路径表大小(BP 133-140): 32位数字,指定记录的路径表实例的长度(以字节为单位)
•路径表位置: 32位数字,指定分配给包含路径表的区段的第一个逻辑块的逻辑块号
5. 补充卷描述符(类型2)
补充卷描述符的结构与主卷描述符基本相同,但增加了以下特殊字段:
特有字段
•卷标志(BP 8): 8位标志字段
•位0: 0表示转义序列符合ISO 2375,1表示至少一个不符合
•位1-7: 保留用于未来标准化,应全部设置为零
•转义序列(BP 89-120): 32字节
•根据ISO 2022标准指定转义序列
•用于指定G0和G1图形字符集
•支持多语言字符编码
字符集说明
•a1字符: 补充卷描述符中使用的字符集,可通过转义序列自定义
•d1字符: 补充卷描述符中使用的目录字符集,可通过转义序列自定义
•如果转义序列字段全为(00),则a1字符集等同于a字符集,d1字符集等同于d字符集
6. 引导记录(类型0)
引导记录用于标识和执行引导系统,包含以下字段:
| 字节位置 | 字段名称 | 内容 |
| BP 1 | 卷描述符类型 | 数值 = 0 |
| BP 2-6 | 标准标识符 | CD001 |
| BP 7 | 卷描述符版本 | 数值 = 1 |
| BP 8-39 | 引导系统标识符 | a字符(32字节) |
| BP 40-71 | 引导标识符 | a字符(32字节) |
| BP 72-2048 | 引导系统用途 | 未指定(1977字节) |
字段说明
•引导系统标识符: 能够识别并处理引导记录内容的系统标识符
•引导标识符: 引导系统的具体标识符
•引导系统用途: 保留供引导系统使用,本标准未规定其内容
7. 卷分区描述符(类型3)
卷分区描述符用于标识卷空间内的卷分区:
| 字节位置 | 字段名称 | 内容 |
| BP 1 | 卷描述符类型 | 数值 = 3 |
| BP 2-6 | 标准标识符 | CD001 |
| BP 7 | 卷描述符版本 | 数值 = 1 |
| BP 8 | 未使用字段 | (00)字节 |
| BP 9-40 | 系统标识符 | a字符(32字节) |
| BP 41-72 | 卷分区标识符 | d字符(32字节) |
| BP 73-80 | 卷分区位置 | 数值(32位) |
| BP 81-88 | 卷分区大小 | 数值(32位) |
| BP 89-2048 | 系统用途 | 未指定(1960字节) |
字段说明
•卷分区位置: 32位数字,指定分配给该卷分区的第一个逻辑块的逻辑块号
•卷分区大小: 32位数字,指定卷分区所占的逻辑块数
•系统用途: 保留供系统使用,本标准未规定其内容
8. 卷描述符集终止符(类型255)
卷描述符集终止符标记卷描述符集的结束:
| 字节位置 | 字段名称 | 内容 |
| BP 1 | 卷描述符类型 | 数值 = 255 |
| BP 2-6 | 标准标识符 | CD001 |
| BP 7 | 卷描述符版本 | 数值 = 1 |
| BP 8-2048 | 保留用于未来标准化 | (00)字节(2041字节) |
说明
•记录的卷描述符集应由一个或多个卷描述符集终止符序列终止
•终止符之后的所有字节应设置为(00)
9. 字符类型说明
ISO 9660标准中定义了不同的字符类型:
•a字符: 字母字符,用于系统标识符、发布者标识符等
•d字符: 目录字符,用于卷标识符、文件标识符等
•a1字符: 补充卷描述符中的字母字符,可通过转义序列自定义
•d1字符: 补充卷描述符中的目录字符,可通过转义序列自定义
•分隔符1和分隔符2: 用于文件标识符中的特殊分隔符
10. 数值记录格式
ISO 9660标准中定义了多种数值记录格式:
•7.1.1: 8位数字记录格式
•7.1.2: 数字字符记录格式
•7.2.3: 16位数字记录格式(both-byte order)
•7.3.1: 32位数字记录格式(LSB first)
•7.3.2: 32位数字记录格式(MSB first)
•7.3.3: 32位数字记录格式(both-byte order)
•7.5: 文件标识符记录格式
总结
ISO 9660卷描述符体系通过不同类型的描述符,完整地定义了光盘文件系统的结构和属性。主卷描述符提供核心信息,补充卷描述符支持多语言,引导记录支持系统启动,卷分区描述符定义分区,终止符标记结束。这种设计确保了文件系统的完整性、可扩展性和国际化支持。
附图说明
本文档配套提供了以下图形化展示:
1.volume_descriptor_structure.png: 卷描述符整体结构和类型关系图
2.primary_volume_descriptor.png: 主卷描述符详细字段布局图
3.descriptor_types_comparison.png: 卷描述符类型对比图
4.datetime_format.png: 日期时间格式结构图
5.path_table_structure.png: 路径表结构图
这些图表以可视化方式展示了ISO 9660标准中卷描述符的复杂结构,便于理解和参考。
1836

被折叠的 条评论
为什么被折叠?



