欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统文件系统设计文档.docx

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

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

    操作系统文件系统设计文档.docx

    1、操作系统文件系统设计文档 操作系统实习 题目: 文件系统模拟设计 姓名: 温先良 班级: 计本08-1班 学号: 3081817124 指导老师: 葛云生操作系统实习 11. 引言 21.1 设计目的 21.2实验内容 21.3 系统开发 运行环境 3二 系统分析设计 32.2 基本原理 32.3 数据结构设计 42.4 程序流程图 5三 程序代码以及运行结果 5四 实习心得体会 10五 参考文献 111. 引言 1.1 设计目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现 。1.2实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实

    2、现下列几条命令(至少4条); dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。提示: (1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。 (2)用户创建的文件,可以编号存储于磁盘上。如file0,file1,file2.并以编号作为物理地址,在目录中进行登记1.3 系统开发 运行环境 Windows XP 系统, Visual C+ 6

    3、.0二 系统分析设计 2.2 基本原理本系统是模拟实现多用户多的文件系统,在系统出现登录后 ,输入用户与口令,在用户登录系统后,可以添加2个普通用户。普通用户的命令与系统管理员的系统命令具体实现是一样的。此模拟系统提供了10个命令,并根据命令的含义与要求,用C/C+编程来完成所有具体操作。该系统可以模拟完成用户的登陆和验证,新建文件,打开文件,读文件,写文件,关闭文件,删除文件,查看文件,退出系统,注销用户,切换用户等系统功能。2.3 数据结构设计 系统管理员typedef struct user /系统管理员 char name5 ; / 登录用户名 char password10 ; /

    4、登录密码user;用户文件目录struct UFD char fname5;/文件名 char proper2;/文件属性 ,R或RW int length;/记录长度 int addr;/文件地址 ; 用户已打开文件表struct UOF char fname5;/文件名 char proper2;/文件属性,r或rw int length;/记录长度 char state5; /状态: new, open int read; /读指针 int write; /写指针 ; 主文件目录struct MFD char Username5;/用户名 struct UFD UserDirecL;/用

    5、户文件目录 struct UOF OpenUserS;/已打开文件目录 int count; /每个用户拥有的存在的文件计数 MFDN; 2.4 程序流程图 失败 重新登录成功 用户命令三 程序代码以及运行结果系统管理员登陆以及验证:bool login(char *name, char *pwd ) if( (strcmp(name, admin.name)=0) & (strcmp(pwd, admin.password)=0) return true; return false; 创建新用户bool NewUser(char user) int i=0; while(strcmp(MFD

    6、i.Username,)!=0&(i=N) /如果用户数已满 cout用户数已满. 你必须删除一个用户才继续新建用户endl; return 0; else /如果用户数未满,则建立新用户 strcpy(MFDi.Username,user); NOU+;/用户数加1 cout 用户 user 创建成功 .endl;/提示当前用户创建成功 cout 系统现有的用户数 : NOUendl;/显示系统现有的用户数 return 1; 注销用户void Logout(int a) /注销用户,清除所有文件的登记栏 string str; char temp5=; for(int i=0;iL;i+)

    7、 /对 UFD中的文件名MFDa.UserDireci.fname进行处理 str=static_cast(MFDa.UserDireci.fname); strcpy(MFDa.UserDireci.fname,str.substr(0,4).c_str(); for(int j=0;jS;j+) /如果UFD中的文件名与UOF中的文件名相同 /对UOF中的文件名UOFi.fname进行处理 str=static_cast(MFDa.OpenUserj.fname); strcpy(MFDa.OpenUserj.fname,str.substr(0,4).c_str(); /清除UOF中信息

    8、 if(strcmp(MFDa.UserDireci.fname,MFDa.OpenUserj.fname)=0) strcpy(MFDa.OpenUserj.fname,); /清除UOF中文件名 strcpy(MFDa.OpenUserj.proper,);/清除UOF中文件属性 MFDa.OpenUserj.length=0; /清除UOF中记录长度 strcpy(MFDa.OpenUserj.state,); /清除UOF中文件状态 MFDa.OpenUserj.read=0; /清除UOF中读指针 MFDa.OpenUserj.write=0; /清除UOF中写指针 /清除UFD中信

    9、息 strcpy(MFDa.UserDireci.fname,);/清除UFD中文件名 strcpy(MFDa.UserDireci.proper,);/清除UFD中文件属性 MFDa.UserDireci.length=0;/清除UFD中记录长度 MFDa.UserDireci.addr=0; /清除UFD中文件地址 strcpy(temp, MFDa.Username); strcpy(MFDa.Username,);/清除MFD中的用户名 MFDa.count=0; /该用户下的文件数清零 NOU-;/用户数减1 cout 用户 temp 注销成功endl; /提示注销成功 cout 系

    10、统当前用户数: NOUendl; 新建文件void Create(int a) int i=0; char filename5;/文件名 char property3;/文件属性 char temp2; /文件属性的临时变量 string str;/临时变量 Re: cout请输入创建文件名(长度为 4) 文件属性(r,rw):endl;/提示输入 coutfilename; if(strlen(filename)4) goto Re;/如果文件名长度不符合要求,则要求重新输入 loop: coutproperty; strcpy(temp,property);/将属性字符串 赋值给temp

    11、if(!(strcmp(temp,rw)=0|strcmp(temp,r)=0)/检查属性是否正确 cout文件属性设置错误. 请重新设置: r or rwendl;/属性错误,重新输入 goto loop; /对文件名filename进行处理 str=static_cast(filename); strcpy(filename,str.substr(0,4).c_str(); /对MFDa.UserDireci.fname文件名进行处理 str=static_cast(MFDa.UserDireci.fname); strcpy(MFDa.UserDireci.fname,str.subst

    12、r(0,4).c_str(); while(strcmp(MFDa.UserDireci.fname,filename)!=0)&(iL) /*查用户的UFD,检测该文件是否重名*/ i+; str=static_cast(MFDa.UserDireci.fname); strcpy(MFDa.UserDireci.fname,str.substr(0,4).c_str(); if(i=L) /无重名文件 if(MFDa.count=L)/如果用户文件目录UFD已满,则提示文件满的信息 cout 用户MFDa.Username 文件目录UFD已满.endl; /当用户文件目录UFD未满时 el

    13、se int j=0; int k=0; while(strcmp(MFDa.UserDirecj.fname,)!=0&(jL) /*在UFD中寻找空登记栏,并登记*/ j+; MFDa.count+; /用户的文件计数器加1 strcpy(MFDa.UserDirecj.fname,filename); /UFD中登记文件名 MFDa.UserDirecj.length=Record;/UFD记录长度 strcpy(MFDa.UserDirecj.proper,temp);/UFD中文件属性 srand(unsigned)time(NULL); /产生随机数 i=rand()%100;/

    14、找一磁盘空闲块并赋值给i MFDa.UserDirecj.addr=i;/在UFD登记栏中置文件地址为i /提示文件在UFD中建立成功 cout 文件: filename 已经成功建立 n 文件数量: MFDa.countendl;/显示建立成功 while(strcmp(MFDa.OpenUserk.fname,)!=0&(kS) /*在UOF中寻找空登记栏*/ k+; /如果用户已打开文件表UOF未满 if(kS) /在UOF中登记文件的相关信息 strcpy(MFDa.OpenUserk.fname,filename); /UOF中文件名 MFDa.OpenUserk.length=Re

    15、cord;/UOF中记录长度 strcpy(MFDa.OpenUserk.proper, temp);/UOF中文件属性 strcpy(MFDa.OpenUserk.state,new);/修改状态为建立 MFDa.OpenUserk.write=i;/修改写指针为i /提示文件在UOF中建立成功 / cout 文件: filename 已经成功打开 nendl; /如果用户已打开文件表UOF已满,提示文件满的信息 else / cout用户已打开文件表UOF已满. endl; else /提示文件同名,不能建立 cout文件同名 不能建立endl; 打开文件 写文件读文件删除文件系统帮助命令

    16、四 实习心得体会 这次操作系统实习为期三周的学习时间,虽然时间比较短,但是还是有点收获的。实习之前,是操作系统课程学习,学习的都是课本的理论知识。在没有接触操作系统课程之前,个人的见识真是少啊。 我以为操作系统就是 Windows XP 这么一种操作系统,还没想到操作系统竟然还有这么多的呢。课堂上讲的操作系统就是Linux 操作系统,可是课本的理论知识学习的比较模糊,很多概念都不理解。经过这次操作系统实习之后,个人在虚拟机里 不断的练习 Linux系统各种命令。由于个人这次实习,所选的题目是:文件系统模拟设计,所以个人在这方面操作比较多,经常动手练习那些Linux系统常用的文件系统命令,逐渐熟悉理解了这个文件系统的各种命令。不过,对于Linux系统 还有很多知识是不懂的,如果将来打算从事Linux系统软件开发的哇,那么还是需要慢慢学习Linxu系统的。 通过这次实习,促使个人开始接触了解这个Linux系统,也对Linux系统有了一点兴趣。五 参考文献现代操作系统 (第2版)作者: (荷)Andrew S. Tanenbaum 作译者介绍 译者: 陈向群 马洪兵 出版社:机械工业出版社


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开