前后台/裸机系统
裸机系统作为最常用的编程方式在工程逻辑不太复杂的情况下还是经常用到,至少在学校阶段基本没有遇到太多。
裸机开发主要是轮询的方式,即将所有的代码逻辑放在主函数后台进行处理,用前台程序即中断函数对事件做到实时处理

一般的大致思路是采用中断函数处理标志位 在前台函数中做事件轮询 但是这样也存在一些问题
- 实时性不高
当你的中断服务函数处理的较多时可能会存在因为处理中断服务函数而造成的系统实时性不能够保证的问题
- CPU利用率不高
因为系统始终轮询需要处理的事件,系统会运行一些不必要的代码,会影响CPU的使用效率,比如,如果有延时函数,这一段延时时间内系统就处于延时状态什么事不干。CPU并不能够有效利用
- 代码结构复杂
前后台轮询需要定义对应的flag以便在后台轮询标记和前台的响应更改当事件较多时函数的逻辑和中断服务函数之间的耦合关系就变得更加复杂,因此代码结构也相应变得复杂。当然也会有相应的解决办法 除开操作系统还有状态机实时操作系统
实时操作系统也分为两种
- 硬实时操作系统
- 软实时操作系统
RTOS的核心:任务调度