光盘的数据结构

发布网友 发布时间: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个簇,每个簇存多少大小数据,具体情况你参考一下课本吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com