45、实时系统中的中断、软中断与优先级继承

实时系统中的中断、软中断与优先级继承

线程优先级与系统挂起

在多线程系统中,如果工作线程未被接收到的数据包抢占,工作线程的任务将持续运行,阻止该 CPU 上优先级较低的任务运行,最终可能导致系统挂起。若其他线程的优先级均低于工作线程,那么这些线程将无法获得 CPU 的控制权。

中断与 CPU 亲和性

在多处理器系统中,操作系统调度程序会尽量让线程在其启动的 CPU 上运行,以避免代价高昂的缓存刷新,这种特性被称为 CPU 亲和性。需要注意的是,中断请求(IRQ)线程的 CPU 亲和性由中断本身的 CPU 亲和性决定。每次中断处理程序执行时,都会将线程的 CPU 亲和性与中断的亲和性进行比较。若二者不同,则会将中断服务线程的亲和性更新为中断的亲和性。

以下是一个示例,展示了如何查看和操作中断服务线程的亲和性:

# 查看 ide0 相关中断信息
# cat /proc/interrupts | grep ide0
14:      13602       1720   IO - APIC - edge      ide0
# 查看 IRQ - 14 中断服务线程的进程 ID
# ps ax | grep IRQ - 14
790 ?        S<     0:00 [IRQ - 14]

从上述输出可知,系统使用了两个 CPU,IDE0 控制器的中断号为 14,在 CPU 0 上触发了 13602 次,在 CPU 1 上触发了 1720 次, ps 命令获取到 IRQ - 14 中断服务线程的进程 ID 为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值