腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Linux2.6
调度
和
抢占
-
preempt_count
使用
、
、
、
、
让我们将其与具有
抢占
式内核的
Linux2.6
进行比较。我们不能将2.4内核的set_need_resched (提升标志)改为schedule() (重新
调度
的指令执行),所以在
Linux2.6
内核中有一个计数器
preempt_count
,它在spin_lock实际上,这个字段"
preempt_count
“决定了内核是否可以被
抢占
。例如,在从时钟返回中断时,如果条件: (current->need_resched == 1) && (cu
浏览 10
提问于2017-12-31
得票数 1
2
回答
为什么每个线程
preempt_count
都足够了?
、
、
preempt_count
变量跟踪每个CPU的统计信息: { } 位0-7记录有多少次内核
抢占
被禁用。我无法理解为什么
preempt_count
每个线程都足够了。当一个新进程被
调度
时,偏离过程位0-7将为零,否则它意味着
抢占
被禁用
和</
浏览 1
提问于2015-03-30
得票数 2
回答已采纳
1
回答
内核上下文中的进程可以在持有互斥锁的同时休眠吗?
、
、
我的问题是,这是否必然意味着进程将获得
调度
,LKD说,每次我获得锁时,process->thread_info->
preempt_count
都会增加,并且在调用
调度
器之前,pre-empted?()会检查
preempt_count
。 那么休眠线程会不会被
抢占
并继续霸占系统呢?
浏览 0
提问于2019-03-29
得票数 0
2
回答
为什么只有当
preempt_count
== 0时内核
抢占
才是安全的?
、
、
该字段用于允许内核
抢占
:“如果设置了need_resched,而
preempt_count
为零,那么一个更重要的任务是可运行的,
抢占
是安全的。”我的问题是:为什么当任务持有锁时
抢占
内核中运行的任务是安全的呢?如果另一个任务被
调度
并试图抓取锁,它将阻塞(或者一直旋转到它的时间片结束),这样我们就不会在相同的关键部分中同时获得两个线程。谁能勾勒出一个有问题的场景,以防我们抢先一个在内核
浏览 4
提问于2017-11-27
得票数 2
回答已采纳
2
回答
内核模式下的Linux进程
调度
、
以下是Wiki中引用的一些描述
抢占
改善了延迟,提高了响应能力,使Linux更适合桌面
和
实时应用程序.旧版本的内核有一个所谓的大内核锁,用于整个内核的同步。这最终在2011年被Arnd Bergmann删除。那么,对于当前的linux内核,内核
抢占
是有条件的,上述语句成立吗?例如,如果一个进程通过进行系统调用而陷入内
浏览 5
提问于2012-12-06
得票数 5
回答已采纳
1
回答
preempt_count
() & PREEMPT_ACTIVE == 0是什么时候?
、
、
、
、
我正在查看Linux中的
调度
程序代码: if (unlikely(signal_pending_state(prev->state, prev))) {
preempt_count
() & PREEMPT_ACTIVE == 0 有人能向我解释一下
preempt_count
在thread_info中是为了什么,什么时候才能满足这个条件?
浏览 3
提问于2016-10-30
得票数 4
1
回答
自旋锁原子上下文期间的
抢占
和
休眠
、
、
、
、
我们知道,锁定自旋锁会禁用相关处理器上的
抢占
。现在,假设执行的内核代码调用了一个让进程休眠的函数。尽管有
抢占
停用,Linux内核会将处理器分配给另一个线程吗?
浏览 0
提问于2015-04-13
得票数 1
1
回答
哪个是更有效的
抢占
式
和
非
抢占
式
调度
程序?
、
、
、
、
我正在学习
抢占
式
和
非
抢占
式
调度
器,所以我想知道
抢占
式
调度
器
和
非
抢占
式
调度
器哪个更有效?或者它们的效率是一样的?或者它们只是专门用于一项任务,并且以自己的方式高效?
浏览 3
提问于2014-09-24
得票数 2
1
回答
Linux内核中是否有函数/宏来获取smp机器上当前的
抢占
状态?
、
、
、
在我的项目中,我
使用
get_cpu()
和
put_cpu()来禁用
和
启用smp机器上内核中的
抢占
。 是否有safe way来获取smp机器中当前的
抢占
状态,即是否打开或关闭
抢占
状态。
浏览 2
提问于2015-07-09
得票数 0
回答已采纳
1
回答
in_irq()可靠吗?
、
、
、
在我对内核2.6.32 (Debian 6)
和
3.4 (OpenSUSE 12.1)进行的实验中,in_irq()在从进程上下文调用时总是返回0,即使它是在local_irq_disable()
和
local_irq_enable当我
使用
spinlock函数来禁用中断而不是local_irq*时,结果是一样的。 从内核的源代码中,我目前无法看到in_irq()如何返回假阳性。有人能澄清这一点吗?编辑:我也尝试过*_irqsave()
和
*_irq()自旋锁API以及local_irq_save() / local_i
浏览 1
提问于2013-02-04
得票数 5
2
回答
谁在系统中实际执行
调度
、
我发现在就绪队列中准备执行的进程由
调度
器来控制CPU。
调度
器根据其
调度
算法选择一个进程,然后将CPU的控制交给所选进程,如果它遵循
抢占
式,则随后进行
抢占
。我想知道,如果CPU的处理单元正在被处理器
使用
,那么如果处理单元不可用,到底是谁
抢占
和
调度
进程。
浏览 1
提问于2017-08-18
得票数 2
1
回答
线程-先发制人的多任务询问与优先事项
、
、
在我的理解中,先发制人的多任务处理是这样的情况:时间片(例如,1毫秒的时间片)使
调度
程序(操作系统的
调度
器)在特定的时间跨度内(在本例中为1毫秒)将一个线程传递给CPU,然后切换到另一个线程(执行1毫秒
浏览 2
提问于2014-03-19
得票数 0
回答已采纳
2
回答
当CPU分配给用户进程时,谁在操作系统中运行
调度
程序?
、
、
、
、
如果有10个进程,
调度
器
使用
轮询策略对P1、P2...P10
和
进行
调度
,以访问CPU。现在,当Process P1正在
使用
CPU且当前时间片已过期时,需要
抢占
P1并
调度
P2。但是,既然P1正在
使用
CPU,谁会
抢占
P1并
调度
P2呢?我们可以
调度
程序做这件事,但是当CPU被P1占用时,
调度
程序是如何运行的呢?
浏览 14
提问于2014-03-12
得票数 3
1
回答
如何不禁用中断处理程序中的本地中断(获取锁)会导致双获取死锁?
、
、
如果获得锁,就意味着
preempt_count
变量不是零,这使得没有其他处理程序获得机会,因为内核不是preempt_safe。那么,在这种情况下,其他中断处理程序如何工作呢?
浏览 3
提问于2014-03-14
得票数 3
4
回答
为什么有用户上下文
和
内核上下文...unix
、
、
操作系统相关问题不知道我是否可以在这里提问当进程在用户上下文中被执行时...内核上下文中的较高优先级进程不会一直阻塞用户上下文中的进程…….
浏览 1
提问于2009-04-17
得票数 3
6
回答
协同
调度
还是
抢占
调度
?
、
、
、
提交人写道: 有谁能解释原因吗?
浏览 2
提问于2017-09-02
得票数 18
1
回答
“过程
抢占
”的确切定义是什么?
、
、
、
、
抢占
意味着将处理器从一个进程中强行拿走,并将其分配给另一个进程。操作系统(自我版本1.1),Sibsankar Haldar 因此,我理解的是,如果进程被中断(被硬件中断(即I/O中断或定时器中断)中断),我们有进程
抢占
()
和
调度
器(,在处理中断后调用)选择另一个进程来运行(根据CPU
调度
算法)。如果
调度
程序选择中
浏览 1
提问于2016-04-30
得票数 11
2
回答
任务之间的中断在非实时操作系统系统中是可能的吗?
、
如果我有一个非实时操作系统的单核系统,那么一个任务,比如taskA中断另一个任务,比如说taskB,其中taskA或taskB都不是中断例程?还是一个任务被另一个任务中断只能通过非RTOS系统上的ISR(中断服务例程)来实现?
浏览 1
提问于2016-05-30
得票数 0
回答已采纳
2
回答
优先级
调度
-
抢占
和
非
抢占
在优先
调度
和
非
抢占
调度
两个方面都有问题,并希望确保正确理解优先级
调度
。5 5由于这些进程同时出现在先发制人的情况下,P2将先运行12次,然后运行P1,但在非
抢占
状态下,会
使用
FCFS而P1首先运行,然后是P2吗?
浏览 0
提问于2021-08-10
得票数 -2
3
回答
使用
set_current_state在内核中休眠
、
、
、
、
set_current_state(TASK_RUNNING);现在,如果在第4254行之前调用kthread_stop,我们将进程设置为休眠,而就在该行之后,我们实际上被
抢占
/
调度
,并且进程也被发送到休眠状态,会发生什么呢?我想我遗漏了一些东西,可能是以下两个选项之一:(1)实际的状态更改仅在调用schedule()时发生,或者(2)我们无法在set_current_state调用之后
和
schedule()调用之前
调度
(通过
抢占
浏览 4
提问于2012-12-21
得票数 3
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
对象存储
云直播
腾讯会议
活动推荐
运营活动
广告
关闭
领券