开始学习RT-Thread操作系统,在这里记录自己的学习笔记,先从RT-Thead移植开始:
裸机系统与多线程系统:
裸机系统通常分成轮询系统和前后台系统
**(1) 轮询系统**
轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情
**(2) 前后台系统*
a. 相比轮询系统,前后台系统是在轮询系统的基础上加入了中断。
b. 外部事件的响应在中断里面完成,事件的处理还是回到轮询系统中完成
c. 中断在这里我们称为前台, main 函数里面的无限循环我们称为后台
d. 在顺序执行后台程序的时候,如果有中断来临,那么中断会打断后台程序的正常执行流,转而去执 行中断服务程序
e. 在中断服务程序里面标记事件,如果事件要处理的事情很简短,则可在中断服务程序里面处理,如果事件要处理的事情比较多,则返回到后台程序里面处理。
f. 虽然事件的响应和处理是分开了,但是事件的处理还是在后台里面顺序执行的,但相比轮询系统,前后台系统确保了事件不会丢失,再加上中断具有可嵌套的功能,这可以大大的提高程序的实时响应能力。在大多数的中小型项目中,前后台系统运用的好,堪称有操作系统的效果
**(3)多线程系统**
a. 相比前后台系统,多线程系统的事件响应也是在中断中完成的,但是事件的处理是在线程中完成的。
b. 在多线程系统中,线程跟中断一样,也具有优先级,优先级高的线程会被优先执行。