Linux是什么?Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统(专业解释)。简单点说,就是一个比windows吊的操作系统,如果你不服,请憋着。也许有人会问什么是操作系统,这个如果解释清楚估计还是很费时间的,显然我是没有这点本事的。简单点说,新手认为就是一个接口,一个连接计算机硬件,软件和用户的程序。举个例子,凭什么双击就能打开word,保存就能把文件放到硬盘里。
Linux为啥这么厉害,不好意思今天不谈这个,新手只说说Linux的由来。很多人都知道Linux来源于unix,那么unix又怎么来的呢?那么新手就随便扯扯了,最老的家伙是批处理系统,然而它缺点很多,谁叫它是最老的呢。于是,1964年,由贝尔实验室和美国的麻省理工以及电气公司共同研制了一个多人多任务的操作系统,叫multics,多人嘛,然而这个系统比较超前,难度大,资金缺。贝尔实验室首先退出了该项目,其中一个叫ken Thompson 的人自己设计了一个叫space travel的游戏在multics上运行,然而退出了显然不能再使用multics,也就不能玩游戏了,让他非常恼火,而且multics当时很贵,一般人根本用不起,更不用说为了玩一个游戏了。我们都知道玩游戏的人都很疯狂,ken爷爷搜刮了整个贝尔,搜到了一台闲置的PDP-7机器(DEC公司的产品,已被康柏收购),他在这台机子上重写了它的游戏, 并向公司的人炫耀,然而公司人却不在意它的游戏而更在乎它的系统,他们笑称其为UNICS,与multics相反嘛。后来,大家就取其谐音叫unix了。1971年,ken爷爷终于申请到了一台先进的PDP-11,在上面重新写了unix,第一版就这么诞生了。之后,Ken Thompson 与它的好友Dennis Ritchie发现用汇编语言做移植过于恼火,于是想用高级一点的语言来编写,牛人就是牛人,他们用一款bcpl的语言开发,并整合为B语言,还是恼火,于是升级一下,c语言就出来了。他们用c语言成功重写了unix内核,显然大获成功。
后来,肯爷爷就退出了贝尔,去加州伯克利分校教书育人了,不过这个学校有个叫 Bill Joy的人,不用说这是个大牛,他组织了一个研究unix的社,研究了一个BSD的操作系统,这个就吊了,苹果系统就是基于它做的。他还贡献了TCP/IP,VI等吊的的飞起的东西,创建了SUN公司,就不吹了。既然这个BSD这么厉害,肯定也是大卖特卖了,这样贝尔就不爽了,于是他两就打起了官司,一打就是十多年。unix的发展就停滞了,然而就是这十多年,微软,苹果就发展了起来,尤其是微软做出了windows nt一下了成为了一个大头,这里比尔盖茨和乔布斯的故事也很多就不扯了。严重威胁到了unix的发展,然而当BSD和贝尔发现的时候,和解并合作已经为时已晚了。
自从贝尔加入AT&T,unix商业化,贵的吓人,一般人无法用得起,大学也是一样。尤其是对Andrew一个荷兰大学教授,本来就是一个固执的老头,显然十分恼火,于是他根据自己的教学经验和对unix的了解,仿照unix设计了一个minix操作系统,用来讲课用,这个系统很简单,很多大牛都对它进行了改进,然而Andrew老教授就是不肯把这些加入到它的源代码中,minux有个有名的学生叫Linus Torvalds,和很多大牛一样,他对该系统也不感冒,于是在minix的基础上,自己编写了一个新的操作系统内核,成为Linux。
说道Linux,就必须谈到GNU,由于unix,微软各种软件商业化,让很多程序员非常不爽,于是一个叫stallman的人发起了一场GNU计划,GNU IS NOT UNIX的简称,他认为一切软件都应该是自由的,GPL是他的宣言,一切软件都要以源代码的形式发布,任何人都可以使用,但无论你如何修改了它,你都要提供源代码,虽然有缺点,后来又推出了LGPL来改进,这是后话了。但是这种开源的做法收到了世界上许许多多的程序员的支持,并无偿为其奉献自己的力量,然而虽然软件是开源了,然而操作系统却是一大毒瘤,没有免费的可用。于是,stallman决定自己研发一套操作系统,然而不幸的是,没有研究出来。想必大家结果也猜到了,Linux和GNU冥冥之中相遇了,并完美结合,这就是大名鼎鼎的GNU/Linux了,GNU负责软件,linux负责内核,而向redhat,Debian等则是将两者结合起来发行,只是都有自己的特色。