ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:265.50KB ,
资源ID:667310      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/667310.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统实训C++文件管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统实训C++文件管理系统.docx

1、操作系统实训C+文件管理系统1 设计目的(用小3号黑体,并留出上下间距为:段前0.5行,段后0.5行)操作系统概论学习已经快结束了,通过本课程,了解了操作系统的发展,组成,处理器管理,存储管理,文件管理,设备管理,并发进程等相关知识。理论必须与实际联系,才能理解的更加深刻,所以进行了这次课程设计,制作一个文件模拟系统的程序,加深对相关知识的理解与运用。2 设计内容本设计应完成以下要求:1设计一个10个用户的文件系统,用户至少有Create、delete、open、close、read、write等文件操作命令。2程序采用多级文件目录管理,仅可能模拟文件存取的全过程。3 设计步骤3.1 开发平台

2、3.1.1 开发环境介绍我们采用了C语言来并在Visual Studio 2005平台实现。.NET Framework是生成、运行下一代应用程序和XML Web Services的内部Windows组件。它简化了分布式Internet环境中的应用程序开发,由公共语言运行库(CLR)和.NET Framework类库两个组件构成。Visual Studio 2005 是微软公司开发的集成开发环境,支持C、C+、VB、J#、C#等多种开发语言,界面友好,并有自动补全代码功能,便于调式,是当前最流行的.NET Framework开发工具。安装Visual Studio 2005的系统要求:硬件需求

3、描述处理器Pentium3级600MHZ以上处理器RAMWindows XP Professional至少为160MB硬盘对于Visual C#.NET、Visual Basic.NET,需要600MB硬盘空间,安装驱动器上需要1.5GB磁盘空间视频800*600像素,256色(建议:增强色16位)鼠标Microsoft鼠标或兼容的指针设备3.1.2 开发界面截图3.2 详细设计3.2.1 算法说明用户登录时要输入用户名和密码,如果正确则进入初始界面,默认只有十个用户。用户登录成功后,可以使用的命令列表如下(命令不区分大小写): Create:创建一个新的文件;如果文件名空,则提示出错; Op

4、en: 打开一个已经存在的文件;如果该文件不存在,则提示出错; Read: 读取目标文件中的内容;如果目标文件不存在,则提示出错; Write: 向目标文件写入内容;如果目标文件不存在,则提示出错; Delete:删除目标文件;如果目标文件不存在,则提示出错; Mkdir:创建一个新的文件夹;如果目录名空,则提示出错; Cd: 改变当前路径,转到目标目录下;入股目标目录不存在,则提示出错; Dir: 列出当前目录下文件; Copy: 把文件或目录由源地址拷贝到目标地址; Logout:推出文件管理系统;文件目录的检索使用了简单的线性搜索,文件保护简单使用了三位保护码:允许读写执行、对应位为 1

5、,对应位为0,则表示不允许读写、执行。体现在工程开发中,我们建立了头文件:myHead.h,用以存放程序中用到的结构体定义和全局变量定义;代码主文件:myFileSys.cpp,存放程序主要代码。程序中使用的主要设计结构如下:1一个文件索引结构typedef struct unsigned Index; /文件元素索引编号 char FileNameMAXFILENAMELEN; /文件元素名 char ParentNameMAXFILENAMELEN; /父节点名 unsigned FileBlockId; /文件元素所在物理块编号 unsigned FileLevel; /文件元素所在层次

6、,层文件元素名为一个文件元素的逻辑位置 unsigned effect; /是否有效,-无效,-有效 FileIndexElement;2、文件状态结构typedef enum closed, /已被关闭 opened, /已被打开 reading, /正在被读取 writing /正在被写入 FileStatus;3、文件系统中的元素结构,包括文件和文件夹typedef struct fse struct fse *parent; /指向自己的父亲节点 unsigned FileLevel; /文件元素所在层次,层文件元素名为一个文件元素的逻辑位置 char FileNameMAXFILEN

7、AMELEN; /文件元素名 unsigned FileBlockId; /文件元素所在物理块编号 unsigned FileElemLen; /文件元素的长度 FEType Type; /文件元素类型 FEAccess Access; /文件元素可供操作的权限 User Creator; /文件创建者 char CreateTime18; /创建时间,日期格式:MM/DD/YY HH:MI:SS char LastModTime18; /最后一次修改时间 char *FileData; /一个文件的数据开始地址,文件夹时该值为NULL FileStatus fileStu; /如果是一个文件

8、表示文件当前的状态 FSElement;3.2.2 系统流程图3.3 运行与测试3.3.1 运行测试运行Debug目录下的myFileSys.exe可执行文件,运行成功,显示欢迎界面并帮助信息,如下图:系统默认了十个普通用户:user1,user2,user3,user4,user5,user6,user7,user8,user9,user10。所有用户密码与其用户名相同。输入正确的用户名和密码,单击回车键就可以进入文件模拟系统,以用户user1为例,下面显示user1登录成功,如下图:用create命令创建test文件夹,用cd命令进入test文件夹,如下图:用create命令创建三个文件:

9、1.txt,2.txt,3.txt。用dir命令列出当前目录下文件和文件夹如下:用open命令打开1.txt文件,用write命令写入信息,用close命令关闭1.txt文件。用logout命令退出系统,界面如下:运行测试表明,正常输入各项操作指令后,程序均正常运行并显示出预期结果,程序运行成功。3.3.2 异常处理测试键入错误的用户名或者错误的密码后,登陆失败并提示重新输入,如下图:用cd命令进入一个不存在文件夹发生错误,界面如下:删除一个不存在的文件而发生错误,界面如下:文件没有打开的情况下,使用read命令读取或者使用write命令写入导致错误,界面如下:在上面的异常测试中,输入非法的指

10、令后,系统能辨别并能给出相应的出错提示信息,表明系统具有一定的健壮性。3.4使用说明1、双击debug文件夹中的myFileSys.exe可执行程序,启动模拟界面。2、输入用户名和密码,单击回车键,如果通过验证,则进入系统。3、输入create books命令,可以建立一个名为books的文件夹。输入create 1.txt命令可以创建一个名为1.txt的文本文件(文件名和文件夹名字随意)。4、创建的文件夹和文件可以通过dir命令在当前目录下面显示出来。5、输入open 1.txt命令,可以打开1.txt文本文件,只有打开的文件才能写入数据。6、输入write 1.txt命令。可以在1.txt

11、文件中写入数据,例如写入:my name isZheng!按ctrl+D可以保存输入的信息。7、输入read 1.txt命令,可以查看该文件中的信息。8、输入close 1.txt命令,则可以关闭该文件9、输入cd books命令,可以进入books文件夹。10、输入logout,则注销当前用户了。4 设计总结本文件系统中,用户可以用到的指令包括:create, open, read, write, close, delete, cd, dir, logout, copy等十一个文件操作指令,实现了基本的文件管理的相关功能。通过这次课程设计。对Visual Studio 2005和.NET F

12、ramework有了进一步的了解,熟悉了相关软件和技术的使用。在设计要求中,只要完成10个用户模拟,并对文件结构作了简化,我们对此作了扩充,除了默认用户10个和1个特权用户,每个用户创建文件数目没有限制,文件的模拟也是从底层的块开始。我做的这个文件管理模拟系统还存在一些不足:控制台形式的界面,对用户来说不够友好,应当继续开发出窗体界面。程序代码还有锤炼的空间,可以进一步进行研究,增加代码的执行效率,提升程序的功能。通过本课程设计的课题研究、资料查询、代码编写、调试运行、测试总结等过程的进行,使自己对计算机操作系统的文件系统的管理方式有了进一步的理解,加深了对文件系统的工作原理的认识,使理论知识

13、更加巩固。5 附录全局变量声明:const unsigned FILESYSCAP = 1024 * 1024; /模拟文件系统的容量设为Mconst unsigned BITMAPLEN = 64; /位示图的长度const unsigned FILEBLOCKCAP = 512; /一个文件块的大小const unsigned FILEBLOCKCOU = 512; /文件系统中文件块的数量const unsigned MAXFILENAMELEN = 11; /最长文件名的长度const unsigned MAXPASSWORDLEN = 11; /用户密码的最大长度const unsi

14、gned USERTESTLOGINCOU = 5; /用户登录尝试次数const unsigned COMMANDMAXLEN = 200; /命令行最大长度const unsigned PROSETCOMMCOU = 11; /预设命令数const char *PROSETCOMM = create, open, read, write, close, delete, mkdir, cd, dir, logout, copy;创建文件函数:FSElement * CreateFileElement()实现:void Create(char *filename) if (strcmp(filename, ) = 0) printf(对不起,文件名不能为空。n); else CreateFileElement(protect, filename, file, NULL, CS.CurrParent); printf(%s %sn$, CS.CurrentUser.UserName, CS.CurrentPath);初始化文件系统函数:InitFileSys()实现: /初始化模拟的文件系统 if (FS.FSStart = (char *)malloc(FILESYSCAP) = NULL) return false; FS.FileSystemCap = FI

copyright@ 2008-2022 冰豆网网站版权所有

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