ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:1.18MB ,
资源ID:6091737      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6091737.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统课程设计磁盘文件操作报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统课程设计磁盘文件操作报告.docx

1、操作系统课程设计磁盘文件操作报告操作系统课 程 设 计 报 告理论成绩实践成绩总成绩院系: 信息管理学院 专业: 软件工程 班级: 组员: 教师: 时间: 2012.11 一、课程设计的题目和目的设计一个简单的文件系统,要求实现:(1)支持多级目录结构;(2)实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件、关闭文件、改变文件属性。本设计的目的是通过设计和调试一个简单的文件系统,主要是模拟文件操作命令的执行,来模拟文件管理,使我们对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。二、课程设计的实现的具体功能1 支持

2、多级目录结构,支持文件的绝对路径;2 文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;3 采用文件分配表;4 实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件、关闭文件、改变文件属性。三、文件系统的基本原理和概念1、文件系统设计需要解决的两个问题:一是如何定义对用户的接口。如定义文件机器属性、文件所允许的操作、组织文件的目录结构;二是创建数据结构和算法来将逻辑文件系统映射到物理外存设备上。文件系统存在于辅助存储器磁盘。2、文件的实现,需要建立磁盘结构,这个涉及到如何启动所存储的操作系统、磁盘总的块数、空闲块的数目和位置、目

3、录结构以及各个具体文件等。3、目录的实现:为了实现用户对文件的按名存取,系统必须首先利用用户提供的文件名,对文件目录进行查询,找出该文件的文件控制块FCB,然后根据找到的FCB中所记录的文件物理地址,并根据文件物理组织方式找出文件的磁盘号,进而换算出文件在磁盘上的物理位置,然后启动磁盘驱动程序,将所需文件读入内存。4、基于连接分配的磁盘空间:每个文件是磁盘块的链表:磁盘块可以分散在磁盘的任何地方,目录包括文件第一块的指针和最后一块指针。本次设计采用的是文件分配表(FAT),它是连接分配方法的一个变种。FAT用于MSDOS and OS/2操作系统,每个分区的开始部分用于存储该FAT表。每块都在

4、该表中有一项,该表可通过块号码来索引。四、课程设计的分工团队成员负责模块1、用户界面的设计2、建立目录3、删除目录4、显示目录内容5、程序测试6、程序使用说明1、流程图的制作2、建立文件3、写文件4、读文件5、关闭文件6、删除文件1、课程设计的分析2、数据结构的设计3、打开文件4、显示文件内容5、改变文件的属性6、程序设计报告五、总体设计1、系统功能流程图:2、数据结构设计 (1)目录结构typedef struct char name3; /文件或目录名char type2; /文件类型名char attribute; /属性char address; /文件或目录的起始盘块号char le

5、ngth; /文件长度,以盘块为单位content; (2)已达开文件表中读写指针的结构typedef struct int dnum; /磁盘盘块号int bnum; /磁盘盘块内第几个字节pointer;(3)已打开文件表项类型定义typedef struct char name20; /文件绝对路径名char attribute; /文件的属性,用1个字节表示,char类型int number; /文件起始盘块号int length; /文件长度,文件占用的字节数int flag; /操作类型,用0表示以读操作方式开文件的,用1表示写操作方式打开文件的pointer read; /读文件

6、的位置,文件刚打开时dnum 为文件起始盘pointer write; /写文件的位置,文件刚建立时dnum为文件起始盘块号,bnum为0,文件打开时为文件的末尾OFILE;(4)已打开文件表定义struct OFILE filen; /已打开文件表int length; /已打开文件表中登记的文件数量openfile;六、详细设计1、建立目录函数int md(char *name)功能流程图2、删除目录函数 int rm(char *name)功能流程图3、显示目录函数int dir(char *name)功能流程图4、建立文件函数int create_file(char *name,int

7、 attribute)功能流程图5、打开文件函数int open_file(char *name,int attribute)功能流程图6、写文件函数int write_file(char *name,char *buff,int length)功能流程图7、读文件函数int read_file(char *name,int length)功能流程图8、删除文件函数int Delete(char *name)功能流程图9、关闭文件函数int close_file(char *name)功能流程图10、显示文件内容函数char typefile(char *name)功能流程图11、改变文件属性

8、函数int change(char *name,int attribute)功能流程图12、分配磁盘内存块函数int allocate( )功能流程图13、在已打开文件表中插入文件函数int iopen(content *x)功能流程图14、在已打开文件表中删除文件函数 void dopen(char *name)功能流程图15、在已打开文件表中查找文件int sopen(char *name)功能流程图16、void copen(OFILE *x1,OFILE *x2)17、查找路径名为name的文件或目录函数int search(char *name,int flag,int *dnum,

9、int *bnum)功能流程图七、程序测试与测试结果1、建立目录2、在a目录下建立文件,然后在打开文件3、写文件,按后保存关闭文件4、读文件5、显示文件内容,该操作之前应该先关闭文件,否则不能显示文件内容。6、显示目录内容7、删除文件,并查看目录内容看是否已删除文件8、在a目下建立一个目录,形成多级目录,并在该目录下建立文件在新建的文件下写文件在目录a下删除新建目录9、改变文件的属性后,若将文件的属性改为只读,则不能进行写操作,如下,就会出错。八、简要的使用说明九、设计总结在设计过程中,我们三个人,分工协作,查询了不少相关资料,不断的发现问题、提出问题、解决问题。在程序设计过程和中和对所编写的源程序段的纠错的过程中,我们对操作系统中文件系统的理论知识有了深刻的理解和认识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便。虽然在这次课程设计中在设计和算法设计上还存在一些不足,但是总的来说通过这次的设计的学习使我们学到了很多在平时的学习中学不到的很多东西,对操作系统有了更深一层的了解,同时也提高了C+语言的应用能力。十、程序设计源代码

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1