Linux的诞生史
Linux的诞生史
目录
- Multics计划--开始
- 自由的产物-BSD
- GUN计划的产生
- 导火索MINIX
- Linux的诞生
- Linux的标志物
- Linux的现状
Multics计划--开始。
这是由麻省理工学院,通用电气和AT&T的贝尔实验室合作的操作系统项目,用于使用在GE-645大型主机上的。但是由于整个目标过于庞大,Multics虽然发布了一些产品,但是性能都很低,AT&T退出了Mulitcs项目,计划终止。肯.汤姆逊当时也参加了这个项目,很不幸,在他加入到这个项目不就,Mutilate计划就终止了。这时候GE-645依然在贝尔实验室,于是,肯.汤姆逊就继续在机器上开发软件,此时,他写了一个程序语言Bon。编写了一个太空旅行的游戏,然而,游戏运行的速度很慢,并且耗费昂贵。
后来,GE-645被搬走了,肯.汤姆逊找了几台PDP-7。在丹尼斯里奇的帮助下,汤姆逊用PDP-7的汇编语言重写了这个游戏,并在PDP-7上运行了起来,加上在MUltics项目的经验,促使汤姆逊开始在DEC PDP-7上研究如何开发操作系统。
1969年,汤姆逊提议在PDP-7上开发一个新的阶层式操作系统的计划。Multics原有成员加上Rudd Canady,都投入到这个计划。之后,写驱动,开发shell,在团队的合作下,最终做出了一个分时多任务操作系统,成为第一版UNIX。这个项目被称为UniCS(Uniplexed Information and Computing System)

汤姆逊和丹尼斯里奇
由于PDP-7的性能不太好,汤姆逊和丹尼斯里奇决定把第一版UNIX移植到PDP-11/20的机器上,在性能提升后,真正可以供多人使用(之前的只能支持两个用户),并正式改名为UNIX。后来在汤姆逊和里奇1971年共同发明出C语言之后,在1973年用C语言重写了UNIX,形成第三版。之后的Unix高歌猛进,发展迅速,并被广泛的使用。
由于此时的UNIX是几乎全免费的,所以很多机构在此基础上对UNIX进行重写,形成了各种各样的“类UNIX”版本,其中就有加州伯克莱大学分校开发的伯克莱软件包(BSD)产品。后来,贝尔实验室和AT&T分离之后,开始不再将UNIX源码授权给学术机构,并对之前的UNIX及其变种声明了版权权利,并开始了一场持久的版权官司直到Novell接手。Novell采用比较开明的方式,允许柏克莱分校自由发布自己的Unix变种,但是前提是必须将来自于AT&T的代码完全删除。
自由的产物-BSD
伯克利软件套件(英语:Berkeley Software Distribution,缩写为BSD),也被称为伯克利Unix(Berkeley Unix),是一个操作系统的名称。衍生于Unix(类Unix),1970年代由伯克利加州大学的学生比尔·乔伊(Bill Joy)开创,也被用来代表其衍生出的各种套件。
BSD常被当作工作站级别的Unix系统,这得归功于BSD用户许可证非常地宽松,许多1980年代成立的计算机公司,不少都从BSD中获益,比较著名的例子如DEC的Ultrix,以及Sun公司的SunOS。 1990年代,BSD很大程度上被System V 4.x版以及OSF/1系统所取代,但其开源版本被采用,促进了因特网的开发。
GNU计划的产生

理查·斯托曼
因为UNIX操作系统的商业化,原来的UNXI系统已经不能再被随意的使用,很多人都希望能有一款免费好用的操作系统,因为并不是每个人都很有钱,也不是每个人都能任性的自己去写操作系统,此时,理查·斯托曼在麻省理工学院人工智能实验室发起GNU计划,希望发展出一套完整的开放源代码操作系统来取代Unix,计划中的操作系统,名为GNU。 1983年9月27日,理查·斯托曼在 net.unix-wizards 和 net.usoft新闻组中公布这项计划。在此项计划中,开发出了很多我们现在熟悉的常用的工具,包括GNU编译器套装(GCC)、GNU的C库(glibc)、以及GNU核心工具组(coreutils)。另外也是GNU除错器(GDB)、GNU二进制实用程序(binutils)[15]的GNU Cash shell中[10] 和GNOME桌面环境。当然,GNU计划的目的还是开发出一款自由传播的操作系统,这个操作系统的名字叫Hurd,但是由于对操作系统的要求过高,以至于Hurd一直处于测试阶段,但是在后来的Linux加入到GNU弥补了这一空缺。
导火索MINIX

MINIX启动界面
在Unix产生后,版权在AT&T手里,在Version 7 Unix发布之后,发布新的授权条款,将Unix源码私有化,在大学不得再使用Unix源码,荷兰阿姆斯特丹自由大学计算机科学系的塔能鲍姆教授为了教学,自己写了一个类Unix的小系统,命名为MINIX(意为mini-UNIX)。
LINUX的产生

林纳斯 托瓦兹(Linus Torvalds)
我们的主角人物,林纳斯 托瓦兹(Linus Torvalds)1991年,林纳斯·托瓦兹在赫尔辛基大学上学时,对操作系统很好奇。由于但是386BSD还没有出来。可是他不喜欢他的386电脑上的MS-DOS操作系统,所以就安装了Minix,可对MINIX只允许在教育上使用很不满(在当时MINIX不允许被用作任何商业使用),于是他便开始写他自己的操作系统。
Linux的第一个版本在1991年9月被大学FTP server管理员Ari Lemmke发布在Internet上,最初Torvalds称这个内核的名称为"Freax",意思是自由("free")和奇异("freak")的结合字,并且附上"X"这个常用的字母,以配合所谓的类Unix的系统。但是FTP服务器管理员嫌原来的命名“Freax”的名称不好听,把内核的称呼改成“Linux”,当时仅有10000行程序码,仍必须运行于Minix操作系统之上,并且必须使用硬盘开机;随后在10月份第二个版本(0.02版)发布,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则消息
Hello everybody out there using minix- I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
1994年3月,Linux1.0版正式发布。为了让Linux可以在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统。
Linux的标志物

Linux的标志和吉祥物是一只名字叫做Tux的企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择企鹅作为Linux的标志。更容易被接受的说法是:企鹅代表南极,而南极又是全世界所共有的一块陆地。这也就代表Linux是所有人的Linux。
Linux的现状
今天由Linus Torvalds带领下,众多开发共同参与开发和维护Linux内核。理查德·斯托曼领导的自由软件基金会,继续提供大量支持Linux内核的GNU组件。一些个人和企业开发的第三方的非GNU组件也提供对Linux内核的支持,这些第三方组件包括大量的作品,有内核模块和用户应用程序和库等内容。Linux社区或企业都推出一些重要的Linux发行版,包括Linux内核、GNU组件、非GNU组件,以及其他形式的的软件包管理系统软件。
Linux的诞生史的更多相关文章
- [转帖]一段关于Unix与 Linux的暗黑史
一段关于Unix与 Linux的暗黑史 https://blog.csdn.net/a343315623/article/details/51436715 微软曾经开发过 MS-DOS Xenix O ...
- Linux LiveCD 诞生记
Linux LiveCD 诞生记 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...
- Linux 的歷史
Unix 狹義作業系統提供應用程式及命令直譯器. 作業系統發展初期並不具可攜性. Bell, GE 及 MIT 合作開發的 "Multice" 系統( 相容分時系統 ). 1969 ...
- LINUX诞生
编辑 Linux[1] 是一类Unix计算机操作系统的统称.Linux操作系统也是自由软件和开放源代码发展中最著名的例子.在1991 年的十月,由一个名为 Linus Torvalds的年轻芬兰大学 ...
- Linux最常用的基础命令
Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...
- 计算机与linux操作系统的发展
一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...
- Linux阶段总结
Linux总结 一.学习心得: 在学习本阶段关于Linux阶段的课程时,让我对Linux有了一个大概的了解. 我了解到Linux操作系统是基于最初的Unix系统而开发出来的: 在学习Linux的时候, ...
- Linux基础介绍【第一篇】
Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...
- Linux实战教学笔记03:操作系统发展历程及系统版本选择
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...
随机推荐
- Objective-C写出Json文件(可作配置文件)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #008f00 } span. ...
- iOS程序员的React Native开发工具集
本文整理了React Native iOS开发过程中有用的工具.服务.测试.库以及网站等. 工具 你可以选择不同的开发环境:DECO.EXPO或者你可以使用Nuclide+Atom,目前我使用EXPO ...
- JavaWeb王者归来学习笔记
JavaWeb王者归来学习笔记... Ajax王者归来: Ajax:Asynchronous JavaScript And XML -------Ajax 是一些旧有技术的结合.但却以一种新的姿态.披 ...
- C#和NewSQL更配 —— TiDB入门(可能是C#下的全网首发)
阅读目录 背景 TiDB是什么 环境部署 实战 性能测试 结语 一.背景 在上一篇尝试CockroachDB(传送门在此:http://www.cnblogs.com/Zachary-Fan/p/co ...
- 海外 App 的推送服务,试试 FCM 吧!!!
> **版权声明:** > > **本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有.** > > **每周会统一更新到这里,如果喜欢,可关注公 ...
- jquery的2.0.3版本源码系列(4):285-348行,extend方法详解
目录 1 . jquery extend的基本使用 通过285行的源码 jQuery.extend = jQuery.fn.extend = function() { ,extend方法要么是直接挂在 ...
- Django创建应用、模型、配置后台自动管理
1.创建应用 python manage.py startapp myblog 2.应用结构 3.创建模型(models.py) from django.db import models # Crea ...
- android如何与asp.net服务端共享session
近期需要实现一个功能,就是需要通过发送短信进行注册,现在想把短信验证码放到服务器的session值中,当客户端收到短信并提交短信码时由asp.net服务端进行判断,那么如何共享这个session那么需 ...
- 【DDD】领域驱动设计实践 —— 业务建模小招数
本文结合团队在ECO(社区服务系统)业务建模过程中的实践经验,总结得到一些DDD业务建模的小招数,不一定是完美的,但是对我们团队来说很有效用,希望能帮到其他人.后面会陆续将项目中业务建模的一些经典例子 ...
- ps图层面板上的【透明度】与【填充】的区别
为文字添加投影,分别调图层面板上的[透明度]与[填充]的值你就知道区别了. 如上图降低填充的数值,结果只对文字颜色有影响却对投影毫无影响. 而如上图,调整不透明度的时候对文字颜色与投影均产生效果. 这 ...