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 ...
随机推荐
- 关于excel的导入导出
目前为方便操作,很多系统都增加了批量导入导出的功能.文件导入导出一般的格式都是excel,现将常用设计用例总结如下: 批量导入 一.模板检查检测:一般excel导入,都会提供模板下载功能 1.模板 ...
- mysql日期函数 当前日期 curdate() , 当前年 year(curdate()), 取date的年份 year(date) ,取date的月份 month(date)
获取系统当前日期时间: sysdate() 获取系统当前日期:curdate() 获取系统当前时间:curtime() 获取给定日期的年份: year(date) 获取给定日期的月份:month(da ...
- mybaits接口式编程
Mybatis是接口式编程实现对.xml中sql语句的执行,其过程如下(取自慕课网视频<通过自动回复机器人学Mybatis---加强版>): 1.加载配置信息2.通过加载配置信息加载一个代 ...
- php sql uuid 32位
最近表中id需要用到此值来作为唯一主键 其含义是通用唯一识别码.具体好处及应用可百度百科,链接给你https://baike.baidu.com/item/UUID/5921266?fr=aladdi ...
- Maven详解(七)------ 创建Web工程以及插件原理
1.什么是 Maven 插件? 上一篇博客我们将了 Maven 的生命周期,我们知道 Maven 的核心是生命周期,生命周期指定了 Maven 命令执行的流程顺序.但是真正实现流程的工程是由插件来完成 ...
- string,char*,int 之间的转化
c++中经常遇到string,char*,int之间的相互转化,今天就来整理一下. 以下是转载并修改的内容: 以下是常用的几种类型互相之间的转换 string 转 int先转换为char*,再使用at ...
- 部分iphone手机上的div的点击事件无效
最近在做一个手机移动端的项目,Andrio手机和部分iphone手机上点击事件都是好的,只有在老的型号上的iphone手机上点击事件无效果. 后来在网上查了很多资料,发现有加样式cursor:poin ...
- POI设置excel某列值为文本格式
excel单元格格式默认为[常规],当某列限定必须从下拉框选择一个纯数字文本的时候,必须将单元格格式设置为[文本]. 否则即使输入的值和下拉框的一致,excel都认为输入的值是常规类型,而下拉框的值为 ...
- pycharm激活
刚刚下载了2017.1版本专业版的pycharm,作为一个天朝开发者,自然是去找注册码了.转悠了一圈,那些注册码都已经失效了.看到一个有效的方法:把http://elporfirio.com:1017 ...
- Mysql分页处理(PageHelper)
第一次做分页处理(完全不知道分页处理到底要做成什么样?) 理解:其实就是前台页面通过传递不同的参数{1.查询的条件.2.查询页数(pageNum),3每页展现的条数(pageSize)},之后我们(只 ...