《西工大计算机操作系统课程设计实验报告bh05xh5》由会员分享,可在线阅读,更多相关《西工大计算机操作系统课程设计实验报告bh05xh5(7页珍藏版)》请在人人文库网上搜索。

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,可以找到队列中所有等待线程。五、所遇问题及解决方法本次实验建立在实验一基础上,改变源代码中的程序,然后将编译好的exe文件直接拷入虚拟机运行即可得到结果。

西工大计算机操作系统实验报告,西工大计算机操作系统课程设计实验报告bh05xh5...相关推荐

  1. python贪吃蛇的实验报告_贪吃蛇游戏课程设计实验报告

    DOC 可编辑修改 -------- 为你整理各种最新最全办公范文 -------- 双击可以删除 爱心 --- 用心 --- 恒心 贪吃蛇游戏课程设计实验报告 辽 宁 科 技 大 学 课程设计说明书 ...

  2. c语言时钟报告,C语言图形时钟课程设计实验报告

    C语言图形时钟课程设计实验报告 目录1.系统功能要求.2. 数据结构设计及说明.3.程序结构(画流程图) .4.各模块的功能.5.试验结果(包括输入数据和输出结果) .6.体会.7.参考文献.8.附录 ...

  3. c语言实验设备管理系统设计作业,C语言课程设计实验设备管理系统设计

    <C语言课程设计实验设备管理系统设计>由会员分享,可在线阅读,更多相关<C语言课程设计实验设备管理系统设计(27页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计院系: 姓 ...

  4. c语言专业认知实践报告怎么写,C语言课程设计实习报告范本

    <C语言课程设计实习报告范本>由会员分享,可在线阅读,更多相关<C语言课程设计实习报告范本(16页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计实习报告学生姓名: 萱冰伊 ...

  5. 趋肤效应实验报告_无线电能传输(课程设计)实验报告

    实验报告 1. 实验原理 与无线通信技术一样摆脱有形介质的束缚, 实现电能的无线传输是人类多年 的一个美好追求.无线电能传输技术( Wireless Power Transfer, WPT )也称之 ...

  6. c语言电脑报价系统,笔记本电脑销售管理系统-C语言-课程设计-实验.doc

    笔记本电脑销售管理系统-C语言-课程设计-实验 笔记本电脑销售管理系统-C语言-课程设计-实验 PAGE / NUMPAGES 笔记本电脑销售管理系统-C语言-课程设计-实验 笔记本电脑销售管理系统 ...

  7. (MFC)广州大学大一下课程设计实验报告-学生成绩管理系统

    程序设计 课程设计实验报告 学院: 计算机科学与网络工程学院 专业班级: XXX 姓名: XXX 学号: 190XXXXXXX 指导老师:张艳玲 2020.6.29 目录 一.课程设计题目及内容 二. ...

  8. 计算机绘图千斤顶,AUTO CAD课程设计实验报告.doc

    文档介绍: AUTO CAD课程设计实****报告 全套CAD图纸,联系695132052 一.课程设计的目的 综合运用<工程图学>.<计算机绘图>等课程和其他先修课程的知识和 ...

  9. 计算机模型机设计实验报告,计算机组成原理课程设计实验报告-基本模型机设计与实现...

    计算机组成原理课程设计实验报告-基本模型机设计与实现 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 计 算 机 组 成 原 理实 ...

最新文章

  1. Flash中文字体嵌入终极解决方案
  2. 【数据结构-排序】1. 图解插入排序三种实现(插入排序/折半排序/希尔排序)
  3. 楷体任务用Ant来构建你的项目
  4. 深度学习(三十二)半监督阶梯网络学习笔记
  5. Python 列表 sorted( )函数
  6. Spring Boot Swagger3启动出现警告Unable to interpret the implicit parameter configuration with dataType
  7. 用Aliyun E-MapReduce集群的sqoop工具和数据库同步数据如何配置网络
  8. C++ STL list 学习一
  9. BZOJ35453551[ONTAK2010]Peaks——kruskal重构树+主席树+dfs序+树上倍增
  10. 俄罗斯方块代码(自写)
  11. CentOS7和CentOS8 Asterisk 20.0.0 简单图形化界面5--libss7驱动7号信令
  12. JSESSIONID是什么
  13. 项目管理project模板_项目管理常用的10张图表推荐
  14. 为cfree5 配置舒心的编译环境
  15. 工作中经常遇到的232、485、TTL信号
  16. HSV对应不同颜色的灰度空间
  17. u盘win7纯净版_U盘PE启动安装Win7系统教程(微PE版)
  18. redis命令---redist键命令(key)---redis字符串命令(str)
  19. python存储文件_Python的文件读写与存储
  20. 第一次自考学习------学习方法

热门文章

  1. MySQL课程设计——简易学生信息管理系统
  2. 16、数据分析--朴素贝叶斯
  3. u盘图片损坏怎么恢复
  4. 基于perl的bleu得分和nist得分计算实现
  5. 吉利新CP申请新商标,野心远远不止汽车
  6. matlab趋势分析法,趋势分析法案例.pdf
  7. 硬盘对拷/硬盘克隆/硬盘数据迁移工具
  8. LED、LCD背光源、CCFL
  9. 基础(网络知识 三)——网络系统各层协议分析总结(TCP/IP/UDP/HTTP.....)
  10. Unity—实现通过按键控制2D游戏物体的移动