linux发展史

Linux 发展史


6289142539.jpg@100q.jpg

说明

此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。

  

目录

一、Linux发展背景

二、UINIX的诞生

三、UNIX的重要分支-BSD的诞生

四、Minix的诞生

五、GNU与Free Software Foundation

六、Linux应时而生

七、linux发展图构

注释

  

一、Linux发展背景

自从20世纪40年代计算机诞生以来,它就以异乎寻常的速度发展着,但早期的硬件发展速度要远远高于软件的发展速度。这时操作系统虽已出现,但应用得还比较少,运行在计算机里的程序大多是为了实现某种特定的功能而编制的。程序员需要对计算机内部各种设备的原理具有很深的了解才能够写出所需要的程序。虽然如Fortran等高级语言已经出现,但程序员很多仍使用机器语言或汇编语言编制程序,这时只有极少数人才能够掌握程序的开发。

直到第三代集成电路计算机(1964-1971)时代的到来,操作系统才被越来越广泛地用于计算机内部。操作系统事实上就是对计算机各种资源(设备)的一种抽象。这些资源(设备)包括CPU(Central Processor Unit)、主存(Main Memory)、辅存(Secondary Memory)、键盘(Keyboard)和显示器(Monitor)等,并在此基础上提供一系列服务(比如文件系统)。程序员可以通过调用操作系统所提供的编程接口获得服务、对各种资源方便地进行访问,从而开发出实现特定功能的应用软件,提供给最终用户(end user)。因此这一时期涌现出更多的程序员、分析员和计算机系统专家,软件行业也得到了极大的发展。而对于最终用户而言,他们对应用软件的兴趣远远高于操作系统本身,在他们看来,操作系统几乎是透明的。这时的操作系统已由早期的单用户作业操作系统发展成多用户多任务的分时操作系统。也就是说,多个用户可以通过多个终端同时访问计算机资源。尽管一台计算机物理上只有一套处理器、内存和辅存等资源,但是通过分时机制,每个用户都会拥有一套虚拟的资源,就好像每个用户都拥有一台单独的计算机。

 

二、UINIX的诞生

1964年在Bell贝尔实验室、MIT麻神理工学院、GE美国通用电气公司共同参与研发的 Multic(MUL Tiplexed information and comuting system),是一套多人多任务的操作系统,后来因为计划进度落后,资金短缺,宣告失败。

Unics 此后在复杂的Multics计划失败后,曾经参与该计划的汤姆逊(kenneth lane thompson)正在制作一款名为“星际旅行”的游戏程序,因为一些工作需求与1969年亿DEC公司的计算机PDP-7为硬件基础,设计出unics。该系统就是最早期的UNIX的源头。

由于汤姆逊的操作系统的实用性,此后unics系统在贝尔实验室内广为流传,并且经过多次改版后于1973年将unics利用更好地C语言将unics核心改写。从此unics正式改名为UNIX。

三、UNIX的重要分支-BSD的诞生

在unix的早期发展中,有一件相当重要的事情,那就是BSD的诞生。由于C语言是一种高级语言,它可以被应用在不同的硬件架构上,而Unix本身也是由C语言写成的!在Unix发表之后,伯克利大学(Berkeley)的教授对于这个操作系统相当感兴趣,在经过取得Unix的原始码,并且几经修改之后,终于在1977年发表了第一代的BerkeleySoftware Distribution(BSD)。这个BSD是Unix的一个分支,它的发展对于Unix有相当大的影响,例如后来的Sun公司就是使用BSD发展的核心进行自己商业的Unix版本的发展的。

 

四、Minix的诞生

由于UNIX高可移植性、强大性能、无版权纠纷,商业公司开发UNIX操作系统,推出自家的主机搭配“自家”的UNIX操作系统。这些公司开发的硬件没有遵循统一的协议(当时没有),开发的UNIX操作系统及相关软件只能在自家硬件架构的主机上运行。这些公司有:AT&T、IBM、HP、DEC、Sun、Cray等。1983年AT&T推出的System V第七版UNIX,支持x86架构的个人计算机,后来AT&T出于商业考虑,发行其第七版UNIX时,提出“不可对学生提供源码”,即要将UNIX版权收回。

由于AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。

 

五、GNU与Free Software Foundation

由于Unix在商业上面的问题让许多Unix喜好者感到忧心,其中一个就是有名的Richard M. Stallman先生。他认为,Unix是一个相当好的操作系统,在这个系统上面,如果大家能够将自己所学的贡献出来,那么这个系统将会更加的优异。Stallman先生认为最大的快乐就是让自己开发的好软件让大家来使用。而且,由于每个人的工作环境(指软硬件平台)可能都不太相同,所以,他也强调应该要有Open Source的概念,让大家都能够分享彼此的心得。他认为,有了Open Source之后,个人开发的程序将有很多的人可以帮忙检验,将使得Unix社群更加的茁壮。为了自己的理想,Stallman在1984年创立了GNU与自由软件基金会(Free Software Foundation,FSF),并创作了许多“自由软件”供大众来使用。并且,对于其作品以自由(free)的GNU GeneralPublic License (GPL)的授权模式提供大众使用。FSF的核心观念是“版权制度是促进社会进步的手段,版权本身不是自然权力”。而且,Stallman的GNU General Public License一直强调Free这个字眼。他是这样说的:"Freesoftware" is a matter of liberty, not price. To understand the concept,you should think of "free speech", not "free beer"."Free software" refers to the users freedom to run, copy, distribute,study, change, and improve the software。大意是说,自由软件并不是指“免费”的,而是指具有“自由度,freedom”的软件,什么是自由度呢?也就是你在取得这个软件之后,可以自由地进行修改、进一步发表或复制在不同的计算机上。这无疑是个好消息,因为如此一来,你所拿到的软件可能原先只能在Unix上面运行,但是经过原始码的修改之后,你将可以拿他在Linux或者是Windows上面来运行。

 

六、Linux应时而生

在后来的几年内,由于计算机硬件工业的强力运作,以intel主导的x86系统架构的个人计算机大行其道,个人计算机算是相当流行的一个机器了!但在此时,人们使用的大多还是需要吃很多系统资源的DOS系列或其它的操作系统。此时,芬兰的郝尔辛基大学 (Helsinki)的一位名叫Linus Torvalds的学生做了件不寻常的事情。Linus手边有个Minix系统(这也是 Unix的分支),他对这个操作系统相当的有兴趣。此外,由于当时他正好买了一部386的计算机,所以他就想将Unix移植到个人计算机(X86架构)来使用。受Stallman提倡的Open Source运动的影响,他得以接触到一些source code。在他的努力下,他将Unix改写成可以适用于一般个人计算机的操作系统,到了1991年,他终于将0.02版的hobby放到网络上面供大家下载,并且由于hobby受到大家的肯定,相当多的朋友一起投入这个工作中。终于到了1994年将第一个完整的核心Version 1.0开发完成,并取名Linux。

由于Linux kernel的发展是由“虚拟团队”来完成的,大家都是通过网络取得Linux的核心原始码,经由自己精心改造后再回传给Linux社群,进而一步一步的发展完成完整的 Linux系统,由于这个群策群力的缘故,Torvalds先生将Linux定为同样造福大家的GNU授权模式。

至此,Linux诞生了,并在短时间内迅速风靡全球。

 

七、linux发展图构

blob.png

注释:   

① Bell 贝尔实验室

美国贝尔实验室是晶体管、激光器、太阳能电池、发光二极管、数字交换机、通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影、立体声录音,以及通信网等许多重大发明的诞生地。

② MIT麻神理工学院

麻省理工学院(Massachusetts Institute of Technology,MIT)是美国一所综合性私立大学,位于马萨诸塞州剑桥市。二次世界大战后,麻省理工学院借由美国国防科技研究需要而迅速崛起。

③ GE 通用电气

美国通用电气公司(General Electric Company,简称GE,创立于1892年,又称奇异公司,NYSE:GE),是世界上最大的提供技术和服务业务的跨国公司。

④ 协议

这里指硬件架构的通用生产协议,当时计算机硬件公司没有该概念,因此所生产的硬件需要合适的UNIX系统。

  ⑤GPL

  GPL 是General Public License的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─直有GNU通用公共授权英文原文的版本始具有此等效力。

原创文章,作者:秋季,如若转载,请注明出处:http://www.178linux.com/50817

(0)
秋季秋季
上一篇 2016-10-14
下一篇 2016-10-14

相关推荐

  • Centos图形界面和命令界面模式切换

    大家都知道,centos有两种用户界面模式,一种是图形界面,也就是我们常说的Xwindows界面;另一种就是命令界面。有时因为方便需要在图形模式下安装一些程序,因图形界面占用的内存等资源较大,影响系统的运行,安装完后需要把系统切换到命令模式下运行,下面就两种模式如何进行切换做一下说明。 CentOS的启动模式共分为7级,分别是: 0-  停机 1-…

    系统运维 2015-07-19
  • 软件包管理工具—rpm命令总结

    描述:    RPM是RedHatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用…

    Linux干货 2016-08-29
  • shell脚本编程之数组

    bash仅支持一维数组,类型声明: declare -i    : 表示数值 declare -a  :表示普通数组(默认,可不用声明类型) declare -A :表示关联数组(必须声明类型,bash需4.0以上版本才支持,可通过bash –version查看版本) 一、普通数组(用数字为下标) 1.1数组赋值(修…

    Linux干货 2015-08-24
  • python基础_1

    变量/常量 常量:一旦赋值,就不能对它从新复制。python不存在常量 字面常量:一个单独出现的量,未赋值给任何变量或者常量 变量:就是一个名字,在固执符号的左边,这个名字可以指复制符号右边的内容。 变量列子: i = 3 print(i)  注:python 是强类型语言,是动态类型语言。(强类型指类型之间不能相互计算/动态类型是指变量是可以赋值…

    Linux干货 2017-10-10
  • MairaDB之基于openssl的主从复制

    一、配置openssl   1、   在master server(node0)上根CA的搭建(及生成自签名证书) [root@node0 ~]# cd /etc/pki/CA/ [root@node0 CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048) Gen…

    2016-11-19
  • N26_第二周作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理命令:cp,mv,rm 1、cp命令 功能说明:复制copy语法格式:        单源复制:  cp [OPTION]… [-T] SOURCE DEST  …

    Linux干货 2017-02-21

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-14 11:38

    内容格式把握得很好,希望可以将这段发展史和几个关键性时间点熟知,加油!