《计算机操作系统》课程设计实践报告

《计算机操作系统》课程设计实践报告

ID:9827217

大小:107.00 KB

页数:7页

时间:2018-05-11

《计算机操作系统》课程设计实践报告_第1页
《计算机操作系统》课程设计实践报告_第2页
《计算机操作系统》课程设计实践报告_第3页
《计算机操作系统》课程设计实践报告_第4页
《计算机操作系统》课程设计实践报告_第5页
资源描述:

《《计算机操作系统》课程设计实践报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《计算机操作系统》课程设计实践报告班级:计科31班第二组组长:吕岭小组成员:邢自成、叶林、张鹰【问题描述】模拟二级以上的多级文件目录管理,设计一个支持n个用户的文件系统,每个用户可拥有多个文件;并有如下:建立文件、创建目录、查询目录、查询文件、打开文件、关闭文件、针对不同的用户设置共享的功能,应提供良好的用户界面。(难度:★★★★)【实验目的】通过模拟操作系统中的文件管理系统,更好的理解掌握常用OS的重要部分:文件管理。归纳学习方法和思考方法,做到理论联系实际,培养分析问题、解决问题和具备较强的软件设计能力和较严

2、密的思维能力【人员安排】吕岭:搭建程序框架,编写主要数据结构,整合程序。叶林:编写部分数据结构,调试完善程序。邢自成:编写部分函数,调试完善程序。张鹰:编写部分函数,调试完善程序。【进度安排】星期一:小组成员集中讨论实验路线,核心技术,实现功能星期二:做幻灯片汇报,明确实验流程,小组成员分工星期三:各成员完成各自任务,并分别调试星期四:各模块组合,调试,完善程序星期五:组间测试,写实验报告,汇报【基本功能】v(1)多用户v(2)多级目录:可有多级子目录;v(3)用户登录v(4)系统初始化(建文件卷、提供登录模块)

3、v(5)文件的创建,打开,读,写,关闭,删除。v(11)创建目录(建立子目录)v(12)改变当前目录v(13)列出文件目录v(14)共享目录,文件v(15)退出【技术路线】v本程序主要是虚拟文件系统,不涉及实际磁盘操作v用内存模拟磁盘v初始化用户(3个)v用户可以创建删除查找目录,文件v可以设置共享文件v用户可以对文件进行读写修改等操作v用位视图法管理内存模拟的磁盘块v用一个二维数组模拟磁盘块v用树型结构保存目录文件v用单级索引分配法为文件分配磁盘空间v目录的保存与读取:把目录树转化为二叉树,并将这个二叉树保存到

4、磁盘,下次从磁盘读出并还原成目录树的结构。v文件查找:从目录树的根结点开始深度优先遍历这棵树,直到找到文件。v文件共享:用符号链实现多用户间的文件共享。【数据结构】程序对多级目录结构的模拟采用树型目录结构。树型结构具有多种存储结构,如:双亲表示法、孩子表示法、孩子兄弟表示法等,本程序用孩子兄弟表示法来作为树型结构的存储结构。即以二叉链表作为树的存储结构链表中的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点,分别命名为firstChild域和nextSibling域。文件控制块typedefstructFC

5、B{stringname;//文件名inttype;//标致:0表示目录,1表示文件intsize;//如果是文件则表示文件大小structFCB*firstchild;//指向第一个孩子结点structFCB*nextsibling;//指向下一个兄弟结点structFCB*parent;//指向父结点}FCB,*FCBnode;用户当前数据结构typedefstructUSER{stringusername;//用户名FCBnodeworkdir;//当前工作目录或文件指针stringpath;//当前路径}

6、USER,*USERnode;将目录树保存到文件voidSaveTree(FCBnoderoot,FILE*fp){if(root){fwrite(root,sizeof(structFCB),1,fp);SaveTree(root->firstchild,fp);SaveTree(root->nextsibling,fp);}}voidSave(FCB*root){FILE*fp;if((fp=fopen("user","wb+"))==NULL){cout<<"Cannotopenfile";}SaveTre

7、e(root,fp);fclose(fp);}将目录树从文件中读出来voidLoadTree(FCBnodep,FILE*fp){FCBq;if(p->firstchild){fread(&q,sizeof(structFCB),1,fp);p->firstchild=&q;LoadTree(&q,fp);}if(p->nextsibling){fread(&q,sizeof(structFCB),1,fp);p->nextsibling=&q;LoadTree(&q,fp);}}voidLoad(){FILE*

8、fp;FCBp;if((fp=fopen("user","rb+"))==NULL){cout<<"Cannotopenfile";}fread(&p,sizeof(structFCB),1,fp);//读用户根目录show(&p);LoadTree(root,fp);fclose(fp);}【流程图】开始初始化读取用户目录菜单选择改变目录创建文件删除文件显示目录创建目录

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。