
1、简介实时和嵌入式系统的一个显著特点是对有限资源的管理。这些资源可能是CPU时间、内存、网络带宽等它们的有限性要求系统设计者必须精心管理以确保系统的高效运行。1.1 资源管理资源管理是实时和嵌入式系统设计中的一个核心问题涉及CPU时间、内存、网络带宽等有限资源的有效分配和使用。资源管理模式提供了一系列解决方案帮助开发者在设计系统时考虑资源的有限性并提供了一种方法来管理和共享这些资源。例如资源可能以原子方式提供服务这意味着客户端在需要时会以某种方式“锁定”资源防止其他客户端在原始客户端完成使用之前访问该资源。这实现了资源使用的序列化这对于具有并发线程的系统的正确操作至关重要。1.2 QoS服务质量资源有限性是指在实时和嵌入式系统中嵌入式系统所能提供的资源如CPU时间、内存、网络带宽等是有限的。这些资源的有效性可以通过一系列的服务质量QoS特性来表示。QoS是指系统或网络能够提供的服务质量包括容量、执行速度、可靠性等量化属性。在实时和嵌入式系统中QoS的量化有限性必须得到管理以确保系统能够满足实时性要求。1.3 资源模式概览本章介绍了以下几种资源模式临界区模式Critical Section Pattern用于确保资源能够完成运行。优先级继承模式Priority Inheritance Pattern限制优先级反转。最高锁定者模式Highest Locker Pattern限制优先级反转。优先级上限模式Priority Ceiling Pattern限制优先级反转并防止死锁。同时锁定模式Simultaneous Locking Pattern防止死锁。有序锁定模式Ordered Locking Pattern防止死锁。1.4 本章重点内容资源的有限性资源的有限性是实时和嵌入式系统设计的核心问题。资源模式介绍了六种资源模式每种模式都解决了特定的资源共享和管理问题。资源共享的挑战资源共享可能导致优先级反转和死锁这些模式旨在解决这些挑战。1.5 资源模式的应用这些模式提供了一系列解决方案帮助开发者在设计系统时考虑到资源的有限性并提供了一种方法来管理和共享这些资源。例如智能指针模式Smart Pointer Pattern提供了对某些类型资源这些资源是动态分配的的稳健访问。同步并发线程可以被视为资源管理第5章中的会合模式Rendezvous Pattern。2、基础概念2.1 RMA 简介标准速率单调分析Standard Rate Monotonic Analysis, RMA是实时系统中用于任务调度的一种经典算法。以下是对RMA的详细解释2.1.1 RMA的基本原理RMA是基于静态优先级的调度算法它假设系统中的任务是周期性的并且每个任务的截止时间等于它的周期。RM根据任务的请求率分配优先级周期越短优先级越高。2.1.2 RMA的适用条件为了使RMA有效必须满足以下条件任务是周期性的且截止时间等于周期。任务是独立的即任务之间没有相互依赖。系统支持无限抢占即低优先级任务可以被高优先级任务立即抢占。2.1.3 RMA的调度分析RMA通过一个数学公式来分析系统是否能够满足所有任务的截止时间。该公式考虑了每个任务的最坏情况执行时间Cj和周期Tj以及任务的数量n。如果分析结果表明系统是可调度的那么系统将始终能够满足其截止时间。2.1.4 RMA的限制RMA的一个限制是它不考虑任务之间的资源共享问题不考虑阻塞。当任务需要共享资源时可能会出现优先级反转和死锁等问题。考虑阻塞https://blog.csdn.net/ChatCoding/article/details/134497861https://blog.csdn.net/ChatCoding/article/details/1344978612.1.5 RMA的应用RMA广泛应用于实时操作系统RTOS中它为设计者提供了一种工具可以预先分析系统的调度能力。通过RMA设计者可以在系统运行之前确定任务的优先级分配是否合理从而确保系统的实时性。2.2 阻塞当一个任务因为低优先级任务占用了所需资源而无法运行时该任务被称为阻塞。阻塞问题使得系统的及时性分析变得更加困难。2.3 优先级反转优先级反转是指低优先级任务占用资源导致高优先级任务无法运行的情况。这可能导致高优先级任务无法满足其截止时间。2.4 无限优先级反转无限优先级反转是指由于资源共享导致的优先级反转问题没有上限可能导致高优先级任务被无限期地阻塞。2.5 死锁死锁是指多个任务因循环等待资源而无法继续执行的情况。死锁的发生需要以下四个条件同时满足资源互斥锁定资源必须在互斥的方式下被多个线程使用。持有和等待线程至少持有一个资源并且正在等待获取额外的资源这些资源可能被其他线程持有。资源不可抢占资源只能由持有它们的线程自愿释放。循环等待存在一种线程等待循环每个线程都在等待下一个线程所持有的资源。以上是对资源管理、QoS、RMA、阻塞、优先级反转、无限优先级反转、死锁及其发生条件的详细解释。这些概念在实时和嵌入式系统的设计和分析中至关重要了解和应用这些概念可以帮助设计出能够满足实时性要求的系统。