下载此文档

linux下基于内存的虚拟文件系统设计与实现.doc


文档分类:IT计算机 | 页数:约52页 举报非法文档有奖
1/52
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/52 下载此文档
文档列表 文档介绍
摘要近几年来, 计算机的 CPU 、内存和显卡等主要配件的性能都提升得很快, 而与之相对应的磁盘系统性能正越来越严重地成为整个电脑系统性能提升的瓶颈。故将一部分内存拿出做虚拟磁盘, 并在虚拟磁盘上实施文件管理系统, 以加快文件的管理速度, 并方便用户进行各种用户操作。基于内存的文件管理系统, 顾名思义, 就是将一部分内存拿出来当硬盘用,可以极大的提高在其上进行的文件访问的速度。。关键词:虚拟内存磁盘文件管理系统 linux/qt/C++ 目录第一章课题背景 课题实现的背景及意义第二章项目总体设计 基本功能 目的和要求第三章详细设计 程序整体框架和主要算法 类的设计与声明 程序流程图第四章实验内容 运行环境 运行要求 核心代码第五章设计结果与分析总结参考文献第一章课题背景: 1 ,需求概述近年来, 随着操作系统内存容量的不断地增加, 然而相当一部分的操作系统内存却是浪费了。为此出现了虚拟硬盘的概念, 希望能借此实现不同情况的磁盘转储和合理利用内存。由于操作系统的虚拟内存很大, 因此可以利用这些内存开辟一块空间作为虚拟磁盘。在此虚拟硬盘上,进行模拟 Windows 文件管理系统的对系统之中的真实的文件的管理。我们采用 linux/qt 作为我们的开发环境,并实现了可视化界面, 所有操作无需输入命令,而是通过点击按钮实现相应的功能。 2 ,需求分析 需求理解与模块图对用户需求的理解: 该模拟文件系统包括四大模块: 磁盘状态显示模块、存储模块、读取模块、文件管理模块。一: 磁盘状态显示模块: 通过点击查看磁盘信息按钮可以查看磁盘的信息, 其中包括显示磁盘总容量, 剩余空间大小以及当中的文件总个数。通过饼图图示, 显示所用空间和剩余空间的比例, 帮助用户方便的了解磁盘空间的使用情况。二:存储模块:用户点击导入文件按钮,弹出导入文件对话框, 可将指定路径的文件导入到内存磁盘中。三:读取模块:用户点击导出文件按钮,弹出导出文件对话框, 可将内存磁盘中的文件导出到指定路径的真实的物理磁盘上。四:文件管理模块:对文件进行各种操作,包括查看,备份,重命名, 删除等操作。用户只需点击相应的按钮即可进行操作, 无需以命令行的方式输入命令,方便快捷。 用例分析通过对在上面进行测试的主机的硬件参数的考察和测试, 因为是在虚拟机下 ubuntu 系统进行代码编写和运行的,收集到系统的内存大小只有 512M ,发现当为虚拟内存磁盘分配大小为 256M 的空间时, 测试效果比较好。因此, 在程序中, 我们没有再允许用户输入所要分配的虚拟磁盘的大小,而是在程序初始化的时候就为其分配大小为 256M 的空间, 每个内存块的大小设定为 16K , 然后程序初始化。之后用户可以进行各种模拟真实磁盘的操作,当用户点击退出程序按钮后,内存信息以及一些程序运行的一些参数都将保存到外部磁盘上, 程序退出。第二章项目总体设计: 程序大致划分为四个模块: 磁盘状态显示模块、存储模块、读取模块、文件管理模块等。磁盘状态显示模块: 显示磁盘当前的信息, 包括磁盘总容量大小, 剩余可用空间大小,磁盘中包含的文件个数。存储模块: 当用户导入新文件或者对文件进行备份的时候, 其中的数据都是要存储在内存虚拟磁盘中的。该模块的功能就是把用户导入或备份的数据通过一种合理( 保证该文件数据不会被破坏掉) 的方式分配到内存中。读取模块: 把内存磁盘中的文件导出到用户指定路径的真实物理磁盘上,功能和创建文件类似。文件管理模块: 实现对文件的查看, 备份, 重命名, 删除等操作, 因为我们建立的目录系统是一级目录,所以不提供创建文件夹的操作, 而关于创建文件的操作实质上和从硬盘上导入文件的操作是一样的,因此我们把创建文件并入到文件读取模块里。 基本功能: 1. 显示磁盘信息(总容量,剩余可用空间,文件个数) 2. 导入文件(支持把指定路径的物理磁盘中的文件导入到内存中) 3. 导出文件(支持把内存中选定的文件导出到物理磁盘上指定路径的位置) 4. 文件查看、备份、重命名、删除操作 5. 文件搜索 6. 关机备份,开机加载 目的和要求: 本课程设计的目的是设计一个基于内存的文件管理。以加强对内存系统和文件管理系统和理解,同时也可加深对 linux 操作系统的了解以及熟悉 linux 下的各种命令, 并对 linux 下 QT 可视化编程有进一步了解和掌握。 3. 详细设计 程序整体框架和主要算法在 qt 自动生成的窗口下通过添加控件并赋予每个控件一个实现方法来实现可视化操作,其中用到的一些算法主要有: 1. 文件和内存空间分块解决外部碎片问题并实现空间的高效利用 2. 在 block 类里定义一

linux下基于内存的虚拟文件系统设计与实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数52
  • 收藏数0 收藏
  • 顶次数0
  • 上传人6188
  • 文件大小1016 KB
  • 时间2017-05-26