gpt4 book ai didi

linux - "linux kernel is preemptive"是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 00:13:30 47 4
gpt4 key购买 nike

我读到 Linux 内核是抢占式的,这与大多数 Unix 内核不同。那么,抢占式内核的真正含义是什么?

一些类比或例子会比纯理论解释更好。

添加 1 -- 2018 年 12 月 7 日上午 11:00

Preemptive只是多任务处理的一种范例。还有其他像Cooperative Multi-tasking .通过比较可以更好地理解。

最佳答案

在 Linux 内核版本 2.5.4 之前,Linux 内核不是抢占式的,这意味着在内核模式下运行的进程不能移出处理器,直到它自己离开处理器或开始等待某些输入输出操作完成。

一般情况下,用户态进程可以通过系统调用进入内核态。以前,当内核是非抢占式时,优先级较低的进程可以通过重复调用系统调用并保持在内核模式中来拒绝其访问处理器,从而反转优先级较高的进程的优先级。即使优先级较低的进程的时间片到期,它也会继续运行,直到它完成在内核中的工作或自愿放弃控制。如果等待运行的优先级较高的进程是用户正在键入的文本编辑器或准备重新填充其音频缓冲区的 MP3 播放器,则交互性能会很差。这种方式的非抢占式内核在当时是一个主要缺点。

关于linux - "linux kernel is preemptive"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283501/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com