根据自由软件基金会的定义,Linux系统是一款自由软件,它也是最为世人所熟知的自由软件之一,“自由”意着使用者可以不受限制自由使用该软件,或者将其复制并分发给其他使用者,也可以根据自身的需求对其进行合理的修改,软件的使用者享有很大的自由度。同时,Linux系统的另一特点是,它的软件发布模式为开放源代码(Open source code),也就是获得源代码的人有权将此代码散步。所以,任何个人和机构,只要遵循General Public License,便可以使用、修改和再发布Linux的所有底层源代码。
Linus Benedict Torvalds与1991年10月5日建立Linux操作系统的初衷是,为了支持英特尔x86架构的个人电脑。Linux操作系统不仅可以在普通服务器上运行,同样可以满足企业级等大型平台的要求。全球范围内,运行速度排名前十的超级电脑所配备的操作系统均为Linux操作系统,而排名五百的电脑中,它们十分之九以上均运行Linux操作系统或者其升级系统。在各种嵌入式设备上,我们也不难发现Linux 系统的身影,比如在手机市场占据一席之地的Android手机,索尼、任天堂等公司开发的新款游戏机,它们的操作系统都是以Linux 为基础的Android操作系统。除了Linux内核、实用程序和各种库,为了满足不同消费者的需求,Linux操作系统也带有五花八门的各式应用程序。因为Linux系统是自由软件,故使用者完全能够依据自己的需求进行修改[1]。
1.1.2 Linux的主要特点
1、开放性
操作系统的开放性越大,意着该系统就越能够能够遵循开放系统互联国际标准(Open System Interconnect 简称OSI)。一个软件的开发过程,越是严格遵守该标准,就越容易与其他软件相兼容,也就能够获得相对较大的市场接受度。硬件亦如此。反之,那些不遵守该标准的软件或硬件,在设备的普及方面便打了折扣。OSI的可靠性在于它提供了一个共同的基础参考值,包括计算机上各种标准,从而有效实现各种计算机互连[2]。
2、支持多用户同时访问和多任务同时编程
多用户同时访问,顾名思义,是指两个或两个以上的用户能够在同一个系统下分别掌握自己的资源,例如,一台Linux系统的电脑可以同时接纳两个USB设备,而这两个设备并不想不干扰,而是作为独立的个体运行。这是Linux乃至Unix操作系统都具有的特性[3]。
多任务同时编程,与多用户同时访问的定义相似,是指计算机能够同时执行相互独立的多个程序。在Linux系统下,每一个进程都是平等的,它们的优先级如果没有特别设置,那就是完全平级的,因此处理器并不会对它们区分对待。但实际上,每个程序调度之间有稍纵即逝的时间延迟,用户无法感知。
3、良好的用户界面
Linux系统具有两种界面:用户界面和系统调用。Shell,是Linux的传统用户界面,可on-line使用,也可以在off-line状态下运行。因为Linux操作系统具有用户根据实际要求设计自由程序的功能,所以使用可以编制程序,方便用户扩充系统功能[4]。
4、设备独立性
设备具有独立性,是指一个操作系统安装设备的驱动程序之后,用户在未了解设备的本质形式情况下,能够完全自主自由地使用这些设备。与其他同类操作系统相比,Linux 的优越性在于其内核,它可以与大部分的输入输出设备相兼容。相应的,Linux系统可以轻易与某些设备相脱离,再与另外的设备相匹配,也就是说,与其他同等类型的操作系统相比,Linux系统具有顽强的独立性。Linux操作系统也因此吸引了大批的用户,不仅仅是普通的使用者和设备销售商,更多的是有志于开发改善新程序的程序员,他们的加入,使Linux系统获得了不竭的创造力,Linux系统无时无刻不在发生改变与优化。由上文提到的自由软件和Open source code可知,人人皆可以免费获得完整的内核源代码,经过程序的修改和完善,硬件设备在不同的Linux版本下也都能够实现匹配连接。 Android系统USB的驱动程序设计(2):http://www.751com.cn/jisuanji/lunwen_20648.html