嵌入式技术
一、Linux系统的简介
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux操作系统指的是“linux内核+各种软件”,Linux这个词只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
二、Linux的由来
1、想法诞生
众所周知,linux内核是林纳斯·托瓦兹(Linus Torvalds)最先设计的。在1988年,托瓦兹进入了赫尔辛基大学,选读了计算机科学系。在学校期间,因为学业的需要与自己的兴趣,接触到了unix这个操作系统。当时整个赫尔辛基只有一部最新的UNIX系统,但是仍然很难满足托瓦兹的需求。为此,他就想到自己写一个类unix操作系统。不久之后,托瓦兹又了解到,谭宁邦教授为了教育需要而编写的Minix系统。让自己的想法更加坚定。
2、着手设计
1991年初,林纳斯·托瓦兹购买了最新的intel 386的个人计算机,安装了Minix系统,开始学习minix操作系统。经由Minix系统的源码学习到了很多的内核程序设计的设计概念。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。
3、分享与修改
当他发现自己的写的东西真的可以在386上面顺利运行,并且可以读取Minix的文件系统后,他将这个内核程序放置在当时芬兰最大的ftp网络上供大家下载,同时在BBS上面贴了一则消息,希望能获得大家的一些修改建议。因此当用户在安装使用时,发生问题,会反馈给托瓦兹。在托瓦兹能够解决的问题范围内,他能很快速的进行linux内核的更新和排错。
同时为了让自己的Linux能够兼容于UNIX系统,并让所有的软件都可以在Linux上执行,于是托瓦兹开始参考标准的POSIX规范。
POSIX是可携式操作系统接口((Portable Operating System Interface))的缩写,重点在于规范核心内核与应用程序之间的接口,这是由美国电气与电子工程师学会((IEEE))所发布的一项标准喔!
4、广大爱好者的加入
一个人的力量毕竟是有限的。有些硬件托瓦兹无法取得,因此无法编写相关驱动程序,这个时候,就有志愿者站出来帮忙写驱动程序。而且托瓦兹这个人还特别务实。只要经测试可以运行后,就会将这些程序代码加入到内核中。因为这样的状况,linux的开发逐渐模块化,可维护性也大大增加。
后来,因为Linux内核加入了太多的功能,光靠托瓦兹一个人进行内核的实际测试并加入内核源程序实在太费力,于是,就有很多的朋友跳出来帮忙。例如考克斯(Alan Cox)、与崔迪(Stephen Tweedie)等,这些重要的副手会先将志愿者的修补程序或者新功能的程序代码进行测试,并且将结果上传给托瓦兹看,让托瓦兹做最后内核加入的源码的选择与整并!这个分层负责的结果让Linux的开发更加容易!
特别值得注意的是,这些托瓦兹的Linux开发副手,以及自愿传送修补程序的黑客志愿者,其实都没有见过面,而且彼此分布在地球的各个角落,大家群策群力共同开发出现今的Linux。
5、linux正式版的发布
这群素未谋面的虚拟团队,在1994年终于完成了Linux的内核正式版Version 1.0。代码量达17万行。这一版同时还加入了X Window System的支持!此外,托瓦兹指明了企鹅为Linux的吉祥物。
1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。
三、Linux开枝散叶
1、不同distribution的产生
因为linux加入了gnu计划,所以,任何人均可取得源码和可执行这个内核程序,并且可以修改。并且由于GNU的GPL授权并非不能从事商业行为,因此很多商业公司和团队便专门来开发自己的linux distribution。比较出名的有Red Hat,SuSE,Ubuntu,Fedora,Debian,CentOS等。
2、不同distribution的支持标准
很多人不免担心,这么多distribution会不会都不相同呢?我可以告诉大家,无需担心,因为这些版本使用的都是同一个内核,而且还有Linux Standard Base(LSB)以及目录架构的File system Hierarchy Standard(FHS)标准规范等一些标准来规范开发者,它们的唯一差别可能就是该开发者自家所开发出来的管理工具以及套件管理的模式。
所以说,基本上,每个Linux distributions除了架构的严谨度与选择的套件内容外,其实差异并不太大。大家可以选择自己喜好的distribution来安装即可!
全部0条评论
快来发表一下你的评论吧 !