跑系统的单片机可以更有效地支持多任务,完成更加复杂的任务;裸奔的单片机只能进行单任务。
跑系统的单片机需要更大的存储空间用于系统程序和用户程序;裸奔的单片机对存储空间的需求较低。
没有 *** 作系统的单片机,早期也出现了一些支持多任务的底层COS。
但实质上应用COS还是要和底层硬件打交道。
当更加复杂昂贵的单片机出现后就有条件使应用开发完全与底层及其版本无关,这就是借助 *** 作系统。
少数专业的底层开发者支持了数量巨大的应用开发者,大大降低了技术和知识要求。
只需了解底层应用开发接口就可以进行应用开发。
大大加速了应用开发的进度,扩展了可进行应用开发的人群。
裸奔系统和带 *** 作系统的系统差别
1、 裸奔的系统很自由,一切东西都由开发人员来安排,所以开发人员认为这个任务比较紧急,就可以作为重点来考虑,在循环中占主要位置来写。在实时性方面,尤其是中断函数方面,可以以硬件能够达到的最快速度来响应中断,进而做出中断处理。[BZ(1] 所以在响应的时间方面,具有无可比拟的优势。但缺点也存在,因为太自由,一切东西都是白纸,所有想实现的功能都要自己完成。当系统的复杂度达到一定规模后,开发人员已经很难驾驭系统了。再者,在系统修改,并行开发方面,基本上很难。
2、 带有 *** 作系统的系统呢,首先还是讲优点,具有丰富的库函数,可以使用,只要你的需求前人曾经做过,你就可以站在巨人的肩膀上,向更高的地方攀登。再有在后期修改和维护方面,由于有了比较完善的标准,或者称为机制,都有章可依。在并行开发方面,同样的道理,多人可以遵照同一标准同时进行。事物都是有两面性的,矛盾而有对立统一的。在收获了上述便利的同时,也会付出相应的代价。在CPU上跑上 *** 作系统后,需要为 *** 作系统付出开销。 *** 作系统的时钟节拍,任务调度等等都会给CPU造成额外的工作量。再者,在实时性方面,以Linux的中断处理为例说明,Linux中的中断分为上半部和下半部,上半部暂且可以这样理解,和单片机中的中断函数很像,能够中断触发后立刻执行,其中所做的事情很少,记录中断发生的次数,唤醒下半部。下半部有点儿类似于等待中断消息的任务,平时处于阻塞状态,当中断来临时,唤醒执行。这样,下半部是依靠内核来调度的,而非由硬件直接触发执行的。这样呢,中断处理起来,实时性就明显下降了。但同时收获的好处是,中断线可以共享。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)