操作系统CPU占用率控制实验报告.docx

操作系统CPU占用率控制实验报告.docx

ID:52698131

大小:62.33 KB

页数:5页

时间:2020-03-29

操作系统CPU占用率控制实验报告.docx_第1页
操作系统CPU占用率控制实验报告.docx_第2页
操作系统CPU占用率控制实验报告.docx_第3页
操作系统CPU占用率控制实验报告.docx_第4页
操作系统CPU占用率控制实验报告.docx_第5页
资源描述:

《操作系统CPU占用率控制实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统实验报告05610901班姓名:李岩学号:05610901CPU占用率控制信息对抗技术5实验一:CPU占用率控制一、实验目的1、通过编写和调试程序以加深对CPU调度的理解;2、熟悉Windows任务管理器CPU信息的获取和使用方法;二、实验要求编写程序实现下面任意一题:1、CPU占用率为一条直线,固定在50%;2、CPU占用率为一条正弦曲线。三、实验原理在任务管理器的一个刷新周期内,CPU忙(执行应用程序)的时间和刷新周期总时间的比率,就是CPU的占用率,也就是说,任务管理器中显示的是每个刷新周期内CPU占用率的统计平

2、均值。通过控制程序在任务管理器的刷新期间内忙/闲的比例,就可以控制管理器的CPU占有率。问题的关键在于如何控制两个loop的时间。四、实验内容及结果1、实现CPU占用率为一条直线,固定在50%;分析:GetTickCount()可以得到“系统启动到现在”的毫秒值,最多能够统计到49.7天。另外,利用Sleep()函数,最多也只能精确到1毫秒。因此,可以在“毫秒”这个量级做操作和比较。步骤1  要操纵CPU的usage曲线,就需要使CPU在一段时间内跑busy和idle两个不同的循环,从而通过不同的时间比例来获得调节CPU占用率

3、的控制。步骤2利用GetTickCount()来实现busyloop的循环,用Sleep()实现idleloop。实验源程序:#includeintmain(void){//50%intbusyTime=10;intidleTime=busyTime;_int64startTime;SetThreadAffinityMask(GetCurrentProcess(),0x00000001);while(true){startTime=GetTickCount();//获取从系统从开机到此刻5//为止运行的时

4、间while((GetTickCount()-startTime)<=busyTime){;}Sleep(idleTime);}return0;}实验结果:(图一CPU占用率为一条直线,固定在50%)2、CPU占用率为一条正弦曲线。分析:可以用sin函数的幅度来表示忙状态占用的时间的大小,当sin函数达到最大值时,CPU占用率为100%,空闲时间大小为0,当sin函数达到最小值时,CPU占用率为0%,忙时间大小为0。步骤1首先设定采样参数,设一个周期内采样点的个数和步进单位的大小。步骤2根据sin函数的大小分别计算忙时间和空闲

5、时间的大小,通过计数完成周期采样。步骤3同第一题用GetTickCount()来实现忙状态的循环,用Sleep()实现空闲状态循环。通过计数实现周期采样。实验源程序:#include#include#includeconstdoubleSPLIT=0.05;//步进量为0.055constintCOUNT=200;//刷新周期内采样200个点constdoublePI=3.14159265;constintINTERVAL=300;//正弦幅值最大单位int_tmain

6、(){DWORDbusySpan[COUNT];DWORDidleSpan[COUNT];inthalf=INTERVAL/2;doubleradian=0.0;for(inti=0;i

7、;startTime=GetTickCount();while((GetTickCount()-startTime)<=busySpan[j]);//如果没有到忙截止时间则循环等待Sleep(idleSpan[j]);//执行休眠idleSpan[j]时间大小j++;}return0;}voidmain(){_tmain();}实验结果(图二CPU占用率为一条正弦曲线。)五、实验收获5通过本次实验,从原理上加深了对CPU调度的理解,并且对于windows任务管理器中CPU占用率的获取方法有了了解。在具体编程中,通过控制刷新周期

8、内CPU工作忙状态和闲状态的时间比例,来获得预期的CPU占用率曲线,体会了人为控制CPU调度的过程。在原理和具体的编程方法上有了巩固和提高。5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。