Linux是一套操作系统,按照鸟哥的说法Linux提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,功能强大而且稳定性卓越。其实Torvalds先生当初在编写Linux时,其内核仅仅就只能达到“驱动386所有硬件”而已,也就是让386计算机能够接受用户输入的指令并完成相应的操作。
Unix相比于Linux,他的年龄大约比Linux大上20岁,可以算作Linux的老大哥,那么提及Linux的历史就不可能少了Unix的身影。在1969年以前,计算机还是稀缺资源,大多分布在大型公司、实验室、军方机构或是高等院校中,而且性能羸弱,采用终端/服务器的形式为用户提供服务,而且当时一台比较先进的主机也仅能提供约30台左右的终端而已。所以当时的贝尔实验室、麻省理工学院以及通用电气公司共同发起了Multics的项目,致力于开发负载终端在300台以上的大型主机,但这个项目由于进度以及资金问题导致贝尔实验室提前退出了这个项目。Ken Thompson作为贝尔实验室参与Multics项目的工程师心怀自己的想法,在项目实战中积累的经验让他萌生了自己完成操作系统内核程序的编写,并在4个月的时间内以汇编语言完成了他的构想,这个系统就是Unix的原型。由于Thompson开发的这款操作系统太过好用,所以在贝尔实验室中广为流传,后来经过Thompson以及Ritchie的合作,以C语言重新改写了Unix的内核,发出了Unix的正式版本。由于版权原因,导致了Unix不可向学生提供源码,而受此影响最大的莫过于学校里学生和教授了,没有Unix的内核源码就不能完成课程教学,这对当时的谭邦宁教授产生了极大的困惑。之后谭邦宁教授自己动手写了一个名为Minix的系统,他对这个系统的要求是不能看Unix的内核源码但又必须能够兼容Unix,历时两年的时间,他终于将其实现,但因为Minix主要只用于教育领域,而且谭邦宁教授的时间有限,所以这个系统尽管十分好用,收到众多好评,但也没有进行更高层次的发展。
以上都是Linux开发前的故事,Linux的开发者Torvalds是一名赫尔辛基大学的计算机科学系学生,因为学业与个人的兴趣,他接触了Unix系统,而当时的赫尔辛基大学仅一台能够同时提供16终端的主机,漫长的等待与性能的羸弱让托瓦兹希望自己能搞一部Unix,但要写一个内核程序谈何容易(Unix版权规定不允许对学生开放源码)。在一阵时间的学习后,他找到了一个类似Unix的系统,那就是谭邦宁教授为了教育使用专门编写的Minix系统,所以托瓦兹钻研了Minix的源码后学习到了很多内核程序设计的设计理念,这为Linux的开发奠定了基础。在贷款购买了386电脑后安装了Minix系统,由于该系统的功能有限,虽然好用却无法满足他自己的需求,所以他开始了内核程序的编写。Linux的开发不仅仅离不开托瓦兹个人的努力,还有这一个隐形的庞大团队的支持,因为托瓦兹希望他所开发的这个操作系统能够得到众多计算机爱好者的反馈,所以将其置于FTP上供大家下载,因为这个理念的支持,Linux的发展堪称迅速。这便是Linux开发的整个流程以及它与Unix系统的渊源。
Linux的一个天生的优点在于其开放性,根据Linux的开发历史便可知,其开发者托瓦兹希望能够得到更多人的建议来开发这个操作系统,所以众多的志愿者为Linux提供代码支持,这使得Linux系统的漏洞缺陷能够很快的被发现并提供相应的解决措施,相比于封闭的Windows系统而言,这是一个极大的差异。而且Linux是基于Unix概念开发出来的操作系统,继承了Unix稳定高效的优良传统,所以Linux经常被作为服务器系统使用。Linux与Windows在授权费用上也有着极大的差距,Windows作为微软的商业发行版本,其在Windows10以前的系统均收取极高的授权使用费用,对于Windows10宣称的“免费”而言,其实也不见得免费。而Linux是基于GPL授权的产物,所以任何人都可以自由的获取Linux。与Windows系统不同,Linux主机可以同时允许多人上线工作,相比于Windows的单人多任务系统要稳定许多。
当然Linux的缺点也显而易见,Linux系统的游戏支持匮乏,很少有游戏开发商愿意为Linux平台开发大型游戏,这对家用级计算机而言,是Linux不能普及的一个极大的原因。另外对于专业技能人员而言,Linux同时也缺乏对专业软件的支持。总之就是陷入一个不良的循环,Linux因为其普及有限,大多数的公司处于商业考虑难以为其开发专业和游戏软件,而Linux则因为这些软件的缺乏导致普及受到阻碍。
以上知识是在学习了《鸟哥的Linux私房菜》所得出的总结。