前后台系统:
前后台系统中所有的任务都是平级的,它们在无限循环的后台(while(1)的大循环)中运行或者等待运行条件的到来,一个任务的运行必须等待上一个任务运行结束。当然,单片机为了能够处理紧急的任务,设置了中断机制来处理紧急任务。我们把中断称为前台。所以前台程序可以中断后台程序的运行,获得资源先运行起来,等中断任务处理结束后,再回到原来后台任务的断点处,继续运行。但是由于中断本身要花费时间在断点的处理上面,大量使用中断会占用资源,浪费时间。
RTOS系统:
RTOS将任务分成了不同等级,总是让优先级高的任务先运行。同样,中断可以打断所有任务,来处理紧急任务。因为高等级的任务总是能先获得资源运行起来,所以可以满足对某些任务的时效性要求。
前后台系统和RTOS对比:
前后台系统:开发简单,对硬件资源要求不高,适合简单的小型应用场景
RTOS系统:实时监管硬件资源,可分配不同任务的优先等级,极大的提高CPU的利用率。适合有庞大繁多任务的场景。