社区
英特尔边缘计算技术
帖子详情
CPU抢占算法的讨论
zhangyixian525
2007-08-17 03:42:25
在一个CPU的时候,当有多个指令需要处理的时候。CPU会有自己的一套算法。那么在多核时代这种算法是如何处理的呢?欢迎大家一起参与讨论。
...全文
1479
19
打赏
收藏
CPU抢占算法的讨论
在一个CPU的时候,当有多个指令需要处理的时候。CPU会有自己的一套算法。那么在多核时代这种算法是如何处理的呢?欢迎大家一起参与讨论。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhucaozhihui
2007-08-23
打赏
举报
回复
深度讨论``!
taianmonkey
2007-08-22
打赏
举报
回复
中断技术
tancy2008
2007-08-22
打赏
举报
回复
不懂..学习.
rickymathit
2007-08-21
打赏
举报
回复
根据指令的类型不同和复杂度有不同的抢占方式,另外就是跟作业量也有很大的关系,这都是由操作系统来决定什么时候调度的,不过我们自己也能够想到很好的方法来解决的。就是考虑的时候全面点
wangfeizjk
2007-08-21
打赏
举报
回复
学习
haibon
2007-08-21
打赏
举报
回复
os决定
代码坑
2007-08-20
打赏
举报
回复
采用SWP技术(对称多处理技术)
但要解决一下问题:
1,对进程的调度要保证内核例程是可重入的,避免死锁;
2,对线程的调度要避免冲突;
3,IO资源的访问要注意同步,采用锁技术;
4,存储器要尽量实现硬件的并行性,如使用多端口存储器;
5,当调度失败时,要有容错技术。
yonghong
2007-08-20
打赏
举报
回复
应该是硬件考虑的问题吧,现在的操作系统都是运行在单核下面的,也就是运行程序时都是为CPU分一个时间片处理一个进程,如果是多核,应该是硬件考虑,一个CPU分配一个时间片到一个进程上,别外一个CPU运行时跟着处理这个进程时两个CPU之间要有一个通信
canye
2007-08-20
打赏
举报
回复
好像可以设置进程的优先度吧.
pzp_7676
2007-08-20
打赏
举报
回复
感觉是OS的因素更多一些
yjukh
2007-08-20
打赏
举报
回复
双核好像也要程序本身支持的,我用Matlab做仿真,本来想着双核会快点,结果跑的时候CPU只占到50%,也就是一个核在工作,不能发挥双核的优势
windstore
2007-08-20
打赏
举报
回复
汗。。。
石雕
2007-08-20
打赏
举报
回复
o.... 楼主需要补课....
你说的东西可以去查查OS怎么调度进程, 进程如何轮换.. 恩.那里面有你想要的东西
hsfeng9
2007-08-20
打赏
举报
回复
不清楚!算法很多!不知道用的是什么!
zzw_happy
2007-08-20
打赏
举报
回复
os决定而不是cpu,lz再好好看看操作系统的书。
redleaves
2007-08-20
打赏
举报
回复
一个CPU能同时处理多条指令?
貌似是顺序的吧...
就算是多级流水线,那一次也只能出一个结果吧...
就算是多条流水线,乱序执行...那也要前后是无关的指令.只有这样结果才会看上去是顺序的吧...
就算有多个CPU,那也不会让他们同时执行一条代码吧...
而且这些和抢占CPU(时间?)有什么关系?
qingyuan18
2007-08-20
打赏
举报
回复
这个讨论高难度~~
yanglin5131421
2007-08-20
打赏
举报
回复
做个板凳, 呵呵
tabris17
2007-08-20
打赏
举报
回复
这是操作系统决定的
CPU
概念和调度
算法
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
数。 top看到的
cpu
个数以及java中的Runtime.getRuntime
操作系统之
CPU
调度
CPU
调度回顾多道程序,同时把多个进程导入内存,使得一个进程在
CPU
中执行I/O时,一个进程用来填补
CPU
的时间。通常进程都是在
CPU
区间和I/O区间之间转换。
CPU
调度程序称为短期调度程序,从内存调度到
CPU
。在内存中等待的就绪队列的节点是PCB。有许多不同的队列实现方法。
抢占
调度和非
抢占
调度:前者为一个进程还没结束之前就被夺取
CPU
的拥有权,而后者则要一个进程结束或等待I/O才给予其他进程
CPU
的拥有权。分派程序用来把
CPU
的拥有权交给短期调度程序选定的进程。每次切换进程时都要使用。分派延迟是分派程序所
常见
CPU
调度
算法
CPU
调度 初衷: In a system with a single
CPU
core, only one process can run at a time. Others must wait until the
CPU
’s core is free and can be rescheduled. The objective of multiprogramming is to have some process running at all times, to maximize
CPU
utilizat
操作系统中的
CPU
调度
需要更复杂的实施和管理。如果我们选择仅在进程终止(条件 4)或当前进程执行正在等待I/O (条件 1)时才选择调度,那么我们可以说我们的调度是非
抢占
式的,但是,如果我们在其他条件下也做出调度决策,我们可以说我们的调度过程是
抢占
式的。因此,当我们根据哪个
CPU
向进程提供资源来查看
CPU
调度决策的条件时,我们可以看到,当涉及条件1时,实际上没有做出决策的选择和4 . 如果我们在就绪队列中有一个进程,我们必须选择它来执行。如果进程未在分配的时间片内完成执行,则该进程将被
抢占
,并执行队列中的下一个进程。
s5-1
CPU
调度
基本概念通过多道程序设计得到
CPU
的最高利用率(
CPU
-- I/O 脉冲周期 - - 进程的执行包括进程在
CPU
上执行和等待 I/O ) 进程的执行以
CPU
脉冲开始,其后跟着 I/O 脉冲.进程的执行就是在这两个状态之间进行转换.
cpu
和I/O burst的交替序列
cpu
-burst
CPU
脉冲的分布, 在系统中, 存在许多短
CPU
脉冲,只有少量的长
CPU
脉冲 比如: I/O...
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章