Linux文件系统实验报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux文件系统实验报告

黄冈师范学院 提高型实验报告 实验课题 文件系统的设计与实现 (实验类型:□综合性 (设计性 □应用性) 实验课程 操作系统原理 实验时间 2015-2016 第二学期 学生姓名 何正发 专业班级 软件工程1401 学 号 2014263040107 一、实验目的和要求 1、熟悉操作系统设计的过程,巩固操作系统的基本知识,加深对操作原理、功能及各种不同的存储管理方法理解与应用; 2、学会运用各种语言、软件开发新软件的基本方法; 3、增强实际应用能力和动手操作能力。 二、实验条件 Win7 /Windows 8.1/Linux等操作系统,装有java、C、C++、C#等语言工具的环境。 三、实验原理分析 可以选择最佳适应算法,按照从小到大的次序组成空闲区自由链,当用户作业或进程申请一个空闲区时,存储管理 程序从表头开始查找,当找到第一个満足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长 度,将减去请求长度后的剩余空闲区部分留在可用表中。回收时,从作链中删去要回收的作业块,同时在空 闲链中插入该作业大小的空闲区,并按顺序排列 四、实验方案或步骤 1、应用环境、需求分析 本模拟系统主要针对文件的管理和操作名主要有:创建用户、文件、文件夹,读文件,写文件,执行文件,关闭文件,删除用户、文件夹、文件的功能。 创建用户、文件、文件夹:在对系统发出操作命令之前必须先登录用户,然而登录之前必须创建该用户。在创建完后,可通过登录用户来创建文件和文件夹。在创建文件时可设置文件的属性和输入文件的内容。 读文件:读取任何已创建的只读或读写文件的内容;如果所要读的文件不是可读文件时,系统会显示该文件不可读;如果所读文件不存在,系统会显示文件不存在。 写文件用户可写或重写读写文件中的内容,并保存文件中的重写内容,以供下次读取;当所要写的文件不是可写的文件时,系统会显示该文件不可写;当所要写的文件并不存在时,系统会显示该文件不存在。 执行文件:登录用户后,用户可执行系统中已创建的执行文件;当该文件不是可执行文件时,系统会显示该文件不可执行;当该文件不存在时,系统将会显示该文件不存在。 关闭文件:可通过选择关闭文件的功能选项,来关闭系统中所有打开的文件,如果没有文件被打开,则系统会显示没有文件打开。 删除用户、文件、文件夹:用户可通过选择删除的功能选项来删除不想再保存的文件和文件夹,删除后,用户会自动注销;当选择删除用户的功能选项时,系统会删除该用户,以及该用户所创建的所有文件和文件夹。 2、概要设计 打开文件流程图: 写文件流程图: 关闭文件流程图: 3、详细设计 (1)用户结构:账号与密码结构 typedef struct users { ?char???? name[8]; ?char???? pwd[10]; }users; 本系统有8个默认的用户名,前面是用户名,后面为密码,用户登陆时只要输入正确便可进入系统,否则提示失败要求重新输入。 users usrarray[8] = { ?usr1,usr1, ?usr2,usr2, ?usr3,usr3, ?usr4,usr4, ?usr5,usr5, ?usr6,usr6, ?usr7,usr7, ?usr8,usr8, }; (2)数据结构说明 a)文件结构链表 struct fnode { ??? char filename[FILENAME_LENGTH]; ?int? isdir; ?int isopen; ?char content[255]; ?fnode *parent; ?fnode *child; ?fnode *prev; ?fnode *next; }; 函数介绍 fnode *initfile(char filename[],int isdir);//初始化文件或目录? ?void createroot();//建立系统根目录 ?int run();系统运行 ?int findpara(char *topara);对参数进行处理 ?bool chklogin(char *users, char *pwd);检查账号与口令 ?void help();命令列表 ?int mkdir();建立目录 ?int create();建立文件 ?int read();读取文件 ?int write();写入文件 ?int del();删除文件 ?int cd();切换目录 ?int dir();文件与目录列表 六、讨论总结 通过这次提高型实验,我明白了做一个系统的难度之大,首先要进行需求分析,然后通过ER图来清晰自己的思路,整个过程虽然很繁琐,很复杂,但完成任务后

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档