虚拟磁盘驱动程序设计.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟磁盘驱动程序设计

Harbin Institute of Technology at Weihai 操作系统课程设计报告 设计题目: 虚拟磁盘驱动程序的设计 院 系: 计算机科学与技术学院 班 级: 0704102 学 号: 070410218 设 计 者: 杜小丹 哈尔滨工业大学(威海) 二零零九年十二月 目录 1.设计要求 1 2.设计目的 1 3.设计描述 1 3.1 FSD——文件系统驱动 1 3.1.1 本地FSD模型 2 3.1.2 远程FSD模型 3 3.2 对问题的分析 3 3.2.1 试验目标: 3 3.2.2 驱动层的分析 3 3.2.3 驱动层分发例程和应用层的联系 4 3.2.4 应用层的分析 5 3.3 Windows 2000/XP系统中驱动程序的一般结构: 5 3.4 注册表 6 4. 程序流程图 6 5. 设计分析 8 5.1 驱动层 8 5.1.1 核心层各例程的关系图 8 5.1.2 首先给出驱动驱动层各例程的定义: 8 5.1.3 核心层源码分析 10 5.1.4 对核心层整体思路的总结 11 5.2 应用层 12 5.2.1 应用层各函数关系图 12 5.2.2 应用层源码分析 12 5.2.3 对应用层整体思路的总结 23 6. 运行结果 24 6.1 创建虚拟磁盘 24 6.2 卸载虚拟磁盘 24 6.3 创建虚拟光驱 24 6.4 卸载虚拟光驱: 25 7. 心得体会 25 1.设计要求 本实验将在Windows XP平台上,分析一个具体的虚拟磁盘的文件系统驱动程序,并完成对它的完善。具体要求如下: (1) 理解文件系统驱动程序(FSD)在系统中的作用和工作机制。 (2) 分析试验给出的虚拟磁盘文件系统设备驱动程序,能够掌握其结构和运作机制,同时理解其与FSD的关系。 (3) 完善所给虚拟设备文件系统驱动程序,加入虚拟光驱功能的支持。 (4) 将虚拟设备驱动程序实际安装到系统中,运行相应应用程序进行测试分析。 2.设计目的 (1) 了解文件系统及文件系统驱动程序的一般原理。 (2) 学习开发文件系统驱动程序的开发环境,了解其与DDK(Device Drivers Kit,设备驱动程序开发包)的关系。 (3) 掌握虚拟磁盘技术,能够编译生成相应的驱动程序并在系统中安装实现。 (4) 进一步掌握Windows 2000/XP系统中驱动程序的一般结构。 3.设计描述 3.1 FSD——文件系统驱动 主要功能 本地FSD:包括ntfs.sys,fastfat.sys,udfs.sys,cdfs.sys,raw fsd等,向I/O管理器注册,实现本地文件系统 远程FSD:包括客户端FSD和服务器端FSD,用以实现通过网络的远程文件共享 FSD的主要作用 显式文件I/O:API函数——FSD——I/O管理器——设备驱动 高速缓存延迟写、提前读:提升磁盘利用效率和系统性能 内存脏页写和缺页处理:保持进程运行的稳定和正确 3.1.1 本地FSD模型 3.1.2 远程FSD模型 3.2 对问题的分析 3.2.1 试验目标: 本实验的设计目标是用硬盘上的.img,.iso等文件来模拟一个磁盘驱动器或者是一个光驱驱动器,使虚拟盘能够像实际的的磁盘一样进行工作,能够在虚拟盘进行格式化以创建文件系统,在虚拟盘上进行各种文件与目录操作;使虚拟光驱能够像正常的光驱一样,对镜像文件进行操作。注意:在这里,虚拟光驱只能对文件进行读取操作而不能修改文件。 3.2.2 驱动层的分析 通过各分发例程实现功能,具体在下一部分论述 3.2.3 驱动层分发例程和应用层的联系 Windows应用程序与设备驱动程部分论述 序打交道的主要是通过CreatFile, CloseHandle, ReadFile, WriteFile ,DeviceControl等Win32 API来进行的,这些API对应着驱动程序的一些分发例程。例如,当应用程序调用Win32 API CreateFile的时候,操作系统最终转化为对驱动程序IRP_MJ_CREATE功能代码所对应的分发例程的调用,如果驱动程序没有提供该例程,CreateFile调用就会失败。 虚拟盘文件系统驱动程序分发例程与WIN32 API的关系 功能代码 说明 对应的Win32 API 虚拟盘文件系统驱动程序分发例程 IRP_MJ_CREATE 打开文件 CreatFile FileDiskCreateClose IRP_MJ_CLOSE 关闭文件 CloseHandle FileDiskCreateClose IRP_MJ_READ 从文件

文档评论(0)

pangzilva + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档