全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com)
不同的OS在介绍自己的机理的时候都有自己的模型或者抽象概念,ChibiOS也不例外。这里的几个概念需要做一个基本的理解:
1. 进程:可以接收输入的事件,能够根据输入事件做出对应的响应。
2. 一个OS中可能有多个进程,而进程事件可能会有OS的全局共享状态。
3. 事件到响应的路径可能有很多个,每一个对应一个或者几个集成,这样的路径组成了活动。
1. 其实前面介绍的一个活动可能是包含一系列进程以及输入事件和输出响应,而系统则是由若干这样的活动组成的。
2. 什么是非实时性的OS呢?非实时性的OS对于进程执行的截止时间是没有要求的。
3. 什么是软实时呢?所谓的软实时,也有一定的实时性的要求,而且不在预期的时间内完成进程的执行可能会导致不理想的效果,但是这不会导致灾难性的后果。
4. 什么是硬实时呢?硬实时类似软实时,不过如果进程不在预期内完成所有的处理会导致灾难性的后果。
5. 非实时的进程、软实时的进程和硬实时的进程可能同时存在于一个系统中,这一页中的这个图就是一个例子。I2到O1的一个路径经过了进程2是非实时的,这就是导致O1的输出可能会是非实时的。同时,由于进程1用到了与进程2共用的共享数据,可能也会导致进程1因此变得不可预期。
1. 如果时间尺度足够小,那么任何进程看上去都是有抖动的。从这里的示意图看,抖动的定义是最坏的时间与最好的时间的差值。
2. 一个RTOS的两个比较重要的属性是可预测性和确定性。其中,可预测性是指调度行为是可以预测的,而确定性则是说相同条件下能够产生相同的结果。
3. 有时候实时系统会跟快速系统混淆,其实相应速度并不是确认一个OS是否是RTOS的指标。
4. 另一个需要注意的点是,即使是采用了RTOS也不一定保证你的系统是一个实时系统,归根结底还得看系统设计。RTOS只是能够让这样的系统设计能够更加顺利的一个工具!