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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、操作系统课程设计文件管理系统一、课程设计题目和目的本设计的目的是通过设计和调试一个简单的文件系统,主要是模拟文件操作命令的执行,来模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。二、开发工具及环境a)程序设计语言:C+b)计算机及操作系统:PC机,WindowsXPc)开发平台:Microsoft Visual C+ 6.0d)运行平台:PC机,WindowsXP三、课程设计要求具体要求如下:设计一个支持n个用户的文件系统,每个用户可拥有多个文件;采用二级或二级以上的多级文件目录管理;对文件应设置存取控制保护方式,如“只能执行”、“允许读”、“允

2、许写”等;系统的外部特征应接近于真实系统,可设置下述文件操作命令:建立文件、打开文件、关闭文件、删除文件、读文件、写文件、复制文件、查询目录。通过键盘使用该文件系统,系统应显示操作命令的执行结果。四、程序设计思想1、在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。2、文件物理结构可采用显式链接或其他方法。3、磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。4、文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。

3、5、对文件或目录的操作采用windows系统的API函数来实现。6、设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)用户登录(3)创建目录: creatFileDir(4)删除目录: removeFileDir(5)创建文件: creatFile(6)删除文件: deleteFile(7)读文件: readFile(8)写文件: writeFile(9)复制文件: copyFile(10)移动文件: moveFile(11)返回根目录(12)退出五、文件系统的实现(1)系统结构如下图:root为根结点,root下有n个用户,每个用户有自己的文件夹或文件,用户登录后,系统

4、自动进行初始化,并为每个用户创建一个用户目录。目录内容只有名称和打开标志。文件除了名称和打开标志,还有文件的访问权限,文件类型以及文件长度。其中文件的访问权限、文件类型、文件长度单独作为一个结构体,其它和文件夹结构体相同,也同用一个结构体。(2)系统的主要流程图:主函数开始执行时,先初始化。初始化包括创建root根目录,接着进行用户登录,创建用户,为每个用户创建一个用户文件,然后进入操作界面,用户可根据按钮或提示对目录或文件进行创建、删除、复制、移动等操作。(3)对目录或文件的操作利用windows的API函数实现,本系统将这些操作写在一个类(FileSystemBuild.h)中,方便调用,

5、以下是类的定义:class FileSystemBuild public: BOOL creatFileDir(CString name); BOOL removeFileDir(CString name); HANDLE creatFile(CString name); BOOL deleteFile(CString name); CString readFile(CString name); CString writeFile(CString name,CString buf); BOOL moveFile(CString source,CString obj); BOOL copyFil

6、e(CString source,CString obj);(4)程序功能图:(5)实体关系图: 命令服务使得用户能够输入命令,调用相应的命令模块对模拟磁盘、磁盘空间分配表、文件表、打开文件表进行操作。磁盘空间分配表记录模拟磁盘的使用情况。文件表记录文件的信息和在磁盘里的位置等信息。打开文件表记录已打开的文件,对应文件表中的文件信息,和文件表里的文件节点类似,记录了文件在模拟磁盘中的信息。(6)数据流图六、操作说明创建目录或创建文件,主要调用API中的CreateDirectory或CreateFile函数实现。创建文件或文件夹首先通过主函数选择操作来传递参数,kind1创建文件夹,kind2

7、创建文件。文件或文件夹名称是由用户输入。文件或文件夹的父节点由folderopenedOPFO-1.node来传递。如果当前目录下由同名文件或同名文件夹则创建文件或创建文件夹不成功。当前目录是空目录则创建的文件或文件夹是当前目录的首个子节点。Parent指针指向当前目录,当前目录的child指针指向文件或文件夹。当前目录不为空,则把文件或文件夹连接到当前目录下最后的子节点后面,作为最后的兄弟节点。流程图如下:删除目录或删除文件,主要调用API中的RemoveDirectory或deleteFile函数实现。删除文件或文件夹的类型参数由用户选择操作时传递。Kind=1删除文件夹,kind2删除文

8、件。名称也由用户输入。文件在打开列表或文件夹中有打开的文件,文件或文件夹不能删除,目录下没有该文件或文件夹删除失败,删除失败时返回相应的信息。如果目录下有该文件或文件夹,而且文件没打开,或文件夹中没有打开的文件,则删除该释放该节点或该子树。返回删除成功信息。流程图如下:读文件,主要调用API中的ReadFile函数实现。读文件的时候,首先要对文件进行打开操作,若此时文件不存在或已处于打开状态或读状态或写状态,则返回打开失败信息,若此时文件处于空闲状态,则调用API函数进行读操作,若读取文件内容不成功,则返回读文件失败的错误信息,若读文件成功,则将文件内容显示在文本框中,以供用户浏览。流程图如下

9、:写文件,调用API中的writeFile函数实现,流程图如下:写文件的时候,首先要对文件进行打开操作,若此时文件不存在或已处于打开状态或读状态或写状态,则返回打开失败信息,若此时文件处于空闲状态,则调用API函数进行写操作,若写文件不成功,则返回写文件失败的错误信息,若写文件成功,则保存文件,返回操作界面。流程图如下:复制文件或移动文件,调用API 中的copyFile或moveFile函数实现,流程图如下:七、程序运行结果1、用户登录界面:2,操作主界面:3,创建目录或文件:4,删除文件:5,删除目录:(1)目录不为空时:(2)目录为空时:6,写文件:7,读文件:8,复制文件:9,移动文件

10、八、参考文献汤子瀛 计算机操作系统(修订版)西安电子科技大学出版社 2001张尧学 史美林计算机操作系统教程实验指导 清华大学出版社 2000九、心得体会在设计过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便。总的来说通过这次的设计的学习使我学到了很多在平时的学习中学不到的很多东西,对操作系统有了更深一层的了解,同时也提高了C语言的应用能力,由于时间紧,故还有很多的方面需要改进。以后的学习还得更加努力。

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

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