光盘及其技术标准书

一、光盘家族概述
  当LD影碟机于1978年首次亮相时,人们便被这一使用光盘作为记录载体,崭新而又出色的视听媒体所震撼,同时又为这种集光、电、精密机械于一体的高 技术产品能否商业化而疑虑。1982年,借鉴LD技术发展起来的,完全使用数字方式记录声音信号的激光唱机,以前所未有的高音质,迅速在全世界获得普及。 时至今日,满街的VCD、CD、CD-ROM光盘,不仅表明光盘与我们的生活密不可分,也昭示它已衍生出庞大的家族。
  光盘(COMPACT DISK简称CD)是指用聚焦的激光束记录和重放信息的圆盘状媒体和媒体总称,其引人注目的优点是采用非接触式的信号拾取方式。同时又以其体积小、容量 大、可靠性高等特点,成为实现多媒体应用的一种重要的存储手段。促进CD技术发展除了上述CD自身优点和应用需求外,还大大有赖于支持各种CD产品的信息 存取格式技术的不断标准化,从而出现了诸如CD-ROM、CD-DA、CD-I、Video CD、Photo CD、CD-R等多种技术规格的CD产品,并促进了播放等辅助设备的发展。
  
所有光盘上的信息纹迹均由一系列坑与岛组成,如图1所示。这些坑和岛表示一系列的二进制位,坑与岛之间或岛与坑之间的转换点代表“1”,其余代表“0”。 信号就是以坑或岛的形式记录在光盘上的。光盘之所以看起来表面上色采闪烁,就是因为入射白色光在大量微细坑上绕射,使白色光分解而呈现出五光十色的缘故。
1、CD-DA
  CD-DA(CD-Digital Audio)就是最常见的CD唱片,是用数字方式记录声音的音乐光盘。CD唱片是直径12厘米,中心孔径1.5厘米,厚度1.2毫米的透明聚碳酸酯为材料的光盘,其形状和规格如图2所示。
  CD-DA为单面放唱,反面贴标签,最大放唱时间为74分钟42秒。其信号是由内圈向外圈记录的,在46~50为导入纹区,50~116为节目区,节 目结束后的外圈部分有宽度大于0.5毫米的尾纹部分。从拾取信号这一角度看,CD-DA沿反时针方向以恒线速度旋转,其线速度为1.2~1.4米/秒,纹 迹密度十分均匀。CD-DA信息纹迹坑深为0.12微米,宽0.5~0.6微米,长度0.9~3.3微米。CD-DA主要规格如下表所示:
通道数 2音频规格 演奏时间(min) 60
频率特性(Hz) 20~20000
    动态范围(dB)          >90
谐波失真率(%)         <0.5
抖晃 (%) 晶体精度物理规格 外径 (mm) 120
中心孔径(mm) 15
厚度 (mm) 1.2
信号面 (mm) 50~116
节目开始 内圈
转速(r/min) 500~200
恒线速度(CLV) 1.2~1.4m/s
坑大小:深、长、宽(微米) 0.11、0.9~3.2、0.5
轨迹节距(微米) 1.6
循迹方法 无槽(动态循迹)
材料 聚碳酸酯记录密度 坑长(微米) 0.59
线密度(Kbit/英寸) 43.0
面密度(Mbit/英寸) 683 信号格式 取样频率(kHz) 44.1
量化数 16bit
调制方式 EFM
加重 T1=50微秒,T2=15微秒
纠错方式 CIRC
传输速率(Mbit/s) 2.03
冗余度(%) 约 30
2、CD-ROM
  以CD-ROM光盘作为信息载体的出版物国内统一称为电了出版物,国外称为CD-ROM title。
  CD-ROM是将光盘作为只读存储器(ROM)使用,CD-ROM特点是记忆容量大,可达648MB,可随机读取,便于大量复制等特点,读取CD- ROM光盘的设备是CD-ROM驱动器,这种驱动器已从初期的单倍速发展到现在的24倍速。目前CD-ROM驱动器是PC机和Macintosh(苹果) 机的标准配置。
  CD-ROM出版物按其内容大体可分三个方面:一是作为工具书性质的电了出版物,用来代替纸质印刷品存储声音、图像、文字、数据等,其内容包括各种百 科全书、字典、手册、地图集、电话号码薄、年鉴等;如微软公司每年度推出的Encarta与Bookshelf;第二是用作计算机辅助教学及游戏等,由于 图文并茂,再加上声像效果,这就比传统的CAI和游戏软件在质量方面上了一个台阶;国内希望电脑公司推出的许多教学光盘就属此类;第三是各种数据库,许多 公司利用CD-ROM把它们的产品说明书、技术资料、零件图纸、培训维护手册等储存在CD光盘数据库中,供用户随时查询使用。他们将CD光盘作为软件产品 发行的新介质,其中不仅含有软件的代码和数据,而且还包含有全部手册、资料以及各种演示程序。
  CD-ROM光盘出版物容量大、体积小、图、文、声、像并茂,阅读起来非常轻松方便。用户(读者)只需根据索引或输入所要查找的条目,机器即可找出所有相关的信息。在阅读某个条目时,也可随时跳到其他相关的条目,完全免去了来回翻阅查找之苦。
CD-ROM的物理规格如下表所示:
直径 120mm
中心孔径 15mm
厚度 1.2mm
轨迹节距 1.6微米
信号 宽约0.5微米、 长约0.9~3.3微米
坑形状 深约0.13微米
材料 基板:聚碳酸酯;反射面:铝
记录区域(用户数据) 最内圈直径50mm最外圈直径116mm
线速度 1.2~1.4m/s
速度控制 CLV(恒线速度)
转速 214~500r/min
记录调制方式 EFM(Eight-to-Fourteen Modulation)
纠错码 CIRC
适合播放的激光波长 0.77~0.83微米
3、CD-I
  
CD-I是CD-Interactive的缩写。它是从CD-ROM派生出来的。这是由于并非每个家庭都拥有多媒体电脑,因此一种以电视机为界面的简化的CD-ROM演播机就应运而生。
  1988年11月,飞利浦公司和索尼公司共同提出了CD-I标准,不仅规定了CD-I唱片的图像、声音和正文数据的组成、编码和处理方法,而且还规定了软、硬件的规格。CD-I标准虽然包含CPU和驱动器等为了实现其功能所需的全部设备,但无需计算机。
  最早开发成功的是Philips公司的CD-I(CD-Interactive),它于1991年进入市场,1993年在欧、美、日推广。CD-I以 家用电视机为终端,把一台专用的CD播放机与之联接,可播放CD唱片、数字影视、卡拉OK、CD照片以及各种教学、游戏节目,用户通过一个遥控器可对各种 节目内容进行交互式控制。与CD-I类似,搭配电视机使用的多媒体CD播放机尚有Commodore公司的CDTV、Tandy公司的VIS、富士通的 Marty等,它们均属此类。
4、Photo CD
  CD-ROM技术的另一应用是摄影领域。Kodak公司将传统的冲洗技术与数字图像处理、数字显示相结合,使照相术进行了一次革命。拍摄后的胶卷经冲 洗成负片之后,在工作站上使用彩色扫描仪输入计算机,经过压缩处理之后,使用CD-R刻盘机把它们写入CD光盘中。一张光盘可“冲洗”约100张照片(3 卷胶卷),还可配以文字说明、音乐及语言解说。Photo
  CD可以使用专用的播放机配电视机进行显示,也可使用CD-I播放机播放。在PC机和Macintosh机上,只要CD-ROM驱动器能支持Mode2和多段(Muliti-session)工作方式,配上相应的软件后也可进行播放。
5、CD-R
  CD-R是CD-Recordable编写,是允许用户进行一次记录的与CD-DA尺寸相同的空白光盘,记录后不能再抹去已记录的信号。由于只能记录一次,故又称作CD-WO(CD-Write
Once缩写)。正是因为所使用的盘片的几何尺寸、信息记录的物理格式和逻辑格式与CD-ROM一样,因而CD-R可在一般的CD-ROM驱动器 上读出信息。数据可以分多次向盘上写入(称为Multi-session)。CD-R驱动器也有单速、双速、多倍速等多种,Kodak公司的6倍速CD- R写一张光盘只需10分钟。由于技术日益成熟,其价格大幅度下降。
6、Video CD
  Video CD(Video Compact
Disk)是在光盘上存放数字化的电视图像和声音的一种技术难度大但又极有意义的大胆应用,其优点是成本低、质量较好、检索节目方便、易保存。但其技术标准初期并不被看好,但Video
  CD在中国获得了迅速普及。Video
CD是JVC、Philips、Matsushita和Sony联合制订的数字电视视盘的技术规格(白皮书规格),它规定一片VCD光盘可存放74分钟的 电视节目,图像质量达到家用录像机VHS水准,即250~280线左右,声音质量接近于CD-DA的水平。VCD盘上的视频和音频信号采用国际标准 MPEG1进行压缩编码,图像压缩比为100:1
200:1,声音压缩比为6.5:1。它们按规定的格式交错地存放在CD盘上,播放时需对它进行实时解压缩处理。
7、DVD
  DVD(Digital Video
Disk)是比VCD水平更高的CD产品。它采用MPEG2标准,把分辨率更高的图像和伴音经压缩编码后存储在高密度光盘上,光盘容量达3~5GB以上,读出速率超过1Mb/s,每张光盘可存放2小时以上高清晰度的影视节目。而DVD驱动器也已商品化。
  光盘家族的人丁兴旺与光盘技术的即时标准化有很大关系,标准化有利于CD的普及,反过来又促进新的应用,从而推动制定新的标准。有鉴于标准的重要性,本文以CD-ROM的标准为中心介绍各种CD标准书,以供参考。
  CD光盘最早的应用是用来存储数字化的高保真立体声音乐,所制定的标准称为CD-DA(Compact
Disc-Digital
Audio) 标准,又叫红皮书标准。接着,CD光盘又用来作为计算机的只读存储器使用,为此而制定的标准叫做CD-ROM标准,也叫做黄皮书标准。随着CD光盘应用的 发展,用于规定记录各种媒体(如文本、声音、视频等)的数据格式和编码方法的标准和规范也不断出现,例如CD-I(绿皮书)、CD
ROM/XA、Video CD(白皮书)、Photo
CD、CD-R(桔皮书)等,它们相互之间有着密切的关联,但又互有区别,各有其不同的适用范围。下表是CD系列标准概貌。
标准名称 光盘及系统名称 公布年月
Red Book CD-DA(激光唱盘) 1982年
Yellow Book CD-ROM 1985年
CD-ROM XA 1988年
Green Book CD-I 1987年
White Book Video CD
Orange Book1 CD-R CD-MO 1992年
Book2 CD-WO
IEC 908 CD-DA系统 1987年
ISO 9660 卷及文件结构 1988年
ISO/IEC 10149 CD-ROM数据交换 1989年
ISO/IEC 11172 MPEG-1标准书
二、CD-ROM数据记录的
黄皮书标准
  想到使用光盘存储计算机处理的数据。1985年,Philips和Sony公司联合推出CD-ROM光盘规范,使得光盘能以统一的格式存储只读的数据信息。光盘的特点是体积小、容量大(650MB)、可靠性高,而且和激光唱盘在格式上相兼容,因而有很强的应用前景。
   CD-ROM的数据记录格式(黄皮书)是在激光唱盘(红皮书格式)的基础上发展而来的,因此在低层规范上与红皮书一致。一张CD-ROM光盘可以存放两 类数据:数字数据和音频数据。后者为红皮书规范,而前者必须按照黄皮书规范存储数据。因为按CD-DA(红皮书)来存储计算机数据时,首先必须解决数据寻 址问题,即基本的数据存储单位是什么,如何给它们确定地址,以便方便地进行随机方式的访问;另一个问题是CD-DA误码率较高,必须进一步采取措施,降低 数据的误码率,才能符合数据存储的要求,CD-ROM(黄皮书)对此提供了统一的较完善的解决方案。其采用的核心技术是:
1、光盘上的数据以扇区和帧形式组织;
2、增加一层错误检测和错误纠正方案。错误检测采用冗余检测码(CRCC);错误纠正采用里德-索罗蒙码(Reed
Solomon)。
下面先介绍第1点。
  光盘上的信息记录是一条由里向外的螺旋状路径,类似于密纹唱片的方式。激光读取头在这条路径上行进的线速度是固定的,因而保证了光盘信息输出速度的稳 定性,同时,也使得光盘上数据记录区域的利用效率最高。从光盘上读取的信息由一个个EFM帧组成。每一个EFM帧共由588位信息组成,其中有24位同步 信息,33个数据字节(每个字节由14位编码组成,称为8个14调制码EFM),每个字节相应有3位结合信息,EFM帧尾还有3位结合位。图3示出一个 EFM帧的结构。
  一个EFM帧中除去同步信息和结合位信息,且把14位数据字节转换成8位字节后,用户可以从一个EFM帧中得到33个字节的信息。这33个字节由下列 信息组成:24个数据字节以及两级P、Q校验码(各为4字节)还有一个控制字节。控制字节记录着光盘上的子码(Subcode)数据,它将在下面介绍。而 24个数据字节对于音频数据而言实际上是一个Audio帧,光盘上Audio帧的输出频率为7350Hz。每个Audio帧中包括6个左声道取样以及6个 右声道取样,每个取样为16bit。由此可以推算出CD-Audio的取样频率为:
  取样频率=6×7350Hz=44100Hz=44.1KHz
  另外,每98个EFM帧组成一个扇区,这样每个扇区由2352个数据字节和98个子码字节组成,扇区的输出频率为75Hz。
  
CD-ROM光盘上的扇区可区分为音频扇区与数据扇区两种,长度都为2352字节。音频扇区全部用来存储左、右声道共98×12个取样数据(每个取样各16位),而数据扇区的结构与Audio扇区不同,它主要由4个部分组成:
●同步域:12字节
●标题描述域:4字节
●用户数据区:2048字节
●辅助数据区:288字节
  同步域中除头尾两字节为00外,其余字节全为0xFF。
  标题描述域由扇区地址和模式字节组成,扇区地址三字节分别记录分(0~59)、秒(0~59)和扇区号(0~74),模式字节定义了用户数据及辅助数据的存储模式,分为三种,如图4所示。
  其中Mode 0不向用户开放,它仅在组织信息时作匹配使用。Mode 1的扇区数据区大小为2048字节,而Mode
2的数据达到2336字节,但Mode
1强制进行数据第二级校验,可把误码率降低3个数量级,达到10~12,所以数据完整性很高,适合存储程序代码之类对错误特别敏感的数据。对于Mode
2的数据扇区,则可存储声音、图像之类对正确率要求不特别高的数据。CD-I和CD-ROM
  XA还进一步定义了图像、音频和视频数据的各种存储格式和编码方法。
  光盘上的每个扇区都有一个固定的地址与之匹配。由于光盘的读写头线速度固定,每秒行进距离为75个信息扇区,所以光盘的定位系统采用时间作为参数,即用光盘读写头从节目区的开始位置到某扇区的运行时间(分、秒、帧)来定位该扇区。
  
而整个CD-ROM光盘共分成三个部分:导入区(Leadin)、节目区(Program)以及导出区(Leadout)。每个部分又由一个或多个信息纹迹(Track)组成,每个信息纹迹则由连续的一组扇区组成,扇区数目视需要而定。
  信息纹迹的概念来源于CD-DA的一首首歌曲,一首歌曲对应一个信息纹迹,CD-ROM中沿用了这种结构。光盘上导入区和导出区各占一个信息纹迹,节 目区(Program)中可以有多个信息纹迹。各个信息纹迹都有自己的编号,如Program区中信息纹迹从1开始计数,每次加1,最多可以有99个信息 纹迹。CD-ROM中信息纹迹按其存放的数据内容可以分为两种:数据信息纹迹(以Mode
1或Mode
2模式存放各类计算机数据)和Audio信息纹迹(每个扇区各存放588个立体声取样数据,无模式之分)。若是数据信 息纹迹则其上扇区组织必须符合黄皮书的规范,若是Audio信息纹迹则其上数据按红皮书规范组织。一个光盘上可以同时存在这两种类型的信息纹迹,但必须把 Audio信息纹迹放在所有数据信息纹迹的后面。
  一个数据信息纹迹可以有三个部分组成,依次为:Pregap(前间隙)、用户数据和Post-gap(后间隙)。其中Pregap和Post-gap 的有无主要看该信息纹迹的前、后相邻信息纹迹的类型,相同则无,不同则有。如一个数据信息纹迹后为Audio信息纹迹,则该数据信息纹迹必须以Post- gap结尾。Pregap和Post-gap中并不记录用户数据,用户数据在信息纹迹的用户数据区。实际上信息纹迹的起始地址就是用户数据所在扇区的开始 地址,它将被记录在光盘导入区的目录表(TOC)中。
  一个数据信息纹迹中的扇区模式是不变的,不允许Mode 1扇区和Mode
2扇区在一个信息纹迹上同时存在。这两者分别组成的信息纹迹被认为是不同类型的数据信息纹迹。一个信息纹迹的长度也不固定,随记录的数据量变化而变化。
  导入区在节目区的前面,它由一个信息纹迹组成,其中存放着节目区中所有信息纹迹的起始地址的一览表,即光盘的目录表(TOC)。导出区也只有一个信息纹迹,它在节目区之后,表示其后已不再存放有用信息。
  随着光盘技术的发展,CD-ROM的结构也在变化,出现了多段(Multi-Session)结构,即CD-ROM上有多个Leadin、Program和Leadout的组合,这种技术将在以后再作介绍。
  由前述可知,光盘上的数据以EFM帧为基础,98个EFM帧构成一个扇区。由于每帧均包含一个控制字节,所以一个扇区实际上由两类数据组成,即2352字节的数据扇区以及98个控制字节的子码。
  CD-ROM上的子码数据以扇区为单位组织数据,一个扇区98字节,每个字节又由8个通道位组成,依次称之为P、Q、R、S、T、U、V、W通道,其 中每个通道98位。这98位又分为2个子码同步位以及96个数据位,后者构成一个子码通道的12字节数据区,不同的子码通道,它的作用也不尽相同,这里主 要讲P、Q通道,其余的在CD-ROM中没有明确定义。
1、P通道
  该通道主要用于表示信息纹迹数据的开始,它是信息纹迹开始的标志。P为0时,表示为信息纹迹数据部分;而P=1时,表示信息纹迹的开始区域。实际上信 息纹迹开始区域有2秒(150个扇区)的停止区,这个区域中P通道都为1,当P不为1时,即是数据的真正开始,而当停止区超过2秒时,P为1的长度,就是 信息纹迹中停止区的长度。导入区信息纹迹的P通道位都设置为0。
2、Q通道
  该通道数据比较复杂,其编码方法随着光盘上的不同部分而变化,其中Control信息定义了对应扇区的性质,如是音频扇区还是数据扇区,有没有预加重,是否允许拷贝等。而ADR定义了Q-Data的三种不同含义:当ADR=Mode
1时,Q-Data表示对应数据扇区的信息纹迹号和时间定位信息;当ADR=Mode 2或Mode
3时,Q-Data用来指出光盘的登录号或相应音乐信息纹迹的序列号。
当ADR=Mode 1时,Q-Data的信息结构如下:
〔TNO,Point,MIN,SEC,FRAME,ZERO,PMIN/PSEC/PFRAME〕(Leadin区)
〔TNO,Index,MIN,SEC,FRAME,ZERO,AMIN/ASEC/AFRAME〕(Program/Leadout区)
8 8 8 8 8 8 8 8 8
  其中上排结构为Q-Data在Leadin区域的组织方式,而下排结构为Q-Data在Profram/Leadout区的定义。在Leadin区时 其信息纹迹号TNO为00,而其余字段主要用于记录光盘上所有信息纹迹的起始地址信息,即光盘的目录表(TOC),表中Point字段为所描述信息纹迹的 信息纹迹号,PMIN、PSEC和PFRAME用于记录该信息纹迹起始地址。若为Leadout区的信息纹迹,则Point字段用A2表示。当Point 为A0、A1时,原先用于记录信息纹迹起始地址的PMIN、PSEC和PFRAME现分别用来表示第一个和最后一个信息信息纹迹的信息纹迹号。
  在节目区和Leadout区时,Q-Data用于表示当前扇区所在的信息纹迹号TNO、信息纹迹中的索引号(Index),信息纹迹中的相对时间位置 MIN、SEC和FRAME(即从本信息纹迹的开始位置到当前扇区的时间),信息纹迹中的绝对时间位置AMIN、ASEC和AFRAME(即从节目区的开 始位置到当前扇区的时间)。
  CD-ROM中P、Q子码通道主要用于标记盘上的分区、分道以及描绘盘上各信息纹迹及其扇区的时间(地址)属性。而R-W子码与其不同,它们也用来存 放一些用户数据,其数据的传输率可达到75×6×96=43.2kb/s。目前主要用于存储与主数据区相关的图形信息(如CD+G光盘)或MIDI等应用 数据。
  CD-ROM的这6个子码通道,除了头部的两位同步位之外,每6位构成一个符号(Symbol),一组24个符号构成一个数据块(Pack),一个扇 区中的4个数据块构成一个信息包,其中基本数据处理单元为一个数据块。一个Pack数据中第一个符号为数据模式符号,第三、四个符号和最后四个符号为两级 数据校验位,用于保证数据读出正确。
  Pack数据块目前有4种模式,其中模式符号前三位为模式选择位,后三位定义了子模式类型。4种模式分别为Ze-ro模式、Graphics模式、 MIDI模式和User模式,其中Graphics模式分为三种子模式:LINE-Graphics、TV-Graphics、Extended-TV- Graphics。
  Graphics模式是CD+G光盘的主要技术基础,其意图是提供显示字符式图像的能力,这样可以丰富CD-DA音乐唱盘的画面。Graphics的 基本操作单元为一个称为Font的6×12的位图数据块。而三种子模式分别对应于不同的屏幕大小和彩色显示能力,如LINE-Graphics能显示 48×2Fonts区域;TV-Graphics主要是面向TV显示设备,能显示48×16Fonts区域,相当于228×192分辨 率;Extended-TV-Graphics主要是面向TV上显示自然景物图片,所以其分辨率同TV-Graphics相同,但彩色和处理图像能力加强 了。CD+G在显示这些图形时,都有相对较大的显示缓冲,特别是LINE-Graphics有50×4Fonts缓冲,足够存放两个显示区域,为系统提供 了滚行的能力。Extended-TV-Graphics不提供双缓冲技术,可以实现两幅画面间的过渡等特殊操作。
  
MIDI模式主要用来在R-W子码数据中存放MIDI音乐,一个Pack数据块中存放12个MIDI数据字节。由于MIDI设备的最大输入速度为3125 字节,子码的输出速度高于此值,所以约定连续12个Pack数据中MIDI字节不得超过125个,以维持MIDI设备的解码速度。
  Zero模式中数据为全0,而Use模式中的数据可由用户自行定义。
三、CD-ROM数据记录的
ISO-9660标准
  从上所述黄皮书CD-ROM技术规范标准描述了CD-ROM光盘的物理结构,以及按扇区寻址读出数据的方法。即定义了计算机数据在光盘上的物理存储格 式,但在许多实际应用中,计算机数据在外存储器上的存取都是组织成“文件”进行的,即还需按一定的逻辑格式将数据组织成扇区,程序才能找到和使用这些扇 区。而黄皮书并未定义CD光盘数据的逻辑格式,即文件结构,而容。为此必须有一个光盘上文件格式的规范。
  为解决这个问题。许多硬件和软件厂家聚集在美国加州的High Sierra Lodge,Lake
Tahoe这个地方,共同起草了High-Sierra规范。这就是CD-ROM上文件格式规范早期的标准规范。1988年国际标准化组织在此基础上稍作 修改形成ISO9660国际标准,它定义了CD-ROM光盘上通用的信息交换用文件规范。该规范充分考虑了目前各种信息处理系统的特点,而且又考虑CD- ROM作为一个独特的信息存储系统所应具有的独立性。由于其通用性和独立性,使得ISO9660很快就成为CD-ROM光盘上最为重要的文件格式,普遍被 各种系统引为标准。
ISO9660规范主要给出了CD盘上文件系统的如下几方面的定义:
●光盘的属性以及其记录的描述区。
●CD光盘上文件的记录方式及文件的属性。
●CD光盘上目录的组织。
●卷和卷集和关系。
在ISO9660规范中,系统引进了若干逻辑寻址单位:
1、逻辑扇区
2048或2n个连续字节,其中后者为物理扇区的数据字节数,逻辑扇区大小取两者中大的。对CD-ROM而言,逻辑扇区和物理扇区的大小一致。
2、逻辑块 2n+9连续字节,n为正数。逻辑块必须小于或等于逻辑扇区。
3、子文件    一个文件可由若干子文件组成,每个子文件占有连续的逻辑块,称之为一个Extent
4、卷和卷集 一个CD-ROM为一个卷。卷集由一组卷组成,它是一个多卷的文件系统。
  ISO9660规范把CD光盘看成是一组连续的存储单元,并把它称为卷。一般可以把卷物理地对应到光盘的用户数据区,即节目区。在ISO9660规范中不涉及信息纹迹的概念,只有逻辑扇区的概念。卷中的逻辑扇区从0开始编号,依次增加。
  CD-ROM光盘有两种不同的寻址系统,物理寻址系统和逻辑寻址系统。
  物理寻址方式是CD-ROM的基本方式,以物理扇区为寻址单元,每次读出量为物理扇区的整数量。物理扇区定位可以用扇区号,也可以用光盘上的绝对地址(分、秒、帧),这两种计算方法在系统中有统一的换算公式(其中150表示光盘上数据信息纹迹前的2秒停止区的长度):
   物理扇区号=(mintus*60+second)*75+frame-150
  
逻辑寻址方式与前者着眼点不同,前者注重数据的输入,而逻辑寻址着重信息的逻辑存放。逻辑寻址有两种寻址单位:逻辑扇区和逻辑块。逻辑扇区的概念比逻辑块 要大,通常为方便起见,系统中常把逻辑扇区、逻辑块和物理扇区设置成大小一致,以方便寻址。系统说明中多用逻辑块作为单位描述,如文件的起始地址为 LBN(逻辑块号)。
  不管那种寻址方式都与现行的操作系统有所不同,所以在对现有系统进行CD光盘的扩充过程中,地址转换是一项必不可少的工作。
  从卷信息的逻辑含义上讲,卷空间从总体上看分成两块:系统区和数据区。按逻辑扇区号计算从0~15为系统区,该区的信息ISO9660没有统一定义。 从16号逻辑扇区开始一直到结束都是数据区。它包括卷描述、路径表、目录描述和文件数据。除了卷描述位置固定从16号逻辑扇区开始外,其它几块位置不固 定。
  
卷描述区中记录了有关文件的初始信息,它是所有其他文件信息的检索源头,如其中包括路径表、根目录的描述项、逻辑块的大小,还定义了有关光盘的版权、摘要、参考文献的文件名以及是否支持日文编码(Shift
Kanji)等。路径表中记录了该光盘上所有目录项的简要描述,并按一定顺序排列以方便查询。目录区和文件区的界线很模糊,有的CD制作系统不区分这两块,把目录也看成文件。不同之处就在于目录还能派生出子目录和所包含的文件。
  
这四个信息区中,除文件区外,其他信息区的存储(如一个目录文件)都必须按逻辑块连续存放,而文件区信息存放允许有两种处理方式。有ISO9660中文件的最小存储单元为子文件(一个Extent)、在规范中它可以以有间隔方式(Interleaved
mode)或无间隔方式(Noninterleaved mode)存放。
  在Interleaved方式情况下,一个子文件以逻辑块为单位分为一个或多个大小相同的文件单元,这些文件单元在存放时相互之间都有大小相等间隔 (Gap)。文件单元和间隔的大小信息都记录在文件的目录描述项中以备读取时使用。Interleaved方式主要是面向实时性要求较高的数据信息存储, 在CD-ROM
XA中有更为详细的解释。
  在Non-interleaved方式时,文件被作为一个整体,连续地存放在逻辑块中,不分文件单元,也没有间隔。
  
CD- ROM文件系统仍然是典型的树型结构,这样做的好处非常明显:它使得CD-ROM文件可以很方便地应用到各种常用的操作系统中去。CD-ROM文件系统的 总体描述信息在它的卷描述区中,在这里可以找到卷名等标识信息,还可以找到路径表及根目录的描述信息,由此就可以检索到光盘上所有其它的文件数据,可见卷 描述的重要性。
  因此系统在处理CD-ROM文件时,这部分信息总是预先装入内存随时备查。
  CD-ROM上的目录结构是一个标准的倒向树结构。这个倒向树的最高层是根目录,向下依次为子目录,叶子节点则为文件描述。ISO9660系统规定目 录结构不超过8层。如前所述,目录在系统中是作为特殊文件(目录文件)存放的,每个目录文件中记录着它所包含的文件和子目录的描述信息。
  由于CD光盘是只读存储设备,所以一旦作成,则文件结构就不再会发生变化。为了方便查找,提高数据读出速度,系统在已定型文件系统上建立一些快速查找方案。最重要就是建立了路径表,它是光盘上所有目录结构的总体描述,并且给出了他们的隶属关系。
  系统为目录树结构中每个非叶节点定义一个编号,路径表中通过编号对目录项进行排序,编号从1开始计数,遵守以下原则:
1、依层次结构自顶向下排序编号。
2、同一层中依照父目录的次序排序编号。
3、同一目录下的子目录按目录名的字典次序排序编号。
  依上述原则,CD-ROM文件系统中每个目录都有一个固定的编号,成一一对应关系。有时就用编号来代替目录,如路径表中父目录的标识就是用编号代替的。
  由于目录名是可变长的,因而造成路径表的每一项是个变长记录,系统规定若目录名的长度为奇数字节,则在其结尾补上一字节(0X00),反之则无此字段。
  文件在CD-ROM结构中是倒向树的叶子结点,它是盘上最终的查询信息。由前述可知,ISO9660系统中文件是以子文件为基本存储单位的,也即目录中文件描述项实际上只是子文件的描述。根据系统的定义,要查找一个完整的文件信息可分成两种情况:
  首先,对于哪些只有一个子文件的文件,从目录项中找到子文件描述即找到了文件的全部内容。目前许多从操作系统的CD-ROM扩充都只支持这种方式,而不支持多子文件(Multi-Extent)情况,以简化查找。
  
其次,对于有多个子文件的文件,因为每个子文件各有一个描述项且都在同一目录文件中,又因为系统规定目录文件中各目录项描述依标识符字典次序排序,所以属 于同一文件的所有子文件描述项在目录文件中肯定是相互连续的。这些子文件描述项的排列次序反映了子文件内容在整个文件中的组成次序。
  
由于系统并未规定一个Extent只能属于一个文件,因此子文件和文件的隶属关系可能是一对多。这样做的好处是,对于不同文件中的相同内容,CD-ROM系统只要在盘上存放一次数据内容,用多个描述项的方法来节省存储空间。
  如果一个文件系统的数据量太大,一张CD盘片记录不了这么多的信息时,ISO9660规范允许有多张CD-ROM共同记录一个完整文件系统中的数据。这些CD盘在一起组成了卷集,制作卷集关键之处在于如何处理同一卷集中不同卷之间的关系。
ISO9660规范对卷集中各卷有如下约定:
1、各卷中卷集标识符必须一致。
2、各卷中所使用的字符集必须一致。
3、各卷都有一个唯一的卷序列号与之对应,且卷序列号从1开始计数。
4、各卷中逻辑块大小一致。
5、每个卷中都包括了所有比该卷卷序列号小的卷中所记录的目录描述信息。
  
为了支持多卷系统,ISO9660在描述文件时增加了卷序列号用以定义文件实际存放在哪一卷,这给文件查找增加了新的负担,即在查找文件时有可能会引起换盘操作,增加了复杂度。目前MS-DOS的CD-ROM扩充中还不支持此项功能。
  ISO9660规定定义了一套CD光盘上信息交换用的文件格式说明,它充分考虑了各种可能的应用要求,从中可以看出现有DOS、Macintosh以 及Unix文件系统对它的影响。但对于某个具体的应用环境而言,实现ISO9660全集有时是很困难且没有什么必要。ISO9660考虑到了这一点,制定 了信息交换的三个层次:
层次1是在ISO9660基础上增加一些限制:
1、每个文件只有一个子文件,不支持有多个子文件的文件存在。
2、文件名不超过8个字符。
3、文件扩展名不超过3个字符。
4、目录名不超过8个字符。
   层次2是比层次1高,只有一个限制,即每个文件只有一个子文件。
   而层次3为ISO9660的全集。
  
一般操作系统在扩充CD-ROM时都根据自身特点作了限制,如PC机MS-DOS系统中的MSCDEX.EXE程序时ISO9660作了比层次1还要严格的约束,如不支持多卷文件,也不支持Interleaved方式存储文件等等。
  
CD-ROM上的文件系统和DOS操作系统的文件系统差别很大,DOS无法用通常的方式直接读取CD-ROM上的文件,必须在原有文件系统的基础上进行 CD-ROM文件系统的扩充。在高版本的MS-DOS(版本号高于3.10)中,有一个CD-ROM扩展程序---MSCDEX.EXE,它可以使用户象 存取磁盘文件那样读取CD-ROM光盘文件。MSCDEX是DOS的一个外部命令,运行后相应代码将驻留在内存。它通过DOS的驱动设备标准接口以CD- ROM文件格式读取光盘上的信息,并服务于DOS或应用系统的文件请求。MSCDEX是一个与设备无关的CD-ROM扩展器,它调用一个CD-ROM驱动 程序来完成数据的读出与控制。CD-ROM驱动器的设备名由Config.sys中加载的设备驱动程序设定。
  MSCDEX 的命令行语法为:
   MSCDEX [/E/K/S/V][/L:<Letter>][/M:<buffet>]/D:<device-name>
各开关的含义如下:
/E:MSCDEX可用扩展内存(Expanded
Memory)作为CD-ROM的读写缓冲区。这个开关需EMM规范LIM3.2以上,缺省时不用EMM。
/k:支持Kanji编码文件格式,缺省时为不支持Kanji格式的光盘。
/S:允许基于MS-NET网络服务器共享。
/V:显示MSCDEX作用内存的情况。
/L:MSCDEX加载时用户建议的起始盘符。在给CD-ROM分配盘符时,从所建议的盘符开始,找到可用的盘符分配给CD-ROM。若有多个光盘,则分配多个盘符。若盘符不够,则修改Cinfig.sys中Lastdrive的参数。
/M:MSCDEX要申请的盘缓冲区个数,每个缓冲区约为2K字节。使用的缓冲区越多,读的速度越快。缺省值为4。
/D:指明所用设备的设备名,该开关是必须的。
在DOS中,CD-ROM光盘和普通磁盘在使用上有以下区别:
●CD-ROM光盘是只读的,所有写操作都不能完成。
●CD-ROM光盘没有类似FAT表的结构,所有对磁盘物理结构进行操作的命令均不能使用,如FORMAT命令。
●CD-ROM是作为网络盘来处理的,因此只能在本机上使用的命令如CHKDSK.PCTOOLS,不能用于CD-ROM光盘。
●CD-ROM没有磁道、簇等概念,它只是一个顺序存放的信息流,因此在BIOS级和磁盘是不兼容的。
MSCDEX在结构上是由两部分组成的:
  加载部分,它为驻留部分进行初始化工作,如建立盘符,申请系统缓冲区等。
  驻留部分由若干例程组成,它有两个接口:网络重定向接口和API。API是为应用程序提供的CD-ROM专用接口,可直接通过调用INT2FH的15 号子功能完成CD-ROM光盘数据的读取。网络重定向接口是由DOS调用的(通过INT2FH),通过DOS功能调用文件读写功能实现CD-ROM文件的 读取。它符合网络重定向接口规范,并挂接于网络重定向接口。当DOS对网络盘进行读写时,DOS自动调用网络重定向接口,MSCDEX确认网络盘是自已管 理的光盘后完成对盘的实际读出操作。
在MSCDEX中,1个CD-ROM驱动器对应一个盘符,每个CD-ROM盘有一数据结构,用来记录一些必需的信息。主要内容是:
●盘符
●盘的当前目录结构(Current Directory Structure,CDS),记录光盘的当前路径、网络属性等。
●盘的设备状态,指当前驱动器的读写信息,由设备驱动程序返回。
●设备名。
●设备头指针。
●设备驱动程序的策略入口。
●光驱对应的单元号。
支持Kanji文件格式等。
●卷描述信息区地址,卷描述信息区中存放着所有MSCDEX用到的卷描述数据,例如,卷描述类型、卷标、卷空间大小、卷集个数、卷集序列号、逻辑块大小、路径表大小、路径表地址等。
●路径表索引缓冲区地址,由于路径表的记录长度可变,因此建立索引加快查找,索引存放在缓冲区中。
MSCDEX的效率主要和读写缓冲的多少及缓冲区的管理算法有关。缓冲区以2K(一个扇区)为单位,分为若干个缓冲区。缓冲区主要用于存放路径索引、缓冲光盘的卷描述扇区、路径表或目录记录、文件零碎块等。每个缓冲区对应一个信息控制表,控制表的主要数据项如下:
●缓冲区存放数据的类型。
●缓冲区的起始地址,若是EMM的缓冲区,则还记录页号等。
●缓冲区使用与否。
●缓冲区的使用时间,它只是一个使用的先后关系。在申请缓冲区时,在优先级相等的情况下,较早使用的缓冲区将被重新使用。
●使用该缓冲区的光盘符。
●缓冲区中数据对应的扇区号。
  缓冲区的管理主要按数据的优先级来申请与释放,在优先级相等时,按时间决定。
MSCDEX具有网络重定向接口,其网络重定向接口包括:
1.读写功能接口,调用INT2FH中的11H子功能。
2.错误处理接口,调用INT2FH中的05H子功能。
  错误处理的主要作用是将错误码转换为对应错误信息字符串的数据指针。由于扩充了CD-ROM,因此DOS错误处理也必须作适当的扩充。
  网络重定向接口是MS-DOS的一个内部规范,其接口是非公开的,它的功能接口主要有:改变网络目录关闭远地文件、读远程文件、取文件属性、打开远地文件、查找匹配的第一个文件,查找下一个匹配的文件、文件定位等。
  对于编程人员的应用程序既可通过DOS功能调用来读取CD-ROM盘上的数据,也可直接调用MSCDEX提供的API。
API是通过INT2FH中的15H子功能实现的,对应功能如下:
AL的命令码 功能
0 取CD-ROM驱动器个数。
1 取CD-ROM驱器设备链,即列出 系统中所有的光盘驱动器的设备头指针等信息。
2 取版权文件名。
3 取摘要文件名。
4 取文献文件名。
5 读卷描述。
6,7 保留。
8 绝对盘读,直接读取盘上的特定扇区。
9 绝对盘写(由于光盘是只读设备,所以没有此功能)。
0A 保留。
0B CD-ROM驱动器检查。
0C 取MSCDEX的版本号。
0D 取CD-ROM的驱动器号。
0E 读取/设置所参考的卷描述的种类是PVD,还是SVD(支持Kanji编码文件)。
0F 读目录项。
10H 发送设备请求。
11E~0FFH 保留。
  
在这些功能中,常用的是读目录项。因为要对一个文件进行操作,首先需找到它对应的目录记录,以获得文件的存放地址、长度、时间、日期及属性等信息。
  发送设备请求,可以帮助应用程序直接使用设备驱动程序的功能,以获得CD盘的物理信息,还可对CD-DA盘进行播放控制操作等。
  MSCDEX利用DOS系统网络重定向接口来实现CD-ROM的扩充,使得DOS应用无须改动就可以直接应用到光盘上。而且MSCDEX采用数据缓冲 技术,缩短了光盘数据查找时间,使得系统的效率大大提高,能够满足光盘上一般多媒体应用的要求,极大地推动了光盘在DOS系统中的应用。
  但是MSCDEX也有一些不足之处,如:只支持ISO-9660和HSG的子集。只支持DOS格式的文件名,不支持多卷集的光盘,也忽略XAR记录中的内容等。但由于多数光盘上的文件系统也只是ISO9660的子集,因而这些不足并没有给通常的应用带来不便。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值