欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    操作系统课程设计报告--模拟文件管理系统.docx

    • 资源ID:891591       资源大小:81.78KB        全文页数:8页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统课程设计报告--模拟文件管理系统.docx

    操作系统课程设计模拟文件管理系统一、实验内容1 .基本要求:编写一程序,模拟一个简单的文件管理系统。树型结构,目录下可以是目录,也可以是文件。在此文件管理系统,可实现的操作有:改变目录:格式:Cd目录名显示目录:格式:dir目录名创建目录:格式:md目录名删除目录:格式:rd目录名新建文件:格式:edit/文件名删除文件:格式:del文件名退出文件系统:exit2 .目录名和文件名支持全路径名和相对路径名,路径名各分量间用隔开3 .功能具体描述:改变目录:改变当前工作目录,目录不存在是给出出错信息显示目录:显示指定目录下或当前目录下所有文件和一级目录(选做:带/s参数的dir命令,显示所有子目录)创建目录:在指定路径或当前路径下创建指定目录。重名时给出出错信息。删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。创建文件:创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不考虑。删除文件:删除指定文件,不存在时给出出错信息。退出文件系统:exit4 .总体流程:初始化文件目录输出提示符,等待接受命令,分析键入的命令;对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令。直到键入exit退出为止。二、数据结构设计StructFileNodeCharfilenameFILENAMEJEN;文件名/目录名Intisdir;目录、文件的识别标志Intijlink;文件链接数Intadr;文件的地址StructFileNode*parent,*child;指向父亲的指针和左孩子的指针StructFileNode*sibling_prev,*sibling_ncxt;指向前一个兄弟的指针和后一个兄弟的指针。)三、算法设计3.1 功能模块图执行Cd命令执行dir命令执行md命令执行edit命令bool booldelexc(char *str, filenode *fcur, bool mode,bool dir);exitexc();退出执行del命令3.2 算法思路3.2.1实现方法boolspile(char*str,char*cmdstr,char*filestr);切割字符串boolshell(char*str);用来解释命令boolerrorp(intid);打印错误提示boolboot();启动初始化filenode*find(char*str,filenode*root);递归对目录树进行查找boolcdexc(char*str);booldirexc(char*str);boolmdexc(char*str);booleditexc(char*str);filenode*createnode(char*str,bool_isdir,intadr,filenode*_par);新建对象节点函数调用图3. 2.2设计思想建立一刻目录树,根据输入的命令字符串,对该目录树进行增删等操作。(1)定义全局变量filenode*cur=NULL;指向当前目录节点filenode*root=NULL;指向根节点目录节点char*shcllstr7="cd","dir","md","rd","edit","del","exit"命令字符串intshelllen=7;命令的字符串的长度(2)主函数模块调用boot模块初始化,然后使用WhiIe循环,每次循环中用户可以输入命令字符串,调用SheII模块进行解释并执行操作,执行完成后再次进入循环,直到用户使用CXit退出。(3)其他模块说明(用文字描述,不要代码)删除模块:调用find函数查找到目录节点,然后进行删除节点操作,并注意特殊情况。新建目录/文件模块:通过调用find查找是否重复,若不重复就进行增加节点O切换目录模块:通过find函数找到节点,然后将CUr指针指向该节点。显示目录模块:通过find函数找到节点,循环遍历该节点显示。退出模块:执行exit函数。四、测试数据及程序运行情况c CWINDOWSsystem32cmd.ee - test-ll ×ESC:Docuents and SettingsXAdministratorMIy DocumentsMJisual Studio 2010ProJectsH testDebug>test有下列命令可供使用: cd切谈当前目茎 di*显示目录内容1 121 3 41 5 ? 8md新建目录Fd :除目泉edit新建文件del删除文件exit推出系统>di*该目录含有0个项目>md dirl>edit Filel情输入文件地址:2300>di*该目录含有2个项目<file> Filel<dir> dii»l>cddi*l>nddir2>rd/dirl目录非空,是否删除Y-9>dir该目录含有1个项目<file>file!>delfile!>dir该自家含有0个项目五、实验过程中出现的问题及解决方法1 .判断路径需要识别全路径与相对路径,解决方法,通过对符号的查找,分四种情况。2 .删除当前目录或其父目录会造成CUr乱指,解决方法,删除前先判断,如果出现这种情况就重新设置cur03 .递归删除子目录,若子目录非空,会弹出警告,解决方法,设置安静模式,用于递归删除。六、自我评析与总结通过本次课程设计,我认真了解了系统中目录的工作原理,以及他所采用的数据结构原理,让我对操作系统有了更深的体会。七、参考文献1操作系统实验教程,张丽芬、刘利雄、王全玉等,清华大学出版社。2操作系统原理与实践教程周湘贞、曾宪权编,清华大学出版社。3Windows操作系统核心编程实验教程,宋晓宇,中国铁道出版社。

    注意事项

    本文(操作系统课程设计报告--模拟文件管理系统.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开