一、 简介
自1991年首次发行后,Linux操作系统以令人惊讶的速度迅速在服务器和桌面系统中获得了成功,已经被业界认为是未来最有前途的操作系统之一。在嵌入式领域,由于Linux操作系统开放源代码且具有良好的可移植性,它获得的关注也越来越多。
Linux操作系统是一位名叫Linus Torvalds的计算机业余爱好者编写的,当时他是一名荷兰的大学生,他的目的是想设计一个代替Minix(由一名计算机教授编写的操作系统示教程序)的操作系统,这个操作系统可用于386、486的个人计算机上,并具有Unix操作系统的全部功能,因此他开始了Linux的雏形设计。
Linux可在GNU公共许可权限下免费获取,是一个符合POSIX(可移植操作系统接口)标准的操作系统。Linux之所以受广大计算机爱好者的喜爱,主要原因有两个: 1、Linux 属于自由软件,用户无需支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对其进行任何修改,无偿使用; 2、Linux具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系的人都可以从Linux中获益。更多的名词或背景知识可以自行上网查阅。
在名词解释.上,请注意区分Linux和BSD二者使用不同的许可协议。
二、linux开发
1、linux系统开发
基于linux操作系统来开发我们的产品叫linux系统开发。此开发的编程方式和裸机开发的编程方式是截然不同的。裸机开发的编程方式是直接运行在硬件之上,不与任何操作系统关联。操作系统的存在势必要求设备驱动附加更多的代码和功能,把单一一的“驱使硬件设备行动”变成了操作系统内与硬件交互的模块。它对外呈现为操作系统的API,不再给应用软件工程师直接提供接口。由此可见,当系统中存在操作系统的时候,驱动变成了连接硬件和内核的桥梁。
linux系统开发框架,最上层的是应用软件,下面是操作系统,再下面是驱动程序,最后是我们的硬件。如果在硬件.上跑操作系统,驱动程序是位于硬件和操作系统中间的,是连接操作系统和硬件之间的桥梁。
2、linux应用开发
在操作系统上面有应用软件,应用软件程序的执行是依赖于操作系统的,应用程序需要调用linux操作系统的库函数来实现,也就是说,应用软件的程序会调用linux操作系统的函数来完成对硬件的操作,那么应用程序是不能对硬件直接进行操作的,通常会使用系统应用编程接口去实现功能,或者基于某些框架直接进行进一步功能开发。