0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

非抢占式内核工作过程

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-09-29 18:38 次阅读

非抢占式内核

非抢占式内核要求每个任务(线程)都做一些事情来明确放弃对 CPU 的控制,为了保持多任务并发的错觉,必须要有这一步操作。

非抢占式调度也称为协作多任务,任务相互协作以共享 CPU,异步事件仍然由 ISR 处理。ISR 可以使更高优先级的任务准备好运行,但 ISR 总是返回到被中断的任务。

只有当当前任务放弃 CPU 时,新的更高优先级任务才会获得对 CPU 的控制。

非抢占式内核的优点之一是中断延迟更低,在任务级别,非抢占内核也可以使用不可重入函数。每个任务都可以使用不可重入函数,而不必担心被另一个任务破坏。这是因为每个任务都可以在放弃 CPU 之前运行到完成。但是,不应允许不可重入函数放弃对 CPU 的控制。

使用非抢占式内核的任务级响应可能比前台/后台系统低得多,因为任务级响应现在由最长任务的时间给出。

非抢占式内核的另一个优点是较少需要通过使用信号量来保护共享数据。每个任务都拥有 CPU,你不必担心任务会被抢占。当然,这不是绝对的,在某些情况下,仍应使用信号量。共享 I/O 设备可能仍需要使用互斥信号量;例如,任务可能仍需要对打印机的独占访问。

pYYBAGM1dZaAC4xNAAIu44hGUvU762.png

(1) 任务正在执行但被中断。(2) 如果中断被使能,CPU 向量(跳转)到 ISR。(3) ISR 处理事件并使更高优先级的任务准备好运行。(4) ISR完成后,执行返回指令,CPU返回被中断的任务。(5) 任务代码在中断指令之后的指令处恢复。(6) 当任务代码完成时,它调用内核提供的服务,将 CPU 交给另一个任务。(7) 内核看到更高优先级的任务已经准备好运行,因此,内核执行上下文切换,以便它可以运行(即执行)更高优先级的任务来处理由 ISR 发出信号的事件。

非抢占式内核最重要的缺点是响应性:已准备好运行的较高优先级任务可能需要等待很长时间才能运行,因为当前任务应该及时放弃CPU使用权。

与前台/后台系统中的后台执行一样,非抢占式内核中的任务级响应时间是不确定的;你永远不知道最高优先级的任务何时才能获得 CPU 的控制权。这个操作由你的应用程序来决定怎么时候放弃对 CPU 的控制。

总而言之,非抢占式内核允许每个任务运行,直到它自愿放弃对 CPU 的控制。中断抢占任务,ISR 完成后,ISR 返回到被中断的任务。任务级响应比前台/后台系统要好得多,但仍然是不确定的,因此,很少有商业内核是非抢占式的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1336

    浏览量

    40084
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10702

    浏览量

    209373
  • 中断
    +关注

    关注

    5

    文章

    889

    浏览量

    41220
  • 嵌入式开发
    +关注

    关注

    18

    文章

    1006

    浏览量

    47353
  • ISR
    ISR
    +关注

    关注

    0

    文章

    38

    浏览量

    14358
  • 线程
    +关注

    关注

    0

    文章

    501

    浏览量

    19580
收藏 人收藏

    评论

    相关推荐

    物位仪表DOB-0DLP1H/L阻旋料位开关工作过程

    ‌阻旋料位开关‌的工作过程主要依赖于微型马达驱动监测叶片进行转动。当物料未接触到叶片时,马达正常运转,叶片持续旋转。然而,一旦物料上升至叶片位置并与其接触,叶片的转动会受到阻挡。
    的头像 发表于 09-14 16:31 114次阅读

    只读存储器的基本结构和工作过程

    只读存储器(Read-Only Memory,ROM)是一种重要的计算机存储设备,它以破坏性读出方式工作,即只能读出存储的信息而无法直接写入新的信息。这种特性使得ROM在存储固定程序和数据方面具有独特的优势。下面将详细阐述只读存储器的基本结构、
    的头像 发表于 09-05 10:43 320次阅读

    简述DMA控制器的工作过程

    DMA(Direct Memory Access)控制器的工作过程是一个复杂但高效的硬件执行过程,它实现了内存与外设之间直接的数据传输,显著减轻了CPU的负担,提高了数据处理的效率。
    的头像 发表于 08-20 10:35 198次阅读

    反馈控制的工作过程和特点

    对被控对象的精确控制。本文将详细阐述反馈控制的基本原理,包括其定义、特点、工作过程、类型以及在工业自动化中的应用等方面。
    的头像 发表于 06-17 11:48 575次阅读

    PLC移位寄存器指令的工作过程

    指令系统中非常重要的一类,它在顺序控制、物流及数据流控制等场合应用广泛。本文将详细讲解PLC移位寄存器指令的工作原理、指令格式、工作过程以及应用场景,以期为工程师和技术人员提供参考。
    的头像 发表于 06-15 17:37 953次阅读

    ADC的SNR指标 ADC的工作过程介绍

    以前的文章有讲过有讲到,ADC的工作过程,可以看成采样和量化两个步骤。
    的头像 发表于 05-28 18:18 1016次阅读
    ADC的SNR指标 ADC的<b class='flag-5'>工作过程</b>介绍

    音箱制作过程图解

    电子发烧友网站提供《音箱制作过程图解.doc》资料免费下载
    发表于 04-28 09:27 9次下载

    电路板pcb制作过程

    电路板pcb制作过程
    的头像 发表于 03-05 10:26 951次阅读

    光纤传输信息时的工作过程

    光电转换工作过程如下: 变频器主控芯片将驱动IGBT开关的信息由电信号信号转换成光信号,请问这个转换过程是通过什么电路完成的,而且传输驱动信息时是同一相的上下桥臂同时发送的,在发送端是怎么组合驱动
    发表于 02-03 11:33

    详解开关电源RCD钳位电路工作过程,为什么它能够吸收能量?

    详解开关电源RCD钳位电路工作过程,为什么它能够吸收能量?
    的头像 发表于 12-06 16:14 1036次阅读
    详解开关电源RCD钳位电路<b class='flag-5'>工作过程</b>,为什么它能够吸收能量?

    BUCK-BOOST 拓扑电源原理及工作过程解析

    BUCK-BOOST 拓扑电源原理及工作过程解析
    的头像 发表于 11-24 17:47 3927次阅读
    BUCK-BOOST 拓扑电源原理及<b class='flag-5'>工作过程</b>解析

    Cuk 拓扑电源原理及工作过程解析

    Cuk 拓扑电源原理及工作过程解析
    的头像 发表于 11-24 17:32 806次阅读
    Cuk 拓扑电源原理及<b class='flag-5'>工作过程</b>解析

    Zeta拓扑电源原理及工作过程解析

    Zeta拓扑电源原理及工作过程解析
    的头像 发表于 11-24 17:18 3500次阅读
    Zeta拓扑电源原理及<b class='flag-5'>工作过程</b>解析

    反离激隔开关电源的工作过程

    反激隔离开关电源的工作过程
    的头像 发表于 11-23 17:28 552次阅读
    反离激隔<b class='flag-5'>式</b>开关电源的<b class='flag-5'>工作过程</b>

    写字机的制作过程

    写字机的制作过程,图解,利用了core——XY的结构,详细制作图解,需要有一定制作基础的DIY同学。
    发表于 09-27 07:41