【面试】嵌入式软件与非嵌入式软件、设备驱动与裸机驱动开发区别

嵌入式软件开发与非嵌入式软件开发区别?
设备驱动开发与裸机驱动开发区别?
嵌入式开发与传统单片机开发区别?

如果面试遇到这样的问题:
三个问题的答案一致。
答:我认为嵌入式软件与非嵌入式软件(设备驱动开发与裸机驱动开发/嵌入式开发与传统单片机开发)的最大的区别就是有无操作系统。

对于无操作系统的开发:

  1. 应用软件与驱动的耦合度过高,一旦硬件发生变化那么相对应的驱动也会发生变化,紧接着应用程序也需要做相应的修改,这样带来的后果就是我们应用程序的可移植性很差。

  2. 无操作系统的系统结构比较单一、功能简单,只能提供单任务机制而且一般软件架构通常都是在一个无限循环中对设备中断进行检测或者轮询。

  3. 它的接口驱动是不进过操作系统直接提交给软件工程师应用。

对于有操作系统的开发:

有操作系统的存在则大大降低了应用软件与硬件平台的耦合度,它充当了我们硬件与应用软件之间的纽带,使得应用软件只需要调用系统软件的应用程序接口API就可以让硬件去完成要求的开发,而应用软件则不需要关心硬件到底是如何工作的。这将大大提高我们应用程序的可移植性和开发效率。同时操作系统还有强大的任务调度机制(进程线程),支持多任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxnsirius

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值