欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统课程设计文件系统管理).docx

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

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

    操作系统课程设计文件系统管理).docx

    操作系统课程设计文件系统管理) 操作系统课程设计Array文件系统管理 学院计算机学院 专业计算机科学与技术 班级 姓名 学号 2022年1月8日 广东工业大学计算机学院制 文件系统管理 一、实验目的 模拟文件系统的实现的基本功能,了解文件系统的基本结构和文件系统的管理方法看,加深了解文件系统的内部功能的实现。通过高级语言编写和实现一个简单的文件系统,模拟文件管理的工作过程,从而对各种文件操作系统命令的实质内容和执行过程有比较深入的了解。 二、实验内容和要求 编程模拟一个简单的文件系统,实现文件系统的管理和控制功能。在用户程序中通过使用文件系统提供的create,open,read,write,close,delete等文件命令,对文件进行操作。 以下报告主要包括: 1.可行性分析 2.需求分析 3.概要设计 4.详细设计 5.测试 6.总结 三、可行性分析 1、技术可行性 对于图形编程还不了解,但是经过本学期的三次实验的练习,可以设计好命令操作界面。利用大二期间学习的数据结构可以模拟出此课程设计的要求。 2、经济可行性 课程设计作为本课程的练习及进一步加深理解。与经济无关,可以不考虑。(零花费,零收益) 3.法律可行性 自己编写的程序,仅为练习,不作其他用途,与外界没什么联系,可行。 四、需求分析 编写程序实现文件系统,主要有以下几点要求: 1、实现无穷级目录管理及文件管理基本操作 2、实现共享“别名” 3、加快了文件检索 五、概要设计 为了克服单级目录所存在的缺点,可以为每一位用户建立一个单独的用户文件目录UFD(User File Directory)。这些文件目录可以具有相似的结构,它由用户所有文件的文件控制块组成。此外,在系统中再建立一个主文件目录MFD (Master File Directory);在主文件目录中,每个用户目录文件都占有一个目 录项,其目录项中包括用户名和指向该用户目录的指针。 本设计主要实现下面几个数据结构: 总体的流程图如下: 六、详细设计 主要数据结构: (Master File Directory),主要用以存放用户,可以增加存放密码的字符数组,本设计没有保密安全方面的忧虑,为了使用时操作更简单省去密码。所以,MFD 结构仅包括用户名和指向子目录的一个指针,以及指向下一用户的连接点,为线性结构。 struct MFD char name20; UFD(User File Directory),用于存放文件的数据结构。由于本设计为了加快检索速度,使用了二叉排序树的结构,所以UFD结构中相应加入了用于树结构的parent,leftchild,和rightchild记录链接情况。 当本文件为普通文件时,为下级记录申请AFD(file),folder为空。同样,当本文件为文件夹时,为它申请相应的空间,AFD为空。以此来达到无穷级别目录的存 储。 struct UFD UFD *parent; UFD *leftchild; UFD *rightchild; UFD *folder; "); printf("n"); temp=temp->link; void BSTtraverse(UFD *fileBST) 以区分文件夹 printf(".t"); else printf("t"); if(fileBST->leftchild!=NULL) 创建文件 n"); printf(" 2. 创建文件夹 n"); printf(" 3. 取消 n"); printf("请选择:n"); scanf("%c",&s); fflush(stdin); if(s='3')return; if(s!='1'&&s!='2') printf("输入错误,请重新输入!n"); while(s!='1'&&s!='2'); if(strcmp(fileBST->name,"NULL")=0) 追加 n"); printf(" 2. 重写 n"); printf(" 3. 取消 n"); printf("请选择:n"); scanf("%c",&s); fflush(stdin); if(s='3')return; if(s!='1'&&s!='2') printf("输入错误,请重新输入!n"); while(s!='1'&&s!='2'); printf("请输入要重写或追加的内容(link; printf("n是否尝试在共享文件夹中打开(y/n):"); do s=getchar(); if(s='n'|s='N')return NULL; else if(s='y'|s='Y')break; else printf("输入错误,请重新输入:"); while(s!='y'&&s!='n'&&s!='Y'&&s!='N'); stemp=share_file; while(stemp!=NULL) if(strcmp(stemp->file->name,name)=0) temp=stemp->file;break; stemp=stemp->link; return temp; UFD *operations(UFD *fileBST) while(1) char s; system("cls"); if(open_file!=NULL) printf("已打开文件,请及时关闭!n"); printf("文件名t文件长度t读写t共享t内容"); printf("n"); print_open_file(); printf("n"); printf("当前路径:"); print_path(fileBST); printf("n"); if(strcmp(fileBST->name,"NULL")=0) printf("本层文件为空!n"); else printf("本文件夹包含以下文件:n"); BSTtraverse(fileBST); printf("n"); printf(" 1. 创建文件create n"); printf(" 2. 删除文件delete n"); printf(" 3. 打开文件open n"); printf(" 4. 关闭文件close n"); printf(" 5. 读文件read n"); printf(" 6. 写文件write n"); printf(" 0. 返回上一层/注销 nn"); printf("请选择: "); printf(""); scanf("%c",&s); fflush(stdin); switch(s) case '1': fcreate(fileBST); break; case '2': fileBST=fdelete(fileBST); break; case '3': fopen(fileBST); break; case '4': fclose(); break; case '5': case '6': fread_write(fileBST,s); break; case '0': return fileBST; default:break; void Log_in() MFD *temp=NULL; char name30; char flag='0' if(mfd_link=NULL) printf("目前还没有创建用户,请创建后再登陆!"); getch(); return; do printf("请输入用户名:"); scanf("%s",name); fflush(stdin); if(strcmp(name,"cancel")=0) return; 登录 n"); printf(" 2. 添加新用户 n"); printf(" 3. 查看已注册用户 n"); printf(" 0. 退出nn"); printf(" 请选择: "); printf(""); scanf("%c",&s); fflush(stdin); if(s!='0'&&s!='1'&&s!='2'&&s!='3') printf("输入错误,请重新输入:"); getch(); fflush(stdin); continue; switch(s) case '1': Log_in(); break; case '2': Init_user(); break; case '3': Check_user(); break; case '0': return 1; default:break; return 0; 七、测试 登录操作: 以下为对文件的六个基本操作:

    注意事项

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

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开