文档详情

操作系统课程设计-基于java二级文件系统.doc

发布:2017-02-23约9.61千字共16页下载文档
文本预览下载声明
操作系统课程设计报告 题 目: 文件系统的模拟设计 姓名:崔峰海 学号:200925501132 指导老师:翟一鸣 学校:烟台大学 时间 一、设计目的学习完操作系统课程后进行的一次全面的综合训练,加深操作系统基础理论和的理解,加强学生的动手能力。设计内容(1)概述为Linux系统设计一个简单的二级文件系统。要求做到以下几点: 1.可以实现下列几条命令: login 用户登录 dir 列目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件2.列目录时要列出文件名,物理地址,保护码和文件长度 3.源文件可以进行读写保护(2)设计原理文件系统 (3)详细设计 文件创建函数 算法:查找当前目录下是否有同名文件,是则退出,否则让用户输入文本文件内容,以‘###’结束。申请inode空间(ialloc函数),申请硬盘block空间(balloc函数),申请失败则结束。将文件内容写入inode空间和block空间。修改当前目录的结构,修改inode位图,block位图,写入模拟硬盘。详细过程如流程图1.2所示: ③、打开文件函数 对文件进行关闭操作,若此时文件不存在或处于读状态或写状态,则返回关闭失败信息;若此时文件处于空闲状态,则调用Close函数进行关闭操作。流程图如图1.3所示: ④、关闭文件系统函数 对文件进行打开操作,若此时文件不存在或已处于打开状态或读状态或写状态,则返回打开失败信息;若此时文件处于空闲状态,则调用Open函数进行打开操作。流程图如图1.4所示: (4) 程序结果如图1.5-1.7所示 图1.5 图1.6 图1.7 ()操作系统课程设计是本课程重要的实践教学环节。课程设计的目的,一方面使学生更透彻地理解操作系统的基本概念和原理,使之由抽象到具体;另一方面,通过课程设计加强学生的实验手段与实践技能,培养学生独立分析问题、解决问题、应用知识的能力和创新精神。与本课程的实验教学相比,课程设计独立设课,具有更多的学时,给学生更多自行设计、自主实验的机会,充分放手让学生真正培养学生的实践动手能力,全面提高学生的综合素质。()参考文献 12、显示列表函数dir( )和目录创建函数mkdir( )等(文件名dir.c) #include stdio.h #include string.h #include filesys.h _dir( ) /*dir*/ { unsigned int di_mode; int i,j,one; struct inode *temp_inode; printf(\nCURRENT DIRECTORY:\n); for(i=0;iDIRNUM;i++) {if(!(strcmp(dir.direct[i].d_name,))(dir.direct[i].d_ino==0)) { dir.size = i;break; }} for(i=0;idir.size;i++) {if (dir.direct[i].d_ino!=DIEMPTY) { printf(%14s ,dir.direct[%d].d_ino = %d, 属性:,dir.direct[i].d_name,i,dir.direct[i].d_ino); temp_inode=iget(dir.direct[i].d_ino); di_mode=temp_inode-di_mode; for(j=0;j12;j++) { one=di_mode%2; di_mode=di_mode/2; if (one) printf(x); el
显示全部
相似文档