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

    文章

    1372

    浏览量

    40281
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10855

    浏览量

    211592
  • 中断
    +关注

    关注

    5

    文章

    898

    浏览量

    41471
  • 嵌入式开发
    +关注

    关注

    18

    文章

    1028

    浏览量

    47563
  • ISR
    ISR
    +关注

    关注

    0

    文章

    38

    浏览量

    14426
  • 线程
    +关注

    关注

    0

    文章

    504

    浏览量

    19675
收藏 人收藏

    评论

    相关推荐

    极化整流器的作用和工作过程

    极化整流器作为电化学整流系统的重要组成部分,在电解槽的保护和稳定运行中发挥着关键作用。本文将详细阐述极化整流器的定义、作用、工作过程以及其在电解槽中的应用。
    的头像 发表于 10-11 10:27 561次阅读

    可调电源电路稳压工作过程是什么

    可调电源电路是一种电子设备,它可以提供可调节的电压和电流输出,广泛应用于电子实验、设备测试和维修等领域。稳压工作过程是可调电源电路的核心功能之一,它确保输出电压在负载变化或输入电压波动时保持稳定
    的头像 发表于 10-09 17:12 313次阅读

    RC缓冲器的工作过程介绍

    缓冲器由电阻(R)和电容(C)组成。电容作为电荷存储的介质,而电阻则提供放电路径。这种组合使得RC缓冲器能够在MOSFET关闭时储存能量,并在MOSFET导通时释放能量。 RC缓冲器的工作过程 1. 充电过程 当MOSFET关闭时,缓冲电容通过电阻R1充电。这个
    的头像 发表于 10-04 16:25 357次阅读
    RC缓冲器的<b class='flag-5'>工作过程</b>介绍

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

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

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

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

    简述DMA控制器的工作过程

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

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

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

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

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

    电气设备的组成和工作过程

    电气设备是现代工业、民用和基础设施建设中不可或缺的组成部分。它们广泛应用于发电、输电、变电、配电、用电等各个环节。本文将详细介绍电气设备的组成和工作过程。 一、电气设备的组成 电气设备主要包括以下
    的头像 发表于 06-06 09:27 2036次阅读

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

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

    接触液位传感器的工作原理

    液位传感器,作为工业自动化和过程控制中的重要组成部分,广泛应用于各种液体测量和控制系统中。根据其工作原理和应用场景的不同,液位传感器可以分为多种类型。其中,接触液位传感器以其独特的
    的头像 发表于 05-24 17:08 2795次阅读

    音箱制作过程图解

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

    电路板pcb制作过程

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

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

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

    三相变压器在工作过程中吃电吗?

    三相变压器在工作过程中吃电吗? 三相变压器在工作过程中不会吃电。变压器是一种用来改变交流电压的装置,它是由两个或更多个线圈组成的,主要用于电力传输和电力分配系统中。变压器的工作
    的头像 发表于 12-26 14:56 489次阅读