当前位置: 首页 > 面试题库 >

什么是抢占/什么是可抢占内核?到底有什么好处呢?

西门正平
2023-03-14
问题内容

用您自己的话解释,抢占是什么,对(linux)内核意味着什么?

拥有抢占式内核有哪些优缺点?


问题答案:

抢占式多任务处理-
在单个处理器上运行多个进程/线程,从而产生一种幻觉,即它们实际上在为每个进程/线程分配了较小的多路复用时间片以在其中运行时同时运行。当一个进程被调度为不执行并等待该进程/线程被“抢占”时,下次运行。

抢占式内核是可以在执行代码中间中断的内核(例如,响应系统调用),以执行其他操作并运行其他线程(可能不在内核中)。

抢占式内核的主要优点是系统调用不会阻塞整个系统。如果一次系统调用需要很长时间才能完成,那么这并不意味着内核此时无法执行任何其他操作。主要缺点是,这给内核代码带来了更多的复杂性,必须处理更多的最终情况,执行更细粒度的锁定或使用无锁结构和算法



 类似资料:
  • 问题内容: 我读到Linux内核是抢占式的,这与大多数Unix内核不同。那么,内核抢占到底意味着什么呢? 一些类比或示例将比纯理论解释更好。 添加2018年1月1日-11:00 AM 抢占式只是多任务处理的一种范例。还有其他类似协作多任务处理。通过比较它们可以更好地理解。 问题答案: 想象一下抢占式多任务的简单视图。我们有两个用户任务,它们都一直在运行,而没有使用任何I / O或执行内核调用。这两

  • 内核抢占点 调度本质上体现了对CPU资源的抢占。对于用户进程而言,由于有中断的产生,可以随时打断用户进程的执行,转到操作系统内部,从而给了操作系统以调度控制权,让操作系统可以根据具体情况(比如用户进程时间片已经用完了)选择其他用户进程执行。这体现了用户进程的可抢占性(preemptive)。但如果把ucore操作系统也看成是一个特殊的内核进程或多个内核线程的集合,那ucore是否也是可抢占的呢?其

  • 问题内容: 我最近正在阅读 Linux Kernel Development ,并且我有一些有关禁用抢占的问题。 在第7章的“中断控制”部分中,它表示: 此外,禁用中断也会禁用内核抢占。 我还从书中了解到,在以下情况下可能会发生内核抢占: 当中断处理程序退出时,返回内核空间。 当内核代码再次被抢占时。 如果内核中的任务显式调用schedule() 如果该内核中的任务阻塞(导致对schedule()

  • 问题内容: 我知道linux确实做了嵌套的中断,其中一个中断可以“抢占”另一个中断,但是其他任务呢。 我只是想了解linux如何处理中断。它们可以被其他用户任务/内核任务抢占吗? 问题答案: 简单答案:中断只能被更高优先级的中断所中断。 因此, 如果 中断的优先级低于内核调度程序中断优先级或用户任务中断优先级,则中断可以被内核或用户任务中断。 注意,“用户任务”是指 用户定义的中断 。

  • 我目前正在制造流程线上构建模型。目的是创建一个包含多台机器和操作员的模型。操作员在多个点执行各种任务。然而,我要求操作员遵循特定的工作时间表,并在错开的时间Rest。因此,我在每个代理内创建了时间表,以定制他们的Rest时间。 我面临的问题是,我需要操作员在Rest时间暂停当前的任务。因此,我一直在探索捕捉块中的抢占功能,但未能获得我所需要的。 我将在下面说明一个示例。假设运算符正在执行“rece

  • 主要内容:JSP的由来,Servlet与JSP异同点,JSP相对于Servlet的优点JSP(Java Server Pages)是一种动态网页开发技术。JSP 文件就是在传统的 HTML 文件中插入 Java 代码和 JSP 标签,后缀名为 。 JSP 与 PHP、ASP、ASP.NET 等语言类似,都运行在服务端。通常返回给客户端的就是一个 HTML 文件,因此只要有浏览器就能查看 JSP 页面。 JSP 使用 JSP 标签在 HTML 网页中插入 Java 代码,标签通常以