深入理解CPU管理策略与事件驱动系统
1. 控制反转与事件驱动架构
在开发应用程序时,使用框架和工具包有着不同的控制逻辑。当使用工具包时,开发者掌控应用的主体并调用工具包中的各种函数;而使用框架时,框架复用主体,开发者提供框架调用的应用代码,控制逻辑掌握在框架而非开发者代码中。
控制反转在几乎所有事件驱动架构中都是常见现象,因为在这类架构中,是事件控制应用程序,而非应用程序控制事件。这也是大多数事件驱动基础设施自然采用框架形式而非工具包形式的原因。
2. CPU管理策略概述
事件驱动框架可以与多种执行模型协同工作,这些执行模型本质上是中央处理器(CPU)的特定管理策略。下面我们来详细了解几种基本的传统CPU管理策略及其与实时框架设计的关联。
3. 传统顺序系统
传统顺序程序始终掌控着CPU(除了CPU处理异步中断时,但中断处理完后会将控制权返回给被抢占的点)。主程序直接或间接调用的函数会请求外部输入,然后等待输入到来,输入到达后,控制权会回到发起调用的函数中继续执行。程序计数器的位置、栈上的函数调用树以及局部栈变量定义了程序在任意时刻的状态。
在嵌入式领域,传统顺序系统对应着简单前后台架构(也称为超级循环或主循环 + 中断服务例程)中的后台循环。前后台架构主要由两部分组成:及时处理外部中断的中断服务例程(前台)和调用各种函数的无限主循环(后台)。
以下是典型后台循环的控制流示例:
Busy-wait for screen update event (polling)
MainScre
深入理解CPU管理与事件驱动系统
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



