CPU概念和调度算法

本文介绍了CPU的基本概念,包括物理CPU、逻辑CPU和CPU核数。讲解了如何查看Android设备的CPU信息,并探讨了CPU调度的重要性。文章详细阐述了CPU调度的四种环境,区分了抢占式和非抢占式调度。接着,列举并解析了多种CPU调度算法,如FCFS、SJF、优先级调度、转轮法(RR)和多级队列调度。最后,讨论了多CPU的负载均衡问题以及调度算法的评估方法。
摘要由CSDN通过智能技术生成

基本概念

1、物理CPU、逻辑CPU、CPU核数

(1) 一个物理CPU上有多个CPU核,如果采用了intel的超线程技术(HT), 就会再多出一倍的cpu核出来

(2)一般情况下,逻辑cpu数=物理CPU*cpu核数

(3)如果采用了超线程技术,则正常逻辑cpu数=物理CPU*cpu核数*2

top看到的cpu个数以及java中的Runtime.getRuntime().availableProcessors()获得到的都是逻辑cpu数。

2、 队列中的记录通常是进程的进程控制块。

3、CPU调度决策可在如下四种环境下发生

(1)当一个进程从运行状态切换到等待状态 例如,I/O请求或调用wait以等待一个子进程的终止

(2) 当一个进程从运行状态切换到就需状态 例如,当出现中断

(3)当一个进程从等待状态切换到就需状态 例如,I/O完成

(4)当一个进程终止

当调度只能发生在第一和第四种种情况时,称调度方案是非抢占的,否则调度方案是可抢占的。采用非抢占调度,一旦CPU被分配给一个进程,那么该进程会一直使用CPU直到进程终止或切换到等待状态时释放CPU


查看Android设备CPU信息

查看物理CPU的个数

#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

查看逻辑CPU的个数

#cat /proc/cpuinfo |grep "processor"|wc -l

查看CPU是几核

#cat /proc/cpuinfo |grep "cores"|uniq

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值