实习1 压力测试 操作系统高级 教学课件.ppt

实习1 压力测试 操作系统高级 教学课件.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实习1 压力测试 操作系统高级 教学课件

实习一:压力测试 实验目的 了解操作系统中的进程、线程的区别与联系 掌握多进程、多线程的编程方法 深入了解操作系统原理 题目说明 编写一组小程序测试你的Windows 系统创建进程和线程的能力 步骤 压力测试,创建尽可能多的进程和线程,得到这个数目的极限,进程和线程启动后可以进入睡眠状态或者死循环,考虑这两种情况对结果的影响 性能测试,测试系统创建单个进程和线程的平均速率以及速率变化情况,并且对不同的优先级进行测试,研究优先级对其影响 题目说明(续1) 注意的问题 考虑CreateThread等函数不同参数的意义 数据收集应该考虑不同的系统负荷 你的程序可能造成系统崩溃,要注意保护数据 题目说明(续2) 报告要求 说明你的程序运行的系统资源配置 给出测试结果,结果应能反映前面提到的情况 对测试程序和结果做出说明 结合你的结果回答如下问题 Windows 2K/xp中进程和线程在表现上有什么差别? 是什么原因导致对进程和线程测试结果的差异? 在不同系统负荷下的结果分别有和区别,什么原因造成? 题目说明(续3) 思考题 在对进程或线程做压力测试时,测试结果有什么差别,为什么会有这种差别? 在对进程创建进行计时的过程中,有几种计时方法,哪种比较合理? 在不同系统负荷下的结果分别有什么区别,造成该差别的原因是什么? 进程与线程的概念是什么,在实现上有何种差别?这种差别会带来何种影响? 题目说明(续4) 思考题 在创建进程或线程的过程中系统需要做那些特殊处理(比如对调度和中断的处理),为什么? 进程和线程启动后进入睡眠状态或者死循环,这两种情况对结果分别有什么影响? 改变系统资源对创建进程和线程各有什么影响? 赋予不同的优先级对测试结果会有什么影响? 系统负载的不同会对测试结果有什么影响? 该实验中用到的重要函数及参数,名称及含义 设计思路(1) 进程压力测试 系统创建尽可能多的进程,直到不能产生进程为止,同时统计产生的进程数目 子进程的运行方式有两种: (1)子进程挂起或睡眠(Process_One.exe就是为这种情况设计的),挂起操作在父进程通过CREATE_SUSPENDED选项完成 (2)子进程死循环(Process_Two.exe就是为这种情况设计的),即父进程产生子进程后子进程立即执行,并且执行一个死循环 线程性能测试步骤同进程 设计思路(2) 进程性能测试 根据进程的优先级,考虑作如下四组测试,即 : HIGH_PRIORITY_CLASS IDLE_PRIORITY_CLASS NORMAL_PRIORITY_CLASS REALTIME_PRIORITY 其中,优先级从上而下依次增高,REALTIME最高 每组又作了三组测试得到三种进程时间: (1)产生单个进程所需要的时间 (2)产生500个进程后,计算每个进程的平均产生时间 (3)产生100个进程,并且打印出每个进程的创建时间(可以认为是在系统不同的负荷下,产生的进程的时间的变化) 线程性能测试步骤同进程 设计思路(3) 对于以上情况,子进程(线程)都有两种运行方式:挂起或者立即返回(即子进程一运行便结束返回),用以测试这两种方式对时间的影响(后面有实验数据说明) API(1) CreateProcess() 说明 创建一个新进程(比如执行一个程序) 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数 lpCommandLine :String,要执行的命令行。可用GetCommandLine函数取得一个进程使用的命令行。Windows会尽可能地根据下述搜索顺序来查找执行文件: ? (1)包含了父进程执行文件的目录 ? (2)父进程当前的目录 ? (3)由GetSystemDirectory返回的系统目录 ? (4)仅适于windows NT:16位系统目录 ? (5)由GetWindowDirectory返回的Windows目录 ? (6)由PATH环境变量指定的目录 API(2) CreateThread() 说明:创建一个在调用进程的地址空间中执行的线程 参数 lpStartAddress:指向一个LPTHREAD_START_ROUTINE类型的应用定义的函数,该线程执行此函数 dwCreationFlags:定义控制线程创建的附加标志。若定义了CREATE_SUSPENDED标志,线程创建后便处于挂起状态,直到ResumeThread函数调用时才能运行。若该值为0,则该线程创建后立即执行 lpThreadId:线程标识符 API(3) GetTickCount()

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档