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的诞生史的更多相关文章

  1. [转帖]一段关于Unix与 Linux的暗黑史

    一段关于Unix与 Linux的暗黑史 https://blog.csdn.net/a343315623/article/details/51436715 微软曾经开发过 MS-DOS Xenix O ...

  2. Linux LiveCD 诞生记

    Linux LiveCD 诞生记 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...

  3. Linux 的歷史

    Unix 狹義作業系統提供應用程式及命令直譯器. 作業系統發展初期並不具可攜性. Bell, GE 及 MIT 合作開發的 "Multice" 系統( 相容分時系統 ). 1969 ...

  4. LINUX诞生

    编辑 Linux[1]  是一类Unix计算机操作系统的统称.Linux操作系统也是自由软件和开放源代码发展中最著名的例子.在1991 年的十月,由一个名为 Linus Torvalds的年轻芬兰大学 ...

  5. Linux最常用的基础命令

    Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...

  6. 计算机与linux操作系统的发展

    一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...

  7. Linux阶段总结

    Linux总结 一.学习心得: 在学习本阶段关于Linux阶段的课程时,让我对Linux有了一个大概的了解. 我了解到Linux操作系统是基于最初的Unix系统而开发出来的: 在学习Linux的时候, ...

  8. Linux基础介绍【第一篇】

    Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...

  9. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

随机推荐

  1. /etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc ~/.bash_logout 说明及区别

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一 ...

  2. javaweb中重定向和请求转发(response.sendRedirect()和request.getRequestDispatcher(rul).forward(request,response)))的区别

    先来两张图,方便理解: 可以看出,重定向时,是服务器向游览器重新发送了一个response命令,让游览器再次向url2发送请求,以获取url2的资源 而请求转发时,类似于是服务器自己向自己发了一个跳转 ...

  3. 再起航,我的学习笔记之JavaScript设计模式14(桥接模式)

    桥接模式 桥接模式(Bridge): 在系统沿着多个维度变化的同时,又不增加其复杂度并已达到解耦 从定义上看桥接模式的定义十分难以理解,那么我们来通过示例来演示什么是桥接模式. 现在我们需要做一个导航 ...

  4. go web 第二天 学习笔记

    package main import ( "crypto/md5" "fmt" "html/template" "io" ...

  5. 转每天一个linux命令(2):cd命令

      Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1 ...

  6. Servlet中Response对象应用1(输出简单文字、实现文件下载)

    通过response对象可以实现很多功能,下面的代码都是在myeclipse上实现过的,整理下路,以备后用. response对象应用1 1向客户端发送简单消息 A利用已经声明的对象,调用其getOu ...

  7. python+selenium自动化软件测试(第10章):测试驱动TDD

    测试驱动开发模式,要求开发在写业务代码的时候,先写出测试代码,同时单元测试例子决定了如何来写产品的代码,并且不断的成功的执行编写的所有的单元测试例子,不断的完善单元测试例子进而完善产品代码, 这样随着 ...

  8. Spring详解(一)------概述

    本系列教程我们将对 Spring 进行详解的介绍,相信你在看完后一定能够有所收获. 1.什么是 Spring ? Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开 ...

  9. GCC和G++区别

    原文:http://www.cnblogs.com/samewang/p/4774180.html 看的Linux公社的一篇文章,觉得不错,内容复制过来了. 其实在这之前,我一直以为gcc和g++是一 ...

  10. Spring Web MVC(三)之注解

    [toc] spring web mvc 基于注解的优化 我写的注解是按照spring web的部件分类写的,这样的话比较方便查看,大家感觉有用的话可以分享个别人,希望对对更多的人有帮助.毕竟零基础开 ...