news 2026/4/25 3:50:40

5.3 互斥量(Mutex)与递归互斥量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5.3 互斥量(Mutex)与递归互斥量

5.3 互斥量(Mutex)与递归互斥量

5.3.1 互斥量的核心目标:安全的独占访问

在FreeRTOS多任务系统中,当两个或更多任务需要访问同一共享资源(如全局变量、静态数据结构、外设寄存器或非线程安全的库函数)时,必须进行同步以避免竞态条件。竞态条件指系统输出依赖于任务执行的相对时序,这种不确定性是嵌入式系统稳定性的重大威胁。互斥量正是为解决此问题而设计的核心同步原语。

互斥量的核心语义是提供对资源的互斥访问,即任一时刻只允许一个任务进入受保护的代码区域(临界区)。在形式上,互斥量可视为一个具有特殊所有权属性的二进制信号量:

  • 持有:任务成功获取(Take)互斥量后,称为该互斥量的持有者(Owner)。
  • 释放:只有持有者才能释放(Give)该互斥量。
  • 嵌套:标准互斥量不支持嵌套获取,即持有者再次尝试获取同一互斥量将导致死锁。

这种所有权模型是互斥量与普通二进制信号量的根本区别。二进制信号量是一个“事件”,任何任务都可以给予(Signal);而互斥量是一个“令牌”,其释放必须由获取它的任务执行。FreeRTOS通过记录互斥量持有者的任务句柄来强制执行此所有权规则。

5.3.2 优先级继承协议:应对优先级反转

1. 优先级反转问题
考虑一个由三个任务(优先级高H> 中M> 低L)和互斥量Mtx保护的共享资源组成的系统:

  1. L运行并成功获取Mtx,进入临界区。
  2. H就绪,抢占LH尝试获取Mtx,发现已被L持有,于是阻塞。
  3. M就绪(此时H被阻塞,L被挂起),因优先级高于LM开始运行。

此时,高优先级任务H的阻塞时间不仅包括L持有Mtx的时间,还被迫包括完全无关的中优先级任务M的执行时间。在最坏情况下,M(或更多中优先级任务)可能无限期运行,导致H永远无法运行。这种高优先级任务因资源被低优先级任务持有,而被中等优先级任务间接无限期阻塞的现象,称为无界优先级反转,它彻底破坏了实时系统的可调度性分析。

2. 优先级继承协议机制
FreeRTOS的互斥量通过实现优先级继承协议来解决此问题。当高优先级任务H因请求已被低优先级任务L持有的互斥量而阻塞时,内核会临时将任务L的优先级提升至与H相同。该协议的运行流程如下图所示:

内核/互斥量中优先级任务 M高优先级任务 H低优先级任务 L内核/互斥量中优先级任务 M高优先级任务 H低优先级任务 L
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 17:25:47

SenseVoice Small实战:构建多语言语音转录服务

SenseVoice Small实战:构建多语言语音转录服务 1. 引言 随着人工智能技术的不断演进,语音识别已从单一文本转录发展为融合语义理解、情感分析与事件检测的综合感知系统。在这一背景下,SenseVoice Small 凭借其轻量化架构和强大的多语言支持…

作者头像 李华
网站建设 2026/4/21 4:18:24

Kotaemon安全评估:云端隔离环境,测试更放心

Kotaemon安全评估:云端隔离环境,测试更放心 在金融行业,数据安全和系统稳定性是压倒一切的优先事项。当一家金融机构需要对一个新兴的AI工具——比如Kotaemon进行安全性评估时,他们面临的核心挑战不是“能不能用”,而…

作者头像 李华
网站建设 2026/4/23 9:39:28

Qwen-Image-Edit-Rapid-AIO:零基础10分钟上手AI绘图神器

Qwen-Image-Edit-Rapid-AIO:零基础10分钟上手AI绘图神器 【免费下载链接】Qwen-Image-Edit-Rapid-AIO 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/Qwen-Image-Edit-Rapid-AIO 还在为复杂的AI绘图工具发愁吗?Qwen-Image-Edit-Rapid-AIO…

作者头像 李华
网站建设 2026/4/21 23:30:43

Open Interpreter代码生成评测:3种模型云端对比体验

Open Interpreter代码生成评测:3种模型云端对比体验 你是否也遇到过这样的困扰:想测试不同AI模型在代码生成任务中的表现,但每次切换模型都要重新配置环境、安装依赖、调试参数,费时又费力?尤其是当你要对比像Open In…

作者头像 李华
网站建设 2026/4/24 20:39:46

铜钟音乐:打造纯粹听觉体验的终极指南

铜钟音乐:打造纯粹听觉体验的终极指南 【免费下载链接】tonzhon-music 铜钟 (Tonzhon.com): 免费听歌; 没有直播, 社交, 广告, 干扰; 简洁纯粹, 资源丰富, 体验独特!(密码重置功能已回归) 项目地址: https://gitcode.com/GitHub_Trending/to/tonzhon-m…

作者头像 李华
网站建设 2026/4/22 22:52:54

智能相册开发实录:基于DamoFD的自动分类系统搭建

智能相册开发实录:基于DamoFD的自动分类系统搭建 你是不是也遇到过这样的烦恼:手机里成千上万张照片,想找某个人的合影得翻半天?朋友聚会、家庭出游、工作留念……时间一长,照片越积越多,管理起来越来越难…

作者头像 李华