高级操作系统实验报告姓名:学号:专业:任课教师:2014年01月18目录一、课程设计题目和目的.........................................................1二、课程设计要求...............................................................1三、程序设计思想...............................................................1四、文件系统的实现.............................................................21.数据结构设计...............................................................22.程序功能图.................................................................33.实体关系图.................................................................34.数据流图...................................................................45.程序流程图.................................................................5(1).建立文件:create(文件名,记录长度).................................6(2).写文件:write(文件名,开始位置,字符串)..............................7(3).读文件:read(文件名,开始位置,长度)...............................8(4).显示文件所有内容type(文件名)........................................8(5).删除文件delete(文件名)...............................................9(6).重命名文件ren(文件名,新文件名).....................................10(7).查询文件属性ask(文件名).............................................11(8).关闭文件close(文件名)...............................................12五、程序运行结果及分析........................................................13六、课程设计总结..............................................................15七、参考文献..................................................................16八、附录......................................................................17一、课程设计题目和目的通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。二、课程设计要求通过组长分工,我主要完成了如下几个功能的操作:1.创建文件:从命令中得到文件名,得到该文件的文件长度,建立文件。修改目录表。4.读文件:read[文件名][显示开始字节][显示的字节数],直接显示所需要的字节数。5.写文件:write[文件名][插入的位置][插入的内容]6.修改属性:修改文件属性文件名,文件权限,文件长度等。三、程序设计思想阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文件夹名称及其地址从打开文件夹栈中抛出。文件打开则把文件的名称及其父指针写到文件列表同时置文件打开标志为1,文件关闭则把文件从打开列表中删除,同时置文件打开指针为0,文件读取和写入都要检查文件是否在文件打开列表中,未打开文件不能读写,只读文件不能写,只写文件不能读。文件夹和文件创建,文件夹和文件的创建首先检验目录是否为空,为空则把文件夹或文件连接到该目录下,不为空则把检查目录下是否有同名文件夹或文件,有则提示创建不成功,没有则把文件夹或文件连接到该目录下的最后一个子节点,作为它的兄弟节点。文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,否则删除失败,删除文件夹时利用了中序历遍来删除子树。模拟文件系统创建文件删除文件条件读取写入文件查询属性显示内容显示目录重命名文件关闭文件四、文件系统的实现1.数据结构设计通过分析课程...