蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

西工大计算机操作系统课程设计实验报告bh05xh5【可编辑范本】

  • 资源ID:55695044       资源大小:1,020.14KB        全文页数:7页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

西工大计算机操作系统课程设计实验报告bh05xh5【可编辑范本】

西北工业大学操作系统实验报告西北工业大学操作系统实验报告 实验日期 2013。12。07 实验名称查看 WRK 进程的等待队列 一、实验目的一、实验目的 了解进程的数据结构,熟悉 WinDbg 的用法。 二、实验要求二、实验要求 结合 WinDbg 的调试功能,分析一个进程的数据结构. 三、实验过程及结果三、实验过程及结果 实验步骤 1.联机调试界面 启动 WinDbg 到内核调试模式。 2.查看一个线程等待的所有同步对象 1) 在 WRK启动过程中,使用“process”命令查看当前进程。 图 1 2) 使用命令“dt nt_kthread [线程结构入口地址]“查看拥有同步事件对 象 SynchronizationEvent 的线程。 -1- 图 2 3) 查看其中的0 x054 WaitBlockList,可以看到其等待对象列表头, 也就是第一个等待对象。使用命令“dt nt_kwait_block[入 口地址]"进入第一个等待块查看信息。查询该等待块的NextWaitB lock,又看到另一个已知的事件对象。 4) 使用命令“dt nt_kwait_block [入口地址]“进入下一个等待块查看信 心. 图 3 5) 重复以上步骤,可以查看线程中全部正在等待的同步对象。可知线程正 在等待的同步对象的队列是循环队列。 -2- 图 4 3.查看某同步对象的所有线程 1) 使用“process”命令查看当前进程。 -3- 图 5 2) 然后观察线程等待的同步对象 QueueObject.使用命令“dt nt_dispatcher_header [入口地址]” 来解释该对象的分发器头. 图 6 3) 查看结构 WaitListHead, 从_LIST_ENTRY 的首尾地址上我们可以看 到,不止一个线程在等待该对象。 因为等待列表头的前向和后向指针指向 的位置不同。 -4- 图 7 4) 使用命令“dtnt_kwait_block [入口地址]”进入第一个等待块查 看信息。 图 8 5) 查看结构 WaitListEntry,使用命令“dtnt _kwait_block [入 口地址]“进入另一个等待块查看信息。 图 9 6) 重复以上步骤,直到该等待对象的队列遍历完毕,统计队列中的线程数。 -5- 图 10 4.创建线程实验 通过修改 WRK 中的系统文件,wrk 内核创建线程时打印信息.具体步骤 为 1对create。c 文件进行修改文件路径为/base/ntos/ps/cre ate.c。 2在文件开头适当位置定义两个变量,以分别记录系统线程和应用线程 的数量 int WRK_SysThreadCount; intWRK_AppThreadCount; 3在 PsCreateSystemThread 函数中添加类似如下信息打印代码 DbgPrint“System threadcreated, total %d\r\ n”, + WRK_SysThreadCount; -6- 4) 在 PspCreateThread 函数中添加相应信息打印代码 DbgPrint“Appli cation t hre ad created, total = d\r\n”,+ WRK_AppThreadCount。 重新编译 WRK 内核, 放入虚拟机c\windows\system32 下并重新加 载、调试,在 WinDbg 中会出现下图所示的类似信息。 图11 四、实验分析四、实验分析 WaitBlockList 是等待对象循环队列的列表头,每一个等待对象都有一个 指向下一个对象的指针( NextWaitBlock) 。通过观察线程等待的同步对象 QueueObject,查看其中的 WaitListEntry,可以找到队列中所有等待线程。 五、所遇问题及解决方法五、所遇问题及解决方法 本次实验建立在实验一基础上,改变源代码中的程序,然后将编译好的 exe 文件直接拷入虚拟机运行即可得到结果。 -7-

注意事项

本文(西工大计算机操作系统课程设计实验报告bh05xh5【可编辑范本】)为本站会员(wangxing104)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开