腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
5
回答
什么是抢占/什么是可抢占内核?它有什么好处?
linux
、
operating-system
、
kernel
、
preemption
用你自己的话解释,什么是抢占,它对(linux)内核意味着什么? 拥有一个可抢占的内核有什么优点和缺点?
浏览 0
提问于2009-05-03
得票数 65
回答已采纳
1
回答
"SMP先发制人RT“在‘`uname -a`’中是什么意思?
linux-kernel
根据主题,下面是uname -a的输出: Linux 4.19.82 #1 SMP PREEMPT RT Mon Mar 2 17:33:16 PST 2020 x86_64 x86_64 x86_64 GNU/Linux man uname中确实没有相关信息。
浏览 0
提问于2020-06-09
得票数 10
回答已采纳
2
回答
嵌入式Linux能满足200ms的计时要求吗?
linux
、
real-time
、
communication
我正在做一个嵌入式Linux项目,我们需要在200ms内确认来自串行端口的消息。如果我没有使用一些实时的变体,那么不可能保证Linux会在这个时间范围内响应吗?硬件将是运行Debian的200 The。当前使用的内核版本为2.6.32 #1 SMP PREEMPT。我还想知道PREEMPT在这里到底是什么意思。
浏览 0
提问于2012-11-03
得票数 1
2
回答
为什么本地CPU必须启用中断,否则不执行内核抢占?
kernel
、
interrupt
我读了“理解Linux内核”一书。我无法理解一个句子,即本地CPU必须启用本地中断,否则就不会执行内核抢占。这句话的意思是什么?
浏览 0
提问于2016-06-14
得票数 0
2
回答
Linux内核:自旋锁SMP:为什么在spin_lock_irq SMP版本中有一个preempt_disable()?
c
、
linux
、
kernel
、
spinlock
、
smp
Linux内核中的原始代码是: static inline void __raw_spin_lock_irq(raw_spinlock_t *lock) { local_irq_disable(); preempt_disable(); spin_acquire(&lock->dep_map, 0, 0, _RET_IP_); LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock); } 我认为在本地IRQ被禁用后,没有任何执行路径可以抢占当前路径。 因为所有常见的硬IRQ都被禁用,所
浏览 6
提问于2012-11-07
得票数 12
1
回答
Linux中的上下文切换内核进程
linux
、
kernel
、
context-switch
考虑进程keventd。它的整个生命周期都处于内核模式。现在,据我所知,当进程从内核模式切换到用户模式时,Linux会检查上下文切换是否到期,而据我所知,keventd永远不会从内核模式切换到用户模式,那么,Linux内核如何知道何时关闭它?
浏览 1
提问于2012-01-29
得票数 4
回答已采纳
4
回答
非抢占式linux内核上的spin_lock
locking
、
linux-kernel
、
mutex
、
spinlock
我在一篇文章中读到,在具有1CPU和非抢占式linux内核(2.6.x)的系统上,spin_lock调用等同于空调用,因此以这种方式实现。 我不能理解:它不应该等同于互斥锁上的睡眠吗?例如,即使在非抢占式内核上,中断处理程序仍然可能会执行,或者我可能会调用一个函数来使原始线程进入睡眠状态。因此,如果一个空的spin_lock调用被实现为互斥锁,那么它就不是“安全的”。 有什么我搞不懂的吗?
浏览 0
提问于2010-07-30
得票数 4
回答已采纳
2
回答
有没有人可以告诉我linux内核中schedule()函数的用法
linux-kernel
谁能告诉我linux内核中schedule()函数的用法。 谁将调度此调度程序线程。? 提前感谢
浏览 0
提问于2011-05-17
得票数 0
2
回答
内核模式下的Linux进程调度
linux
、
scheduling
以下是Wiki中引用的一些描述 Linux内核在一定条件下提供抢占式调度。在内核版本2.4之前,只有进程是抢占性的,即除了时间量过期之外,如果较高的动态优先级进程进入TASK_RUNNING状态,当前进程在用户模式下的执行将被中断。对于Linux2.6,增加了中断执行内核代码的任务的能力,尽管这样并不能抢占内核代码的所有部分。 上面还写着, 抢占改善了延迟,提高了响应能力,使Linux更适合桌面和实时应用程序.旧版本的内核有一个所谓的大内核锁,用于整个内核的同步。这最终在2011年被Arnd Bergmann删除。 那么,对于当前的linux内核,内核抢占是有条件的,上述语句成
浏览 5
提问于2012-12-06
得票数 5
回答已采纳
2
回答
为什么一个“for ()”就足以禁用或启用抢占?
c
、
linux
、
linux-kernel
、
barrier
、
preemption
从Linux内核代码中,我可以看到preempt_enable()和preempt_disable()仅仅是barrier(): #define preempt_disable() barrier() #define preempt_enable() barrier() 我不能理解。为什么只需一个barrier()就足以禁用或启用抢占?
浏览 17
提问于2015-11-23
得票数 3
1
回答
用腾讯云轻量服务器搭建L2TP只能连接1个客户端是什么原因?
VPN 连接
、
轻量应用服务器
、
腾讯云
、
vpn
、
服务器
用腾讯云上海的轻量应用服务器 装的linux,然后用docker搭建了L2TP 然后同时只能连接1个客户端 湖北公司的员工连接了以后云南公司的员工就连接不上 湖北公司断开,云南公司就可以连接上了 都是不同的账号 我用公司的服务器搭建了测试环境,模拟腾讯云的网络拓扑,实测是可以同时拨号连接的 请问这个问题要怎么解决? 很奇怪,只能连接一个客户端
浏览 501
提问于2023-05-22
1
回答
CPU核心卡在自定义驱动程序中的k线程中。
linux-kernel
当我发现内核头中有死循环的ko时,该线程在cpu内核上运行,而内核不能再运行任何其他进程。而NMI看门狗触发的次数更多:"NMI看门狗: BUG:软锁- CPU#0卡在22!普拉迪普:1403“。 为什么? ko代码是(我从网络上复制的代码可能有错误,ko不能是rmmod (是的,我知道)): #include<linux/init.h> #include<linux/module.h> #include<linux/kernel.h> #include<linux/kthread.h> #include<linux/sched.h
浏览 3
提问于2017-03-20
得票数 4
回答已采纳
9
回答
说"linux内核是抢先的“是什么意思?
linux
、
linux-kernel
、
multitasking
、
preemption
我读到Linux内核是抢占式的,这与大多数Unix内核不同。那么,内核先发制人到底意味着什么呢? 一些类比或例子会比纯粹的理论解释更好。 新增1 -- 2018年12月7日11:00 AM 只是多任务处理的一种范例。还有其他像这样的网站。通过比较它们可以更好地理解它们。
浏览 1
提问于2011-03-12
得票数 34
回答已采纳
2
回答
非抢占式内核(Linux)控制路径中的上下文切换
linux
、
kernel
、
preemption
Linux内核是非抢占式的,但我刚刚读到在不同的控制路径中可能会有上下文切换。这是否与Linux内核的非抢占式特性相矛盾?
浏览 1
提问于2010-05-23
得票数 2
回答已采纳
1
回答
关于抢占式和非抢占式内核
linux-kernel
这是我关于抢占式和非抢占式内核的观点。由于中断处理过程是在内核中实现的,这是否意味着嵌套中断只能在抢占式内核中发生?
浏览 3
提问于2011-03-19
得票数 1
回答已采纳
2
回答
在可抢占的Linux内核中,调度器或一些关键的内核线程是否可以被抢占?
linux
、
linux-kernel
、
scheduler
、
schedule
、
preemption
在可抢占的Linux内核中,调度器或一些关键的内核线程是否可以被抢占?在中断处理程序(上半部分或下半部分)中呢?
浏览 2
提问于2015-01-19
得票数 2
2
回答
如何避免在用户模式下抢占线程?
c++
、
linux
、
critical-section
、
interrupt
、
preemption
我有一段简单的确定性工作,只需13台机器指令就能完成。由于第一条指令采用自制的信号量(spinlock),而最后一条指令释放它,所以在其他内核上运行的所有其他线程都可以安全地接收并发出相同的信号量。 当某个线程在信号量完成“关键部分”之前中断一个线程时,问题就出现了。最糟糕的情况是,中断会在保持信号量的同时杀死线程,或者可能发生的情况是,通常竞争信号量的线程中有一个分支到代码中,这些代码可以生成中断,导致死锁。 当其他线程分支到我无法控制的代码部分时,我没有办法与它们同步。我认为我需要禁用中断,就像我以前运行在内核模式下的VxWorks时一样。它总是十三个指令,我永远是完全安全的,如果我可以完
浏览 4
提问于2012-04-09
得票数 5
4
回答
先发制人线程与非抢占线程
linux
、
multithreading
、
unix
、
pthreads
有人能解释一下先发制人的线程模型和非抢占线程模型的区别吗? 根据我的理解: Non抢占式线程模型:一旦线程启动,就不能停止,或者在线程完成其任务之前不能将控件传输到其他线程。Preemptive线程模型:运行时允许在任何时候从一个线程进入并将控制交给另一个线程。优先级较高的线程优先于优先级较低的线程。 谁能请你: 如果理解是correct.Explain,那么解释了这两种模型的优点和缺点。是什么时候使用真正有帮助的东西的例子。如果我在Linux (system或P线程)中创建线程,而没有提到任何选项(有吗?),?默认情况下,所使用的线程模型是抢占式线程模型??。
浏览 6
提问于2010-11-10
得票数 70
回答已采纳
2
回答
“流程优先化”有多老了?(即Windows任务管理器设置进程优先级等)
multithreading
、
process
进程优先级是一种窗口技术还是旧的linux技术。 Windows 95似乎没有任务管理器中的进程优先级,但Windows 2k中有。 我相信进程优先级=内核抢占..我一直在沿着这些路线寻找。
浏览 0
提问于2013-03-13
得票数 0
1
回答
线程-先发制人的多任务询问与优先事项
multithreading
、
time
、
operating-system
在我的理解中,先发制人的多任务处理是这样的情况:时间片(例如,1毫秒的时间片)使调度程序(操作系统的调度器)在特定的时间跨度内(在本例中为1毫秒)将一个线程传递给CPU,然后切换到另一个线程(执行1毫秒,然后切换回第一个线程等等--假设只有两个线程,为了简单起见)。参考资料: 与先发制人的多任务处理不同的是优先级的概念--操作系统以数字形式设置应用程序的优先级,例如1到39,等等--这是目前所不关心的。 这样做的好处是,如果一个应用程序挂起,时间切片器就会返回到另一个线程(假设这个线程属于另一个应用程序,第一个应用程序已经挂起)并继续正常工作。然后你可以关闭挂起的应用程序。参考资料: 现在我不
浏览 2
提问于2014-03-19
得票数 0
回答已采纳
3
回答
抢占式调度算法
operating-system
可以将具有优先级的先来先服务算法描述为抢占式调度算法吗?
浏览 0
提问于2013-02-28
得票数 1
回答已采纳
4
回答
一个内核怎么可能是非抢占的,并且仍然有多个控制路径?
linux-kernel
在我不久前学过的一门操作系统课程中,我们正在开发一个旧的、非抢占性的Linux内核(2.4.X)。但是,我们被告知内核中可能同时存在多个控制路径。这不违背内核的非抢占性吗?编辑:我的意思是,内核中没有上下文切换。上一次我试图问这个问题时,我得到了这样的回答:“嗯,Linux内核是抢占性的,所以没有问题”。
浏览 1
提问于2010-08-22
得票数 0
回答已采纳
4
回答
在从源代码配置/编译时选择“完全抢占内核(实时)”时出错
linux
、
kernel
、
linux-kernel
、
configuration
、
real-time
我试图用最新的稳定PREEMPT_RT修补程序(5.4.28-rt19)编译5.4内核,但由于某些原因,无法在menconfig/menconfig中选择完全抢占内核(RT)选项。 我以前编译过4.19RT修补程序,它非常简单,只需将当前的配置(/boot/config-4.18-xxx)复制到新的.config中,这个选项就会显示出来。现在我只看到: No Forced Preemption (Server) Voluntary Kernel Preemption (Desktop) Preemptible Kernel (Low-Latency Desktop) 如果我将F4按为"
浏览 0
提问于2020-04-23
得票数 3
回答已采纳
4
回答
Linux2.6的“实时性”如何?
linux
、
embedded
、
real-time
我正在考虑将我的产品从RTOS迁移到嵌入式Linux。我没有太多的实时需求,我只有几个RT需求,大约是10s毫秒。 谁能给我指个参考资料,告诉我Linux当前版本的实时性如何? 从商业RTOS迁移到Linux还有其他的问题吗?
浏览 2
提问于2009-09-01
得票数 29
回答已采纳
2
回答
操作系统中的抢占和非抢占资源示例
resources
、
operating-system
、
preemptive
根据我的理解,在操作系统中,抢占资源( Preemptive resources )指的是那些可以从进程中取出而不会对进程造成任何不良影响的资源,而非抢占资源是那些不能在不造成任何不良影响的情况下从进程中提取的资源。 我有兴趣了解这些先发制人和非先发制人的资源的例子,在两个不同的类别,即硬件资源和软件资源。 通常,当人们给出示例时,就是这些硬件资源,但我不确定w.r.t软件资源的示例。
浏览 4
提问于2014-09-18
得票数 0
1
回答
为什么我们需要在调用runtime.Gosched和其他类似的原子操作之后调用atomic.AddUint64?
multithreading
、
go
、
atomic
通过。代码示例在调用runtime.Gosched后调用atomic.AddUint64。 atomic.AddUint64被调用为 不幸的是,我发现这个解释不那么丰满和令人满意。 我尝试运行示例代码(为了简洁起见删除了注释): package main import "fmt" import "time" import "sync/atomic" import "runtime" func main() { var ops uint64 = 0 for i := 0; i < 50; i+
浏览 2
提问于2015-10-19
得票数 3
4
回答
为什么linux在内核代码持有自旋锁后禁用内核抢占?
kernel
、
driver
、
spinlock
、
preemption
我是Linux新手,正在阅读Rubini & Corbet的Linux设备驱动程序手册。我对一项与spinlocks有关的声明感到困惑;这本书写道 如果一个非抢占的单处理器系统在锁上旋转,它将永远旋转;没有其他线程能够获得CPU来释放锁。因此,在不启用抢占的单处理器系统上的自旋锁操作被优化为什么也不做,除了更改IRQ掩蔽状态的操作。 书中还说 内核抢占情况由自旋锁代码本身处理。当内核代码持有自旋锁时,相关处理器上将禁用抢占。即使是单处理器系统也必须以这种方式禁用抢占功能,以避免出现争用情况。 问:在单处理器系统上,当内核代码(代表用户进程执行)持有自旋锁时,如果内核抢占
浏览 1
提问于2013-08-15
得票数 4
回答已采纳
8
回答
为什么你抱着自旋锁不能入睡?
linux
、
kernel
在linux内核中,为什么你不能在持有自旋锁的时候睡觉呢?
浏览 2
提问于2011-01-21
得票数 13
回答已采纳
1
回答
在Linux中,两个优先级相同的SCHED_FIFO任务是否在每个时间段内获得处理时间?
linux
、
scheduler
、
scheduling
、
cfs
在Linux中,两个优先级相同的SCHED_FIFO任务是否在每个时间段内获得处理时间,而这两个任务都没有在周期结束前完成? Linux说,只有优先级更高的进程才能抢占SCHED_FIFO进程,但我的理解是,CFS在更高的层上运行,并在每个时间段内为这两个任务分配时隙。
浏览 3
提问于2018-07-07
得票数 1
回答已采纳
1
回答
持有自旋锁时的内核抢占
linux
、
operating-system
、
linux-kernel
在linux内核中,如果在持有自旋锁的同时启用了内核抢占,死锁是如何发生的?
浏览 2
提问于2011-03-07
得票数 2
回答已采纳
2
回答
非抢占式Pthread?
linux
、
multithreading
、
pthreads
有没有办法在没有调度器的情况下使用pthread,这样只有当线程显式地让步,或者在mutex/cond上被阻塞时,才会发生上下文切换?如果不是,有没有办法最小化调度开销,以便强制上下文切换尽可能少发生? 这个问题指的是在Linux下实现gcc/g++的POSIX线程。
浏览 5
提问于2011-09-23
得票数 3
回答已采纳
4
回答
为什么有用户上下文和内核上下文...unix
unix
、
operating-system
、
scheduling
操作系统相关问题不知道我是否可以在这里提问 但我想我会在这个论坛上得到适当的解释 当进程在用户上下文中被执行时...内核上下文中的较高优先级进程不会一直阻塞用户上下文中的进程…… 它对我来说是模糊的。概念 .
浏览 1
提问于2009-04-17
得票数 3
2
回答
Lua中的线程优先级
multithreading
、
lua
、
thread-priority
我看过Lua的书,了解到Lua中的多线程是协作的。我找不到的是一些关于线程优先级的信息,我猜具有相同优先级的线程会一直运行到完成,因为多线程是协作的,否则就会完成一次让步。如果一个线程比另一个线程具有更高的优先级呢? 它是否能够中断优先级较低的线程,或者当优先级较低的线程运行到完成时,它会继续运行?
浏览 5
提问于2013-04-11
得票数 3
2
回答
内核模式抢占
linux
、
linux-kernel
、
operating-system
我理解新的linux内核允许抢占内核空间线程。有人能简要解释一下在内核模式下执行时抢占是如何工作的吗?因此,当进行系统调用时,软件中断会将线程切换到内核模式,并运行所需的程序。现在,让我们说它的时间片已经结束了,另外一个用户线程正在运行,它还想在内核空间中执行。(或者可能是h/w中断)。内核如何维护被中断时为T1修改的任何结构的完整性?
浏览 7
提问于2015-01-07
得票数 4
回答已采纳
1
回答
为什么Linux内核不对交互程序进行优先排序?
kernel
、
scheduling
、
priority
我已经注意到,当运行到100%时,GNOME之类的东西就会变得不那么有响应性,直到我结束了预期需要很长时间的后台任务,比如编译或下载电子邮件。为什么linux内核不给予要求实时响应性的程序更高的优先级? 顺便说一下,我是在Fedora的新安装上运行内核版本4.0的。
浏览 0
提问于2015-07-07
得票数 1
3
回答
Delphi中的抢占式多线程
multithreading
、
delphi
、
preemptive
我读过关于抢占式多线程和的文章。 有没有办法在Delphi中做到这一点?与相比(优点和缺点)如何?
浏览 0
提问于2010-11-19
得票数 4
回答已采纳
2
回答
当切换到用户模式时,非抢占内核和抢占内核之间有什么区别?
linux
、
linux-kernel
、
operating-system
、
kernel
、
preemption
我正在阅读“理解Linux内核,第3版”,在第5章“内核抢占”一节中,它说: 所有进程开关都由switch_to宏执行。在抢占内核和非抢占内核中,当进程完成某个内核活动线程并调用调度程序时,就会发生进程切换。但是,在非抢占内核中,除非即将切换到用户模式,否则不能替换当前进程。 我仍然看不到非抢占内核和抢占内核之间的区别,因为您需要等待当前进程切换到用户模式的任何方式。 假设有一个进程p在内核模式下运行,其时间长度过期,则调用scheduler_tick(),并设置p的NEED_RESCHED标志,但是只有当p切换到用户模式时才调用schedule() (对吗?) 那么,如果p从来没有切
浏览 1
提问于2016-10-23
得票数 5
回答已采纳
1
回答
为什么preempt_disable不增加preempt_count返回的值?
linux-kernel
#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/semaphore.h> MODULE_LICENSE("GPL"); int init_module(void) { printk("preempt_count: %d\n", preempt_count()); preempt_disable(); printk("preempt_count: %
浏览 3
提问于2014-09-13
得票数 1
回答已采纳
1
回答
为什么在Linux内核中执行递归自旋锁定时系统冻结
c
、
linux
、
linux-kernel
、
synchronization
、
linux-device-driver
我知道linux内核不支持递归自旋锁,它会死锁。 我写了一个示例代码来查看行为,即使我有多个CPU,系统也会冻结。这是预期的行为吗? #include <linux/kernel.h> #include <linux/module.h> #include <linux/spinlock.h> MODULE_LICENSE("GPL"); DEFINE_SPINLOCK(my_lock); static int __init test_hello_init(void) { spin_lock(&my_lock);
浏览 3
提问于2019-09-21
得票数 1
2
回答
当任务正在执行关键部分但需要在禁用抢占的单处理器系统上调度时,会发生什么情况?
linux-kernel
、
kernel
、
scheduling
、
spinlock
、
preemption
下面是一个场景。假设内核任务运行在禁用抢占的单处理器系统上。任务获得一个自旋锁。现在它正在执行它的关键部分。此时,如果用于此任务的可用时间片过期且必须调度,怎么办? spin_lock有防止这种情况的机制吗? 能安排一下吗?如果是,那么关键部分会发生什么? 它能被IRQ打断吗?(假设已禁用抢占) 这种情况可行吗?换句话说,这种情况会发生吗? 从内核代码中,我了解到spin_lock基本上是一个禁用抢占的单处理器上的nop。准确地说,它所做的就是barrier() --我理解为什么它是一个nop (因为它是一个单处理器,并且没有其他任务可以在那个时刻操作数据),但是我仍然
浏览 2
提问于2019-01-24
得票数 0
1
回答
Linux内核:为什么在使用每个CPU变量时会禁用抢占?
linux-kernel
、
preemptive
我从linux内核中查看这个宏,它与处理cpu特定的变量有关。 #define get_cpu_var(var) \ (*({ \ preempt_disable(); \ this_cpu_ptr(&var);
浏览 4
提问于2018-03-21
得票数 0
回答已采纳
5
回答
TIF_NEED_RESCHED是做什么的?
linux-kernel
TIF_NEED_RESCHED在Linux调度程序(例如CFS)中的用途是什么?在编写新的调度类时,可以使用此标志吗?如果是,在何处以及如何将此标志用于新的调度类?
浏览 4
提问于2013-09-02
得票数 4
回答已采纳
1
回答
当持有pthread锁时,线程可以被抢占吗?
linux
、
kernel
、
posix
当pthread持有一个锁(互斥、rwlock或自旋锁)时,它可以被抢占吗?我读了内核代码,当持有一个锁的内核时,它不能被抢占,对吗?
浏览 0
提问于2018-09-06
得票数 0
3
回答
抢占和上下文切换的区别
architecture
、
kernel
、
arm
、
rtos
稍微介绍一下, 我目前正在编写一个小的(读小的) RTOS内核,好吧,它应该与内核中的大部分内容保持一致。然而,我在下面列出的几件事情上找不到多少信息,这将是很有帮助的,除此之外,它实际上不是某种大学项目,而是我自己愿意做的事情。 是回答所有问题的更好的选择,如果您可以为arm推荐一本免费的RTOS (甚至是一本免费的书),最好是,它实现了用户空间,并且是可抢占的(但不像linux那样复杂)。Linux有一些我迄今所见过的最糟糕的文档(我确实尝试从linux代码中找出一些东西,但在100万个文件和函数钩子中散布了大量的定义,其中有wierd名称和一些东西被重命名,每个版本有时也会被移动.)
浏览 3
提问于2012-07-22
得票数 8
回答已采纳
1
回答
在Linux文档中,下面这句话是什么意思?
linux
、
linux-kernel
在Linux内核源代码中,文件Documentation/scheduler/sched-arch.txt包含以下行。 您的cpu_idle例程需要遵守以下规则: 先发制人现在应该禁用空闲例程。应该只启用调用schedule(),然后再次禁用。 我对Linux内核世界比较陌生,所以我可以为cpu_idle例程的实现者想到三种可能的解释。 我们应该假定先发制人是禁用的。 我们应该验证是否禁用了抢占。 我们应该确保先发制人被禁用。 有更多核心经验的人知道正确的解释吗?
浏览 2
提问于2017-01-08
得票数 3
回答已采纳
1
回答
在硬件I/O期间,抢占是如何工作的?
hardware
、
io
假设我有一个使用SPI或其他通信协议与运行Linux的计算机对话的设备,例如Raspberry Pi。为了使此通信成功,不允许中断,因为否则将错过发送或接收数据的时间窗口。然而,Linux不正是这样做的吗?中断进程并执行上下文切换以运行下一个进程?如果由于某种原因,在我描述的情况下没有发生这种情况,为什么不呢?为什么桌面没有被冻结呢? 此外,我们如何保证当时钟信号高或低时,对等方会准确地写入/读取数据?当时钟发生变化时,如果对等方正在做其他事情,而不是监视时钟,该怎么办?即使在Arduino中,当Arduino可能在做其他事情时,通过串行方式保存在缓冲区中的数据又是怎样的呢?
浏览 0
提问于2020-11-21
得票数 1
回答已采纳
1
回答
为什么spin_lock_irqsave需要在多处理器上禁用抢占
kernel
、
spinlock
、
preemption
只是好奇为什么spin_lock_irqsave需要在禁用本地中断后禁用抢占。 static inline unsigned long __raw_spin_lock_irqsave(raw_spinlock_t *lock) { unsigned long flags; local_irq_save(flags); preempt_disable(); ===> can preemption happen with interrupt disabled? spin_acquire(&lock->dep_map, 0, 0, _RET_IP
浏览 2
提问于2014-11-30
得票数 2
2
回答
为什么只有当preempt_count == 0时内核抢占才是安全的?
multithreading
、
linux-kernel
、
preemption
Linux内核2.6引入了一个新的每个线程字段--preempt-它在获得/释放锁时会递增/减少。该字段用于允许内核抢占:“如果设置了need_resched,而preempt_count为零,那么一个更重要的任务是可运行的,抢占是安全的。” 根据Robert的:“那么什么时候重新安排是安全的呢?内核能够抢占运行在内核中的任务,只要它不持有锁。” 我的问题是:为什么当任务持有锁时抢占内核中运行的任务是安全的呢? 如果另一个任务被调度并试图抓取锁,它将阻塞(或者一直旋转到它的时间片结束),这样我们就不会在相同的关键部分中同时获得两个线程。谁能勾勒出一个有问题的场景,以防我们抢先一个在内核模式下持
浏览 4
提问于2017-11-27
得票数 2
回答已采纳
1
回答
如何识别GKE抢占节点事件
kubernetes
、
google-kubernetes-engine
在一个可抢占的节点实际上被抢占之前,有什么方法可以判断吗?我可以知道GCE会在事件发生时记录它( compute.instances.preempted事件),但是在它发生之前是否有一种方法可以告诉它,以便我可以采取预防措施呢? 谢谢
浏览 3
提问于2020-07-08
得票数 0
回答已采纳
1
回答
CONFIG_RT_GROUP_SCHED与PREEMPT_RT的差异?
linux-kernel
、
real-time
、
scheduling
我刚刚开始使用实时Linux系统,似乎可以使用两种不同的方法: 在“普通”Linux内核中配置CONFIG_RT_GROUP_SCHED参数 将PREEMPT_RT修补程序应用于“正常”Linux内核 我似乎无法理解两者之间的区别。它们是否为同一问题提供了替代解决办法?它们甚至在同一个逻辑层次上吗? 提前谢谢你。
浏览 20
提问于2020-07-16
得票数 1
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
自己怎么学习Linux?嵌入式Linux怎么学?
泸州老窖特曲提价,小步快跑式涨价抢占渠道
什么是嵌入式Linux?嵌入式工程师为什么一定要学嵌入式Linux?
嵌入式 Linux 系统的组件
体验 DebianDog:Puppy 式的 Debian Linux
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券