一.嵌入式底层开发为什么要选择C语言
1:嵌入式开发需要与操作系统打交道,而操作系统对实时性要求比较高,C语言适合作系统描述语言,它就是为编写操作系统而设计的。既可用来编写系统软件,也可用来编写应用软件。
2:C语言的运行速度快,执行效率高,它提供底层硬件的控制方法,是唯一能够用来编写设备驱动的高级语言。
3:C程序的书写自由,给予开发人员的控制权多,提供丰富的操作符集合,它的兼容性好,可移植性强,能适应所有的微处理器,而在嵌入式开发中,我们经常需要移植操作系统。因此它是开发嵌入式产品的最佳选择。
4:C语言的开源项目多,开源项目和社区大都是使用C语言,嵌入式开发可以直接用这些免费的开源代码,提高开发效率,降低开发成本。
二.什么是实时性?硬实时和软实时?
实时性指时钟信号能够准确的定时,各处的时钟能够达到一致。
硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
软实时系统是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。
三.Linux和unix之间点的联系与区别
主要区别UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.UNIX是商业软件,而Linux是自由软件,免费、公开源代码的.UNIX(5万美圆)而Linux免费nix和linux都是操作系统的名称.但unix这四个字母除了是操作系统名称外,还作为商标归SCO所有