1、 专专 业:计算机信息处理业:计算机信息处理 操作系统课程设计报告 操作系统课程设计报告 1 【设计目的】 1. 课程设计目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和 内部实现。 2. 结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步 理解操作系统。 3. 通过对实际问题的分析、设计、编程实现,提高学生实际应用、编程的能力 【设计内容】 1、delete 删除文件 2、open 打开文件 3、close 关闭文件 4、write 写文件 【实验环境】 Windows7 系统 Visual studio 2010 【相关知识综述】 本文件系统采
2、用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。 另外, 为了简便文件系统未考虑文件共享, 文件系统安全以及管道文件与设备文件等特殊内 容。 首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件 的形式存放于磁盘,这样便于查找和修改。 用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2并以编号作为物理地址,在 目录中进行登记。 【设计思路】 1 主要数据结构 #define MAXNAME 25 /*the largest length of mfdname,ufdname,filename*/ #define MAXC
3、HILD 50 /*the largest child每个用户名下最多有50个文件*/ #define MAX (MAXCHILD*MAXCHILD) /*the size of fpaddrno*/ typedef struct /*the structure of OSFILE定义主文件*/ int fpaddr; /*file physical address*/ int flength; /*file length*/ int fmode; /*file mode:0-Read Only;1-Write Only;2-Read and Write; 3-Protect;*/ char
4、fnameMAXNAME; /*file name*/ OSFILE; typedef struct /*the structure of OSUFD定义用户文件目录*/ char ufdnameMAXNAME; /*ufd name*/ OSFILE ufdfileMAXCHILD; /*ufd own file*/ OSUFD; 操作系统课程设计报告 2 typedef struct /*the structure of OSUFDLOGIN定义登陆*/ char ufdnameMAXNAME; /*ufd name*/ char ufdpword8; /*ufd password*/ OSUFD_LOGIN; typedef struct /*file open mode定义操作方式*/ int ifopen; /*ifopen:0-close,1-open*/ int openmode; /*0-read only,1-wr