福州大学操作系统实验报告-文件系统的构建.docVIP

福州大学操作系统实验报告-文件系统的构建.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
福州大学操作系统实验报告-文件系统的构建

计算机操作系统实验三 【实验名称】:文件系统的构建(实验3) 【实验目的】:掌握磁盘的工作原理和操作系统进行文件管理的原理 【实验原理】:硬盘的MBR:MBR(Main Boot Record),按其字面上的理解即为主引导记录区,位于整个硬盘的0磁道0柱面1扇区。在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0000--偏移01BD),另外的64个字节(偏移01BE--偏移01FD)交给了DPT(Disk Partition Table硬盘分区表),最后两个字节55,AA(偏移01FE- 偏移01FF)是分区的结束标志。这个整体构成了硬盘的主引导扇区。大致的结构如图所示: 硬盘依据分区表中的信息把硬盘划分为最多四个分区(对于扩展分区,可进一步划分为多个逻辑分区)。U盘采用类似的方法划分分区。每个分区或软盘上可建立独立的文件系统。下图是FAT文件系统空间分布结构。 【实验内容】:在掌握磁盘的工作原理和操作系统进行文件管理原理的基础上,自行设计实现在磁盘上建立文件系统的软件,该软件应该具有与Format类似的功能,至少支持一种文件系统格式,如FAT、NTFS或EXT2,至少能够对一种媒体进行格式化,如软盘,U盘或硬盘(不得在实验室的机器上进行硬盘格式化的实验)等。不能直接调用操作系统提供的格式化工具或类似SHFormatDrive()的高层系统函数实现该软件。在Windows环境可使用biosdisk()函数完成底层盘操作,在Linux环境上可参考format的源代码。比较自己设计实现的软件与FORMAT,分析存在什么异同。 一、背景知识 使用“DOC分区”体系时,磁盘的第一个——也就是0号扇区被称为主引导记录扇区,也称为主引导记录MBR(Master Boot recorder,MBR)。 1、MBR数据结构 MBR由446个字节的引导代码、64字节的主分区(4个)表及两个字节的“55 AA”是分区的结束标志。 FAT文件系统的整体布局 2、说明 【1】 保留区含有一个重要的数据结构——系统引导扇区(DBR)。FAT12、FAT16的保留区通常只有一个扇区,而FAT32的保留扇区要多一些,除0号扇区外,还有其他一些扇区,其中包括了DBR的备份扇区。 【2】 FAT区由来年各个大小相等的FAT表组成——FAT1、FAT2,FAT2紧跟在FAT1之后。 【3】 FAT12、FAT16的根目录虽然也属于数据区,但是他们并不由簇进行管理。也就是说FAT12、FAT16的根目录是没有簇号的,他们的2号簇从根目录之后开始。而FAT32的根目录通常位于2号簇。 3、典型的FAT32_DBR 【1】0x00~0x02:3个字节,跳转指令。 【2】0x03~0x0A:8个字节,文件系统标志和版本号,这里为MSDOC5.0。 【3】0x0B~0x0C:2个字节,每扇区字节数,512(0X02 00)。 【4】0x0D~0x0D:1个字节,每簇扇区数,8(0x08)。 【5】0x0E~0x0F:2个字节,保留扇区数,2050(0x0802)。 【6】0x10~0x10:1个字节,FAT表个 数,2。 【7】0x11~0x12:2个字节,根目录最多可容纳的目录项数,FAT12/16通常为512。FAT32不使用此处值,置0。 【8】0x13~0x14:2个字节,扇区总数,小于32MB时使用该处存放。超过32MB时使用偏移0x20~0x23字节处的4字节存放。笔者的SD卡容量为2GB,所以不使用该处,置0. 【9】0x15~0x15:1个字节,介质描述符,0xF8表示本地硬盘。 【10】0x16~0x17:2个字节,每个FAT表的大小扇区数(FAT12/16使用,FAT32不使用此处,置0)。 【11】0x18~0x19:2个字节,每磁道扇区数,63(0x00 3F)。 【12】0x1A~0x1B:2个字节磁头数,255(0x00 FF)。 【13】0x1C~0x1F:4个字节,分区前已使用扇区数, 【14】0x20~0x23:4个字节,文件系统大小扇区数。 【15】0x24~0x27:4个字节,每个FAT表的大小扇区数。 【16】0x28~0x29:2个字节,标记。 【17】0x2A~0x2B:2个字节,版本号。 【18】0x2C~0x2F:4个字节,根目录簇号,2。(虽然在FAT32文件系统下,根目录可以存放在数据区的任何位置,但是通常情况下还是起始于2号簇) 【19】0x30~0x31:2个字节,FSINFO(文件系统信息扇区)扇区号,1。(上图的标注即用黄色条纹的标注有误,请读者注意)该扇区为操作系统提供关于空簇

您可能关注的文档

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档