欢迎来到天天文库
浏览记录
ID:18699015
大小:351.50 KB
页数:25页
时间:2018-09-21
《天津科技大学课程设计操作系统new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统课程设计报告操作系统课程设计报告专业:软件工程学号:姓名:提交日期:2013-12-2024操作系统课程设计报告二级文件系统设计【实验环境】C++/VC++【设计原理】对采用二级文件目录的文件系统工作的机理了如指掌,对文件系统的相关操作要掌握。【设计目的】(1)本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现。(2)结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统。(3)通过分对实际问题的分析、设计、编程实现,提高学生实
2、际应用、编程的能力【设计要求】理解二级目录的文件系统的组织;掌握常用的数据结构;系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件;使用文件来模拟外存,进行数据结构设计和操作算法的设计,实现一个文件系统并实现基本的文件操作(为了简便文件系统,不考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容)。要求:1、对程序的每一部分要有详细的设计分析说明2、程序执行的每个步骤要有具体的提示内容或输出24操作系统课程设计报告1、源代码格式规范,注释不少于四分之一2、设计合适的测试用例,
3、对得到的运行结果要有分析,3、设计中遇到的问题,设计的心得体会4、提交完整程序代码、课程设计报告及相关文档【设计内容】一、任务为Linux系统设计一个简单的二级文件系统。要求做到以下几点:1.可以实现下列几条命令:login用户登录dir列目录create创建文件delete删除文件open打开文件close关闭文件read读文件write写文件cd进出目录2.列目录时要列出文件名,物理地址,保护码和文件长度3.源文件可以进行读写保护二、程序设计1.设计思想24操作系统课程设计报告本文件系统采用两级目录
4、,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。1.主要数据结构和部分代码参考程序见下(本程序需要在c:下建一个名为osfile的目录及一个名为file的子目录):#includ
5、e"stdio.h"#include"string.h"#include"conio.h"#include"stdlib.h"#defineMAXNAME25/*thelargestlengthofmfdname,ufdname,filename*/#defineMAXCHILD50/*thelargestchild*/#defineMAX(MAXCHILD*MAXCHILD)/*thesizeoffpaddrno*/typedefstruct/*thestructureofOSFILE*/{intfp
6、addr;/*filephysicaladdress*/intflength;/*filelength*/intfmode;/*filemode:0-ReadOnly;1-WriteOnly;2-ReadandWrite(default);*/charfname[MAXNAME];/*filename*/}OSFILE;typedefstruct/*thestructureofOSUFD*/{charufdname[MAXNAME];/*ufdname*/OSFILEufdfile[MAXCHILD];
7、/*ufdownfile*/}OSUFD;typedefstruct/*thestructureofOSUFD'LOGIN*/{24操作系统课程设计报告charufdname[MAXNAME];/*ufdname*/charufdpword[8];/*ufdpassword*/}OSUFD_LOGIN;typedefstruct/*fileopenmode*/{intifopen;/*ifopen:0-close,1-open*/intopenmode;/*0-readonly,1-writeonly,
8、2-readandwrite,3-initial*/}OSUFD_OPENMODE;OSUFD*ufd[MAXCHILD];/*ufdandufdownfiles*/OSUFD_LOGINufd_lp;intucount=0;/*thecountofmfd'sufds*/intfcount[MAXCHILD];/*thecountofufd'sfiles*/intloginsuc=0;/*whetherloginsuccessfully*/
此文档下载收益归作者所有