《Windows操作系统实验.docx》由会员分享,可在线阅读,更多相关《Windows操作系统实验.docx(3页珍藏版)》请在三一办公上搜索。
1、Windows操作系统实验PROJECT1生产者-消费者问题练习目的:学习操作系统中多进程的并发执行,进程间的同步和互斥,学习如何实现进程的同步和互斥.掌握基本的同步互斥算法,学习使用基本的同步对象包括互斥量,信号量,事件等,掌握管理这些同步对象的系统调用函数.学习经典的IPC问题,给出解决方案.学习WindOWS2000/XP的进程的同步和互斥.任务要求:认真阅读windows内核实验教程P70-P90.实现生产者-消费者问题,测试数据参考windows内核实验教程P91.附加说明:1 .只要共享缓冲区存在空闲空间,生产者即可使用共享缓冲区.2 .共享缓冲区的数据只有当所有的消费需求都满足以
2、后,此共享缓冲区才可以作为空闲空间,允许新的生产者使用.3 .每个消费者线程的各个需求,例如:6C2.1124,其中请求1,2,4是有严格顺序的.4 .使用多个测试用例,同时给出几个用例的结果和结果分析.PROJECT2内存管理练习目的:了解WindoWS2000/XP的内存管理机制,掌握页式虚拟存储技术。掌握WindoWS2000/XP的虚拟地址到物理地址的地址转换机制。理解内存分配原理,特别是以页面为单位的虚拟内存分配方法。了解基本的页面置换/调度算法。掌握Windows2000/XP下内存管理的基本的APE任务要求:认真阅读windOWS内核实验教程P91-P108.模拟内存分配,参考w
3、indows内核实验教程P108.1 .编写一个程序,创建两个线程,一个用于内存分配,另一个用于跟踪内存分配情况,并且打印内存信息。2 .要求两个线程使用信号量保持同步。3 .自己定义模拟内存活动的线程所需要内存操作。4 .使用VirtUaIAlIOC函数时,要求:flAllocationtype的取值为:MEMRESET,MEMTOPDoWN,flProtect的取值为:PAGE_GUARD,PAGE_NOACCESS,PAGE_NOCACHE5 .给出运行结果和运行结果分析。6. 尝试调换保留,提交,锁,解锁,回收,释放,复位的顺序,查看结果,分析原因。Project3NDIS协议驱动程序
4、设计概述:为了使程序员在WindOWS下开发驱动程序变得更加方便、简洁,Microsoft专门制定了一系列WindoWS驱动程序的标准,比如我们熟知的WDIVXD等等。XDlS就是这样一种网络驱动程序接口规范。开发这种驱动程序,程序员所要做的工作通常就是循规蹈矩的提供一套驱动程序所需的接II函数,至于驱动程序工作时系统是如何使用这些函数的般就无人问津了。般来说,程序员编写出的程序其控制流应该完全在自己的掌控之下。比如我们会先请用户输入一个数字,由此进行一系列计算并得到相应的结果,最后再将结果反馈给用户。然而在驱动程序的开发中,系统运行时的控制流就不是那么显而易见了。因为我们在编写驱动程序时提供
5、的函数往往都属于回调(callback)函数,这些函数的运行需要系统中相应事件的触发,而这也正是学习和理解WindoWS下各种驱动程序模型的关键所在。本次实验以NDlS为例,介绍了为眄ndows开发驱动程序的般方法,并对驱动程序与上层应用程序间如何协同工作进行了讲解。实验目的:1 .学习Nl)IS驱动程序的开发方法,了解其工作原理;2 .阅读(Windows内核试验教程一书中所附的源代码,重点掌握从网络上截获数据包并递交上层这一过程中所涉及到的几个关键函数;3 .掌握DDK的使用方法,编译生成相应的驱动程序并在系统中安装;4 .尝试使用得到的驱动程序对网络性能进行监控,学习驱动程序与上层应用程
6、序间如何协同工作。参考资料:1. (Windows内核试验教程第三章;2. Windows2000DDK联机文档NetWOrkDriVerS一章。Project4虚拟磁盘的文件系统驱动程序设计练习目的:熟悉windowsxp的文件系统的基本概念掌握文件系统驱动程序体系结构原理和程序设计方法掌握DDK的使用方法,编译生成相应的驱动程序了解文件系统驱动程序和文件系统操作,注册表的关系了解虚拟磁盘设备的工作原理任务要求:认真阅读windOWS内核实验教程P192-P212.1. 设计目标是用硬盘上的文件模拟一个磁盘驱动器,使虚拟盘能够像实际的的磁盘一样进行工作,能够在虚拟盘进行格式化以创建文件系统,在虚拟盘上进行各种文件与目录操作.2. 要求分发例程包括VirtualDiskCreate,VirtualDiskClose,VirtualDiskRead,VirtualDiskWrite,VirtualDiskDeviceControl.3. 编写虚拟盘文件系统应用程序,参考P209-P212.4. 编写程序结构说明文档,和应用程序使用文档.