STM32(M3|前后台、抢占式、协作式

1.前后台系统
1.1基本概念
对于基于芯片的开发人员来说,应用程序一般是一个无限循环,可称为前后台系统或者超循环系统。
循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台可以叫做任务级。这种系统在处理的及时性响应较差。
中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键一定是靠中断服务程序来保证的。





2.(非占先)协作式调度器

。。。
3.占先式调度器
【STM32(M3|前后台、抢占式、协作式】。。
4.三者区别
引用:
比如:你们公司只有一间厕所(相当于CPU,假设应用系统是单处理器系统,只有一个单片机,DSP,ARM,管他是啥处理器呢)。
此时你(普通职员)正在用着厕所,这时经理来了,紧接着老板也来了,他俩都要上厕所,这时对于不同的操作系统会发生以下情形:

如果是前后台,不管是谁,都必须按先来先服务的原则使用厕所:也就是你先拉完,再轮到经理,最后才是老板(老板后来当然要等经理先用了)。

如果是协作式,那么既然你已经在使用厕所了,那么就让你拉完吧。但等你用完厕所出来后,老板就对经理说:由于我职位级别比你高,等下拉完还有重要的会议,所以我要先用厕所,于是捷足先登。经理只好在厕所外面着。

如果是占先式,只要有更高级的人在外面等,那么厕所里无论是谁,都要第一时间让出来,让最高级别的人用:这时你可惨了,即使你没有拉完也要马上出来,同时也要记住你拉的时候看的报纸看到哪里(保存现场) ,以便又轮到你用厕所时接着看;等老板用完厕所后,你先别高兴,还得继续惨,经理级别也比你高,他对你说:我的级别比你高,我先进去,等下还要见客户,于是又先于你捷足先登。最后经理出来后,then you can say:终于轮到我了。

    推荐阅读