cpu和io进程调度时间

【题目】

在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如下表所示:

假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为()%;R2的利用率约为()%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。

正确答案:90% 70% 
解析:由于使用处理机和输入输出设备时采取可剥夺式多任务并行工作方式,所以在分析每个进程都需要多长时间完成时,可以采用优先级高的进程先分析的方法。高优先级的进程有优先获取资源的权利,因而最高优先级的进程P1发出申请设备的请求会立即得到响应,各设备占用时间为:
  
在P1占用设备的基础上,P2可以在剩下的进程中优先得到资源:
  
在P1、P2占用设备的基础上,P3可以在剩下的空闲时间中占用资源;
  
 从图可以看出P2在使用R1设备20ms后,要使用CPU30ms,但当其运行10ms后, P1要使用CPU,由于系统采用可剥夺方式调度,P1优先级高,所以将P2暂停,让P1先运行。同理,P3开始就使用CPU,但在运行20ms后,要让给高优先级的进程P2和 P1。P1从投入运行到完成需要80ms,而P2、P3由于等待资源,运行时间都延长为100ms。 CPU在90ms~100ms共10ms时间内没有利用,所以利用率为90/100=90%,同样计算得R2的利用率为70/100=70%,R1的利用率为60%。

【参考】

http://blog.csdn.net/canaan_cs/article/details/26516481

时间: 2024-11-13 06:46:17

cpu和io进程调度时间的相关文章

linux cpu和IO优化

系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上的优化就适合眼下正在运行的系统,不同的系统.不同的硬件.不同的应用优化的重点也不同. 优化的方法也不同.优化的参数也不同.性能监测是系统优化过程中重要的一环,如果没有监测.不清楚性能瓶颈在哪里,怎么优化呢?所以找到性能 瓶颈是性能监测的目的,也是系统优化的关键.系统由若干子系统构成,通常修改一个子系

linux性能优化cpu 磁盘IO MEM

系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上的优化就适合眼下正在运行的系统,不同的系统.不同的硬件.不同的应用优化的重点也不同. 优化的方法也不同.优化的参数也不同.性能监测是系统优化过程中重要的一环,如果没有监测.不清楚性能瓶颈在哪里,怎么优化呢?所以找到性能 瓶颈是性能监测的目的,也是系统优化的关键.系统由若干子系统构成,通常修改一个子系

【转帖】如果进入CPU的世界,时间会是怎样的?

如果进入CPU的世界,时间会是怎样的? 2018-02-26 20:52:46 world6 阅读数 1295更多 分类专栏: 网络 缓存服务 架构 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/world6/article/details/79375690 每个人都会有一些吐槽的想法存在,我替CPU把它的吐槽 放在我的博客里吧! 不知道大家有没有感觉每天写代码的时间过得很快啊,有时候一

win/linux 下使用 psutil 获取进程 CPU / memory / IO 占用信息

psutil - A cross-platform process and system utilities module for Python 1. 安装 pip 安装即可. windows 下需要安装 vs2008,否则报错: Unable to find vcvarsall.bat 如果已经安装 vs2010 / vs2012 则需要设置环境变量,VS90COMNTOOLS 指向已有的 vs 变量. vs2010 设置如下: VS90COMNTOOLS = %VS100COMNTOOLS%

【转】PC架构系列:CPU/RAM/IO总线的发展历史!

1. 从 IBM PC XT 架构开始...一开始PC的设计中,CPU/RAM/IO都是被一条总线(BUS)连接起来,所有的部件都必须在同步的模式下面工作,由CPU来决定的其他设备工作在什么频率(Frequency)上.这样就带来一个"互锁" (locked to each other )效应,即大家都被限定在一个被所有设备所能承受的通用时钟频率(Clock Frequency)上面,系统的整体性能不高. 2. 总线的第一次切分 1987年,康柏(Compaq)公司想到一个办法,将系统

FreeBSD查看带宽占用情况,CPU,硬盘IO 虚拟内存等命令

FreeBSD查看带宽占用情况,CPU,硬盘IO 虚拟内存等命令 来源 https://www.liurongxing.com/freebsd-tips.html systat 能实时查看各种信息systat -pigs 默认值CPUsystat -iostat 硬盘IOsystat -swap 交换分区systat -mbufs 网络缓冲区systat -vmstat 虚拟内存systat -netstat 网络systat -icmp ICMP协议systat -ip IP协议systat

性能瓶颈分析(CPU,IO,内存)

1.系统CPU利用率高是什么原因? 答:cpu分为用户级的CPU和系统级的CPU,系统中断与切换多,中断和切换频繁很耗用CPU.运算量大是用户级的.CPU太差,主频太低,都是形容 CPU差. 苹果系统一直让单线程,因为这样就减少了N多插队的请求导致的中断减速 2.用户CPU利用率高是什么原因? 答:用户态是运行应用程序所占cpu时间百分比,系统态是应用程序调度所占cpu时间百分比,造成系统态高的原因 程序中断切换频繁,共享资源竞争,大量io交互,用户态高原因 程序运算量大. 3.下面IO高的原因

Linux性能监控——CPU,Memory,IO,Network

版权声明:本文由刘爽原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/107 来源:腾云阁 https://www.qcloud.com/community 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70%. 上下文切换:与CPU利用率相关联,如果CPU利用率状态良好,大量的上下文切换也是

linux CPU,IO,Memory监控

jmeter中也可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务. 安装性能监控插件(jmeter-plugins)后报如下错误,是由于jmeter版本过高jmeter3.1可以成功 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/t 所以做性能cpu,io,memory监控jmeter3.1 1.需要的插件