西工大计算机操作系统课程设计实验报告bh05xh5_第1页
西工大计算机操作系统课程设计实验报告bh05xh5_第2页
西工大计算机操作系统课程设计实验报告bh05xh5_第3页
西工大计算机操作系统课程设计实验报告bh05xh5_第4页
西工大计算机操作系统课程设计实验报告bh05xh5_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西北工业大学操作系统实验报告实验日期: 2013.12.07 实验名称: 查看WRK进程的等待队列一、实验目的了解进程的数据结构,熟悉WinDbg的用法。二、实验要求结合WinDbg的调试功能,分析一个进程的数据结构。三、实验过程及结果实验步骤:1联机调试界面启动WinDbg 到内核调试模式。2查看一个线程等待的所有同步对象1) 在WRK启动过程中,使用“!process”命令查看当前进程。图12) 使用命令“dt nt!_kthread 线程结构入口地址”查看拥有同步事件对象SynchronizationEvent的线程。图23) 查看其中的+0x054 WaitBlockList,可以看到

2、其等待对象列表头,也就是第一个等待对象。使用命令“dt nt!_kwait_block 入口地址”进入第一个等待块查看信息。查询该等待块的NextWaitBlock,又看到另一个已知的事件对象。4) 使用命令“dt nt!_kwait_block 入口地址”进入下一个等待块查看信心。图35) 重复以上步骤,可以查看线程中全部正在等待的同步对象。可知线程正在等待的同步对象的队列是循环队列。图43查看某同步对象的所有线程1) 使用“!process”命令查看当前进程。图52) 然后观察线程等待的同步对象QueueObject。使用命令“dt nt!_dispatcher_header 入口地址”来

3、解释该对象的分发器头。图63) 查看结构WaitListHead,从_LIST_ENTRY的首尾地址上我们可以看到,不止一个线程在等待该对象。因为等待列表头的前向和后向指针指向的位置不同。图74) 使用命令“dt nt!_kwait_block 入口地址”进入第一个等待块查看信息。图85) 查看结构WaitListEntry,使用命令“dt nt!_kwait_block 入口地址”进入另一个等待块查看信息。图96) 重复以上步骤,直到该等待对象的队列遍历完毕,统计队列中的线程数。图104创建线程实验通过修改WRK中的系统文件,wrk内核创建线程时打印信息。具体步骤为:1)对create.c

4、文件进行修改(文件路径为:/base/ntos/ps/create.c)。2)在文件开头适当位置定义两个变量,以分别记录系统线程和应用线程的数量:int WRK_SysThreadCount;int WRK_AppThreadCount;3)在PsCreateSystemThread函数中添加类似如下信息打印代码:DbgPrint(“System thread created, total = %drn”, + WRK_SysThreadCount); 4) 在PspCreateThread函数中添加相应信息打印代码:DbgPrint(“Application thread created, total = %drn”, + WRK_AppThreadCount)。重新编译WRK内核, 放入虚拟机c:windowssystem32下并重新加载、调试,在WinDbg中会出现下图所示的类似信息。图11四、实验分析WaitBlockList是等待对象循环队列的列表头,每一个等待对象都有一个指向下一个对象的指针(NextWaitBlock)。通过观察线程等待的同步对象QueueObject,查看其中的WaitListEntry,可以找到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论