操作系统课程设计--模拟文件系统

操作系统课程设计--模拟文件系统

ID:863700

大小:214.53 KB

页数:16页

时间:2017-09-21

操作系统课程设计--模拟文件系统_第1页
操作系统课程设计--模拟文件系统_第2页
操作系统课程设计--模拟文件系统_第3页
操作系统课程设计--模拟文件系统_第4页
操作系统课程设计--模拟文件系统_第5页
资源描述:

《操作系统课程设计--模拟文件系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、烟台大学计算机学院课程设计报告书课程名称操作系统设计题目模拟文件系统学院计算机学院专业班级计算机科学与技术08级3班学号200825501331学生姓名鞠鑫指导教师任满杰2011年6月21日目录一、课程设计题目和目的4二、课程设计要求4三、程序设计思想4四、文件系统的实现4五、程序运行结果及分析20六、课程设计总结22七、参考文献22一、课程设计题目和目的通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提

2、高综合运用各专业课知识的能力。二、课程设计要求内容要求:1.文件的物理结构可以选用顺序分配、链表分配或索引分配。2.建立文件:从命令中得到文件名,得到该文件的文件长度,建立文件。修改目录表。3.删除文件:回收文件占用的空间,修改目录表4.读文件:read[文件名][显示开始字节][显示的字节数],直接显示所需要的字节数。5.写文件:write[文件名][插入的位置][插入的内容]6.查询属性:显示文件属性文件名,类型,长度,时间等。三、程序设计思想阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课

3、程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。此课程设计把TXT文本作来研究对象来模拟操作系统的文件系统工作过程。所以用一个字符串数组来模拟磁盘空间,顾名思义,模拟磁盘提供字符的存储服务。磁盘空间分配表,采用链表结构,每个节点保存模拟磁盘的一个逻辑块的信息,包括块的最大长度,文件占用长度,占用标志。如果占用标志为0,即该空间可

4、分配给文件。初始化磁盘空间分配表链表,首先把整个模拟磁盘作来一块,并置占用位为0.当有进程申请磁盘空间时,从头开始遍历,检查占用位,如果该块为可分配,则检查块大小,若块长度大于或等于申请空间大小,则把块的前一部分(等于申请大小)分配给文件,并置标志位为占用。剩下的大小作来一个新块,作来一个新节点插入到原节点的后边,标志位为可用。这样就实现了模拟磁盘的线性分配。文件表,由于模拟文件系统的文件数量不多,故文件表采用线性表来存储。线性表每个结点存储一个文件的信息。打开文件表,采用数组形式存储打开的文件,数组每个元素

5、保存一个打开文件的信息。文件信息和文件表中的文件信息类似。构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。四、文件系统的实现1.数据结构设计通过分析课程设计要求,具体设计出如下数据结构:用户结构:账号与密码结构typedefstructusers{ char    name[8]; char    pwd[10];}users;本系统有8个默认的用户名,前面是用户名,后面为密码,用户登陆时只要输入正确便可进入系统,否则提示失败要求重新输入。usersusrarray[8]={ "usr1","us

6、r1", "usr2","usr2", "usr3","usr3", "usr4","usr4", "usr5","usr5", "usr6","usr6", "usr7","usr7", "usr8","usr8",};(3)数据结构说明a)文件结构链表structfnode{   charfilename[FILENAME_LENGTH]; int isdir; intisopen; charcontent[255]; fnodeparent; fnodechild; fnodeprev; fnodene

7、xt;};b)函数介绍fnodeinitfile(charfilename[],intisdir);//初始化文件或目录  voidcreateroot();//建立系统根目录 intrun();系统运行 intfindpara(chartopara);对参数进行处理 boolchklogin(charusers,charpwd);检查账号与口令 voidhelp();命令列表 intmkdir();建立目录 intcreate();建立文件 intread();读取文件 intwrite();写入文件 in

8、tdel();删除文件 intcd();切换目录 intdir();文件与目录列表通过结构体存储打开的文件信息,包括文件名字、文件类型、文件开始位置、文件长度、最大长度、文件打开数和文件创建时间。通过结构体数组存储所有打开文件信息。2.程序功能图模拟文件系统创建文件删除文件条件读取写入文件查询属性显示内容显示目录关闭文件帮助显示图4-1程序功能图文件系统提供的文件操作有建立文件(create)、删除

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。