光盘的数据结构
发布网友
发布时间:2022-04-28 10:38
我来回答
共3个回答
热心网友
时间:2023-05-11 22:06
光盘的数据结构包含几个部分:mbr区、DBR区、FAT表、数据区
MBR就是记录光盘的分区信息和大小,DBR区是引导扇区,记录光盘的文件格式、定义簇和扇区的大小,FAT表是记录文件的存储位置和大小,便于系统查找和定位文件位置。数据区只是存放真正的数据
热心网友
时间:2023-05-11 22:07
由于前段时间(半年前吧)工程的需要,看了一下光盘数据的存储格式以及光盘数据读取方法,后来由于工程变更(前面考虑的方法没有达到要求)就放弃;所以仅研究了光盘上数据的存储方式以及读取方式,对于写入方式还没有进行,不过按照读取方式,写入方式不是难题;目前我还没有看见网上有公开的光盘刻录源代码,这段代码对于想研究光盘刻录、ISO文件解压/制作,应该有一点用处。
对于读取来说,需要的知识要少一些,如果想要刻录,那就需要理解更多的;对于一些光盘的术语,比如Track Session Dao等等,还有导入区,导出区,多区段,关闭Session等等,此外还有音乐CD刻录方式,视频CD刻录方式,数据CD刻录方式等等。还有很多物理逻辑上的东西,如果不费一些功夫,理解起来还是很麻烦的。
光盘物理逻辑上的东西理解起来是比较麻烦的,进入到光盘上的文件系统,对于做软件来说,相对要容易得多,其实就是一种数据存储结构(文件系统);目前光盘主要的文件系统有ISO9660,Joliet,UDF等(最要命的是苹果机上还有一种HFS),这些文件系统只是在保存文件目录结构不一样,数据区是公用的,所以ISO/UDF光盘就是有两个目录结构在光盘上,数据是一份的。对于目录结构的解析可以参考这些文件系统的说明文档(不过这些文档还真不好找,所以我做的时候,一些东西是试验推想出来的;有一个论坛有,不过太贵,注册会员年费要$100000)。
要想访问光盘,一个有效的办法就是通过SCSI接口与IDE设备进行交互;不过这个办法非常不好弄, 除非你是很专业的人士,因为这方面的资料少之又少。所以一般我们就通过ASPI(Advanced SCSI Programming Interface)接口进行,这样就好办多了。通过ASPI接口,我们可以读写光盘上任意位置(Sector)的上的二进制信息。读光盘的时候,根据得到的二进制信息,就可以分析出光盘上的文件信息,进行文件恢复等等。
对于一些具体的ISO9660/Joliet/UDF文件系统的分析以及关盘数据读取,可以参考共享文件《光盘数据读取》
热心网友
时间:2023-05-11 22:07
好像跟硬的结构有类似之处吧,都是以磁道的方式读取数据,还有就是把磁道分成N个簇,每个簇存多少大小数据,具体情况你参考一下课本吧