操作系统专业课程设计说明指导书样板样本

上传人:夏** 文档编号:472889585 上传时间:2023-02-15 格式:DOC 页数:32 大小:1.06MB
返回 下载 相关 举报
操作系统专业课程设计说明指导书样板样本_第1页
第1页 / 共32页
操作系统专业课程设计说明指导书样板样本_第2页
第2页 / 共32页
操作系统专业课程设计说明指导书样板样本_第3页
第3页 / 共32页
操作系统专业课程设计说明指导书样板样本_第4页
第4页 / 共32页
操作系统专业课程设计说明指导书样板样本_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《操作系统专业课程设计说明指导书样板样本》由会员分享,可在线阅读,更多相关《操作系统专业课程设计说明指导书样板样本(32页珍藏版)》请在金锄头文库上搜索。

1、操作系统专业课程设计说明指导书样板课程设计任务书计算机科学与技术专业年级班一、设计题目文件管理系统设计二、主要内容设计一个简单的文件管理系统来模拟文件操作命令的执行三、具体要求设计和调试一个简单的文件管理系统来模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。具体要求如下:设计一个支持n 个用户的文件系统,每个用户可拥有多个文件;采用二级或二级以上的多级文件目录管理;对文件应设置存取控制保护方式,如“只能执行”、“允许读”、“允许写”等;系统的外部特征应接近于真实系统,可设置下述文件操作命令:建立文件、打开文件、关闭文件、删除文件、读文件、写文件、

2、复制文件、查询目录。通过键盘(或鼠标)使用该文件系统,系统应显示操作命令的执行结果。四、进度安排2012-9-3-2012-9-6确定系统的总体设计方案:即系统包括哪些功能模块,每个模块的实现算法,并画出相应的流程图同时编写相应的设计文档;2012-9-6-2012-9-12编写程序代码并调试,再将调试通过的各个子模块进行集成调试;2012-2-12-2012-9-16归纳文档资料,完成课程设计说明书,参加课程设计答辩五、完成后应上交的材料在课程设计完成后需要提交的成果和有关文档资料包括:1、课程设计的说明书。2、课程设计有关源程序及可运行程序(光盘或电子邮件)。六、总评成绩:指导教师签名日期

3、年月日系主任审核日期年月日一、本设计目的及基本思想本课程设计目的是实现树型目录结构文件系统,在实现过程中利用了二叉树,其中每个节点都有父指针,子指针和兄弟指针,其中子指针指向该目录下的第一个子节点,而该子节点的父指针则指向它的上级目录。目录下各子节点用兄弟指针连接起来。文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文件夹名称及其地址从打开文件夹栈中抛出。文件打开则把文件的名称及其父指针写到文件列表同时置文件打开标志为 1,文件关闭则把文件从打开列表中删除,同时置文件打开指针为 0,文件读取和写入都要检查文件是否在文件打开列表中,未打开文件不能读写,只读文件不能写,只写文件不能

4、读。文件夹和文件创建,文件夹和文件的创建首先检验目录是否为空,为空则把文件夹或文件连接到该目录下,不为空则把检查目录下是否有同名文件夹或文件,有则提示创建不成功,没有则把文件夹或文件连接到该目录下的最后一个子节点,作为它的兄弟节点。文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,否则删除失败,删除文件夹时利用了中序历遍来删除子树。二、系统设计21 系统基本结构系统基本结构如下图:图 1 系统基本结构图root 为根结点, root 下有五个用户,每个用户有自己的文件夹或文件,系统初始化时为每个用户创建一个 file1 文件。文件夹内容只有名称和打开标志。文件除了名称和打开标志

5、,还有文件的访问权限,文件类型以及文件长度。其中文件的访问权限、文件类型、文件长度单独作为一个结构体,其它和文件夹结构体相同,也同用一个结构体。打开文件列表的结构体包括文件名和文件的父节点地址, 打开文件夹的栈中包括文件夹名称及其地址22 系统数据结构/普通文件的结构体struct filechar type;/文件类型0-文本文件1-可执行文件2-记录型文件char right;/文件的权限0可读1可写 2可读可写int f_length; /文件长度;typedef struct file File;/文件夹或文件的结构体struct FCB char kind;/kind=1 为 文 件

6、 夹kind=2 为文件char name20; /文件夹或文件名称bool open;File if_file;struct FCB *parent;struct FCB *brother;struct FCB *child;typedef struct FCB Ff;/root 和 fcp 为全局变量Ff *root;/ 根节点Ff *fcp=null;/ 判断是否有拷贝文件/打开项的结构体typedef structchar name20;/名称Ff *node;/指针,打开的是文件夹记录文件夹的地址,是文件记录文件的父节点地opened;int OPFO=0;/记录文件夹打开数目,最多

7、20opened folderopened20;/记录文件打开文件夹int OPFI=0; /记录文件打开数目,最多 20 opened fileopened20;/记录打开文件23 函数清单及部分函数算法流程图/函数声明 /void init();/初始化创建根节点void initopen();/初始化打开文件列表或打开文件夹文件列表Ff* creat(Ff *parent,char name20,char kind);/ 创建文件或文件夹voiddelet(Ff*parent,chardelname20,charkind);/ 删除文件文件夹voiddelSub(Ff*delp);/删除

8、子树(配合删除文件夹使用)void openfolder(Ff *parent, char name20);/ 打开文件夹void openfile(Ff *parent, char name20);/打开文件void closefo();/关闭文件夹void closefile(char name20);/关闭文件void read(Ff*parent,char name20);/读文件void write(char name20);/ 写文件void show();/显示初始界面void initfile();/初始化每个用户,为每个用户创建一个file1 文件int ishaveopen

9、(Ff *bedel);/判断文件夹下是否有打开的文件或文件夹void filecpy(Ff *parent,char name20);/ 文件复制函数void pastefile(Ff *parent);/文件粘贴主函数流程图:主函数开始执行时,先初始化。初始化包括创建root 根目录,创建user0user4五个用户,为每个用户创建一个file1 的文件。初始化完毕后,显示选择用户和退出系统两个操作,列出用户。选择1 则进入选择用户界面,选择用户后则列出用户目录下的内容。同时显示操作界面。选择操作后,执行相应的操作。执行完毕回到选择操作界面。创建文件夹或文件函数流程图(creat():创建

10、文件或文件夹首先通过主函数选择操作来传递参数,kind1 创建文件夹,kind 2 创建文件。文件或文件夹名称是由用户输入。文件或文件夹的父节点由 folderopenedOPFO-1.node来传递。如果当前目录下由同名文件或同名文件夹则创建文件或创建文件夹不成功。当前目录是空目录则创建的文件或文件夹是当前目录的首个子节点。Parent指针指向当前目录,当前目录的child 指针指向文件或文件夹。当前目录不为空,则把文件或文件夹连接到当前目录下最后的子节点后面,作为最后的兄弟节点。删除文件或文件夹函数delet()的流程图:同样删除文件或文件夹的类型参数由用户选择操作时传递。Kind=1删除文件夹, kind2 删除文件。名称也由用户输入。文件在打开列表或文件夹中有打开的文件,文件或文件夹不能删除,目录下没有该文件或文件夹删除失败,删除失败时返回相应的信息。如果目录下有该文件或文件夹,而且文件没打开,或文件夹中没有打开的文件,则删除该释放该节点或该子树。返回删除成功信息。流程图如下:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号