操作系统课程设计报告2014217151.docx_第1页
操作系统课程设计报告2014217151.docx_第2页
操作系统课程设计报告2014217151.docx_第3页
操作系统课程设计报告2014217151.docx_第4页
操作系统课程设计报告2014217151.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机操作系统课程设计报告 设计题目:磁盘文件系统:建立基于磁盘存储设备的FAT文件系统 学生姓名: 李勤阳 学 号: 2014217151 专业班级: 计算机科学与技术14-3班 指导教师: 田卫东老师 院系名称: 信息工程系 2016.12.25目录(一)课程设计任务、要求、目的(二)原理及算法描述(三)开发环境(四)重要算法和设计思路描述(五)程序实现数据结构(六)程序实现程序清单(七)总结(八)参考文献(一)课程设计任务、要求、目的分配一定容量的磁盘存储空间,作为文件存储空间建立相应的文件系统,使用FAT文件系统为文件系统设计相应的数据结构来管理目录,磁盘剩余空间,已分配空间提供文件的创建,删除,读写,改名等功能提供良好的界面提供虚拟磁盘转储的功能,可将信息存入磁盘,还可从磁盘中读入内存(2) 原理及算法描述1. 由于要分配一定容量的 磁盘存储空间 , 所以申请一块指定大小的文件作为用户的磁盘, 如 C.dsk2. 分配磁盘空间后要以特定字节填充使得磁盘大小满足要求,然后格式化为FAT格式本课程设计是实现了一个FAT16, 格式化的过程要给磁盘分为几个区: 保留扇区(含DBR) , FAT表区 , 根目录区 , 数据区 . 初始时候没有文件数据,所以只需将DBR包括JMP指令,OEM信息,BPB 等信息写入保留扇区引导区, 并初始化FAT区的前4个字节为 F8 FF FF FF .3. 目录项DIR结构用来管理目录, 通过已使用目录项中存的文件大小信息和BPB中存的信息可计算出已分配空间和剩余空间大小4. 通过 CreateFile , ReadFile , WriteFile , DeleteFile 和 RenameFile 等函数实现了文件的 创建、读写、删除、改名等功能(三)开发环境IDEgcchexdump(四)重要算法和设计思路描述1. 整个磁盘的读写 包括系统区的初始化和文件的读写 主要是通过封装的对扇区(512Bytes的数据单位)的读写writeSector 和 readSector 来实现的。2. 各个区域始址的寻找主要通过BPB中包含的本磁盘信息计算出来的。3. 文件区由于以簇(可包含多个扇区)为单位进行读写,所以用到一个簇与扇区转换的工具函数 clusIDtoSectorID4. 另外文件名存储由于要DOS的8.3格式,所以用到一个 formatFilename 的函数用来转换(5) 程序实现数据结构/BPB部(BIOS Parameter Block)DBR中关于分区的信息typedef struct _BPBBYTE BytesPerSector2;BYTE SectorsPerClus;BYTE ResvdSectors2;BYTE FATCount;BYTE DirCount2;BYTE Resvd12;BYTE MediaDiscr;BYTE SectorsPerFAT2;BYTE Resvd212;_BPB, *pBPB;/DBR区(DOS BOOT RECORD), 512字节即0扇区typedef struct _DBR2016/12/25 report.mdfile:/home/haibin/OS/final_work/report.md 2/2BYTE jmp3;BYTE oemInfo8;_BPB BPB;BYTE reserved476;DBR, *pDBR;/待定义typedef struct _DATEBYTE info2;DATE, *pDATE;/待定义typedef struct _TIMEBYTE info2;TIME, *pTIME;/目录项。32字节typedef struct _DIRchar name8;char ext3;BYTE attribute;BYTE reserved10;TIME modifyTime;DATE modifyDate;WORD firstCluster;WORD fileSize2;DIR, *pDIR;(六)程序实现程序清单见附件部分(七)总结 通过对磁盘上开辟文件,分割文件内部区域,分为系统区,用户区。通过文件指针的读写来模拟逻辑上的磁盘文件管理系统。想法非常有创意,实现的难度较高。主要在于对文件(模拟磁盘)创建时的大小计算,要包含文件本身大小以及fat表和目录项的分配,基于此初始化引导扇区的BPB。相关功能的设计也要注意参数的传递比如文件指针的约束。防止发生段越界。 对于不同分区字节的限制也异常关键,在具体实现过程中就发生过保留扇区个数限制错

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论