Linux是一种自由和开放源码的类UNIX 操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上应用程序之后,成为 Linux 操作系统。Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。简单来说就是一个像UNIX的开源操作系统。
Multics项目
为什么像呢?这不得不从UNIX说起,UNIX也是操作系统,它是这么来的呢,一切源自Multics这个项目,早期计算机架构很难使用除了cup处理速度慢之外还有操作接口也很难用,因为那时候的输入设备只有读卡机,输出设备只有打印机,用户也无法与操作系统互动。程序有地方写错了调试起来必须重新打卡,特别麻烦并且使用者很多机器很少,为了解决这种现状美国麻省理工学院在1961年提出 相容分时系统 Compatible Time-Sharing System 缩写为 CTSS,这个操作系统可以让多个用户通过终端软件来连接大型计算机,多人同时利用计算机资源进行运算,一切好像都好起来了,有了CTSS 为啥还要开发Multics项目呢,其实CTSS操作系统最对只能带动30来个终端,为了让更多的人利用计算机资源进行运算,1964年贝尔实验室、麻省理工学院及美国通用电气公司一起参与开发这个项目,目的是连接1000部终端机,支持300的用户同时上线 也就是说Multics是CTSS的升级版,但是联合开发进度没有得到保证,贝尔实验室退出了联合开发,麻省理工学院及通用电气继续开发Multics项目。
UNIX诞生
贝尔实验室退出后有个叫肯·汤普逊的程序员这家伙可是个天才 他发明了B语言(C语言的前身)也是C语言的主创者并且在贝尔实验室九号项目中是主力开发人员,2006加入google并与同事一起参与了go语言的设计。这个汤普逊是个爱玩的人在开发Multics项目时自己开发了一款游戏叫 Space Travel 贝尔退出Multics项目后汤普逊为了能够继续玩游戏,汤普逊只好找到一台老式PDP-7机器,重写了他的“Space Travel”游戏,在把游戏移植好之后,汤普逊又着手把自己的工具扩充成完备的操作系统。汤普逊把同事叫来一起开黑,同事对他的游戏并不感冒,但是对他的操作系统非常感兴趣,于是汤普逊和丹尼斯·里奇(C语言发明者)带领这其他同事完成了文件系统、进程、设备文件、命令行解释器和一些小的工具程序,时间已经到了1970年 项目组把这个系统称为UNIC(Uniplexed Information and Computing System),早期UNIC非常简陋 在那台老式PDP-7机器只能支持两个用户,因为PDP-7的性能不佳,肯·汤普逊与丹尼斯·里奇决定把第一版UNIX移植到PDP-11/20的机器上,开发第二版UNIX。在性能提升后,真正可以提供多人同时使用,这时一个同事布莱恩·柯林汉提出UNIX来命名这个操作系统用来取代之前的UNIC,第一版的UNIC完全用汇编语言写的一些应用是由叫做B语言的解释型语言和汇编语言混合编写的,在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并于1971年共同发明了C语言,1973年汤普逊和里奇用C语言重写了Unix,形成第三版UNIX。
UNIX发展
由于贝尔实验室是隶属美国AT&T公司的,并且当时对UNIX态度不支持也不排斥,为了能让UNIX更好的发展此时与学术界伯克利大学参与了进来,由于第三版本的UNIX是以C语言开发,移植性方面要比汇编好很多,伯克利大学的比尔·乔伊在获取UNIX源码后着手修改成适合自己电脑的版本,同时增加了相应的应用程序并取名为Berkeley Software Distribution (BSD) 这个分之对UNIX非常重要,之后的FreeBSD 就是从这个演化而来,这个比尔·乔伊也是依靠着BSD创办了大名鼎鼎的SUN公司。由于当时可移植性好加上没有版权纠纷 大量的商业公司都开始研究UNIX 并AT&T自家的System V、IBM的AIX以及HP与DEC等公司, 都有推出自家的主机搭配自己的Unix操作系统。
UNIX版权纠纷
1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。1979年,版本7发布,这是最后一个广泛发布的研究型UNIX版本。不过AT&T公司处于商业的考量,想把UNIX的版权收回去,所以在发布后特别提到,不得对学生提供源码,这一举动引发了很多商业纠纷。UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,1993年Novell将SVR4的商标权利出售给了X/OPEN公司,后者成为定义UNIX标准的机构。1996年,X/OPEN和OSF/1合并,创建了国际开放标准组织,由它公布的“单一UNIX规范”定义着具有什么特征的操作系统可以冠上UNIX之名,相对地,不符合这些标准但与Unix有类似性的操作系统只能称为“类Unix”(unix-like)。这就是linux被称为类UNIX操作系统主要原因,但是linux是这么来的呢?
Linux诞生
由于AT&T公司发布System V操作系统的苛刻条款(不得对学生提供源码),这时一位叫塔能鲍姆老师急坏了,不提供源码课程还要继续怎么办呢,无奈之下只能自己开发一套系统叫Mini UNIX 简称minix,开发过程中没有使用AT&T的任何代码,在许可方式上,Minix的著作权宣告在早期被认为是相当自由的:塔能鲍姆教授在希望拿Minix作为一个公开的教材与出版社希望保护代码著作权的平衡下,它只要求一个相当低的许可费(买一个盘片就可以获取源码)。但因为它并不是一个开放源代码的许可方案,这让年纪轻轻的林纳斯·托瓦兹不爽,萌生了自己写一个操作系统的想法,单从头写是何等困难,买了minix之后开始大量学习minix的设计思想,并设计出自己的内核Linus' Minix意为Linus的Minix内核,这个内核与minix内核完全不同 这个内核和原始的Unix都采用宏内核,而minix采用的是微内核,借鉴了前面的版权问题林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替 最初林纳斯·托瓦兹称这个内核的名称为"Freax" 意思是自由("free")和奇异("freak")的结合字,并且附上"X"这个常用的字母,1991年9月被大学FTP管理员Ari Lemmke发布在互联网上,管理员嫌弃这个Freax不好听,取名Linux,此时Linux正式诞生