Linux学航_Linux的前世今生

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuehangpy/article/details/90168835

Linux的前世今生

Linux是什么(UNIX-Minix-Linux)

计算机主机由一堆硬件所组成,为了有效地控制这些硬件资源,于是乎就有操作系统的产生。

操作系统除了有效地控制这些硬件资源的分配,并提供计算机运算所需要的功能(如网络功能)之外,为了要提供程序员更容易开发软件的环境,所以操作系统也会提供一整组系统调用接口来给程序员开发用!

因此只要能够让硬件准备妥当的情况,就是一个普通的操作系统,Linux就是一个操作系统。

在这里插入图片描述操作系统指的是(系统调用和内核部分),不包括应用程序

Windows操作系统本来就是针对x86硬件架构进行的设计,所有它当然只能在x86的计算机上运行,在不同的硬件架构平台当然就无法运行,也就是说,每种操作系统都是在它专门的硬件架构上运行的,Linux由于是开源的操作系统,所以它的程序代码可以被修改成适合在各种硬件架构上面运行,Linux是具有“可移植性”,这是一个很重要的功能。

为什么说Linux是很稳定的操作系统?它是如何来的?

1969年以前:MIT与GE的“Multics”系统

当时的学校里只有一代主机可使用,如果多人要使用怎么办,20世界60年代初麻省理工学院发展了所谓的:

兼容分时系统(这个兼容分时系统可以说是近代操作系统的鼻祖,它可以让多个用户在某一段时间内分别使用CPU的资源,感觉上你会觉得大家是同时使用该主机的资源,实际上是CPU在每个用户的工作之间进行切换,在当时这可是跨时代的技术)

此时的终端只具备输入与输出功能,本身完全不具备任何运算或软件安装的能力,而且比较先进的主机大概也只能提供30个左右的终端而已。

为了强化主机功能让更用户使用主机资源,1965年前后贝尔实验室(Bell)、麻省理工学院(MIT)以及通用电器公司(GE)共同发起了Multics计划,目的是时间300个以上的终端用于联机使用,1969年前后计划进度落后,资金也短缺,所有该计划虽然在研究,但是贝尔实验室还是退出了该计划的研究工作。

1969年Ken Thompson的小型file server system

Ken Thompson为参加Multics计划中的人员之一,从该计划中收到启发。

因为自己的需求,系统开发一个小小的操作系统以供自己使用。

经过4个星期的奋斗,它终于以汇编语言写出了一组内核程序,同时包括一些内核工具程序,以及一个小小的文件系统,这个系统就是UNIX的原型。

Ken Thompson的这个文件系统有连个重要的概念:

1.所有的程序或系统设备都是文件;

2.不管程序本身还是附属文件,所写的程序只有一个目的,且要有效地完成目标。

这些概念在后来对于Linux的发展有相当重要的影响

1973年:UNIX的正式诞生

由于Ken Thompson写的那个操作系统太好用了,所以在贝尔实验室内部广为流传,并且数度经过改版。

Ken Thompson与Ritchie合作想将Unics改以高级程序语言来编写,当时现成高级程序语言有B语言,但是由于B语言所编译出来的内核性能不是很好,后来Dennis Ritchie将B语言重新改写成C语言,再以C语言重新改写并变异了Unics内核,最后命名并发行了UNIIX的正式版本。

由于UNIX是以比较高级的C语言编写,相对于汇编语言需要与硬件有密切的配合,高级的C语言与硬件的相关性没有这么大,所有,这个改变也使UNIX很容易被移植到不同的机器上。

1977年重要的UNIX分支----BSD的诞生

因为UNIX的可移植性,在1973年与加州伯克利大学合作

伯克利大学取得了内核源码后,修改成了适合自己机器的版本,并且同时增加了很多工具软件与编译器,最终命名为Berkeley Software Distribution(BSD)

1979年:重要的System V架构与版权声明

商业公司开始了UNIX的操作系统开发

早期每一家生产计算机硬件的公司还没有所谓的“协议”的概念,所有每一个计算机公司出产的硬件自然就不相同,因此他们必须要为自己的计算机硬件开发合适的UNIX系统。

早期的UNIX只能与服务器或大型工作站中使用,但是到了1979年AT&推出了system V第七版后,这个情况就有点改善了。(特别提到“不可对学生提供源码码”的严格限制。)

这一版最重要的特色是可以支持x86架构的个人计算机,也就是说system V可以在个人计算机上面安装与运行。

目前被称为“纯种的UNIX”指的就是system V以及BSD这两套软件。

1984之一:x86架构的Minix操作系统开始编写并与两年后诞生

1979年的版权声明,不能为学生提供源代码,影响最大的是学校老师,没有内核源代码如何教育学生

既然unix第七版可以移植到Intel x86架构上,那么是否可以将UNIX移植到x86上面呢!

有了这个想法Tanenbaum教授动手写了Minix这个UNIX-like内核程序,并于1986年完成,此版本也到此为止,并没有上升到很高的高度。

1984之二:GNU计划的推广

1984年,斯托曼开始奋起了GNU计划目的:

建立一个自由、开放的UNIX操作系统

斯托曼编写了gcc编译器

成立自由软件基金会

GNU的通用公共许可证

1985年为了避免GNU所开发的自由软件被其他人所利用而成为专利软件,所有他与律师草拟了有名的:“通用公共许可证”

1991年:芬兰学生Linus Torvalds的一则简讯

1991年芬兰赫尔辛基大学的Linus Torvalds在BBS上面贴了一则信息,宣城他以bash、gcc等GNU的工具写了一个小小的内核程序,该内核程序可以在intel的386机器上面运行,折让很多人感兴趣,从此开始了Linux的不平凡之路。

林纳斯.托瓦兹的Linux

与Minix之间

林纳斯.托瓦兹1969年出生,外祖父是赫尔辛基大学的统计学家,从小林纳斯.托瓦兹管理一些微型计算机

1988年林纳斯.托瓦兹顺利进入了赫尔辛基大学计算机科学系

上学期间想搞一台UNIX来玩,它购买了intel386机器,并使用了Tanenbaum教授动手写的Minix系统

对386硬件的多任务测试

为了彻底发挥386的性能,托瓦兹花了不少时间在测试386机器,它的主要测试就是测试386的多任务性能

首先,它写了3个小程序 ,一个程序会持续输出A,一个会持续输出B,最后一个会将两个程序进行切换。

它将三个程序同时执行,结果,它看到屏幕上很顺利地一直出现ABABAB,它知道,它成功了

初次发布Linux0.02

它发现Minix虽然真的很棒,但是Tanenbaum教授就是不愿意进行功能的加强,导致那些工程师在操作系统功能上面的需求无法满足。

这时候年轻的托瓦兹就上:“既然如此,那我为何不自己来改写一个我想要的操作系统?”于是他就开始了内核程序的编写。

有趣的是,因为托瓦兹放置内核的那个FTP网站的管理员将放置的目录起名为Linux,从此,大家便称这个内核为Linux

为了让自己的Linux系统兼容UNIX系统,于是托瓦兹开始参考标准的POSIX规范修改Linux

Linux的发展:虚拟团队的产生

单人维护阶段

广大黑客志愿者加入阶段

内核功能详细分工发展阶段

1994年完成了Linux内核正式版,Version 1.0

1996年完成了2.0版

2011年完成了3.0版

2015年发布了4.0版

此外还指明了企鹅为Linux的吉祥物

Linux发行版本
RPM软件管理 DPKG软件管理 其他未分类
商业公司 RHEL(Red Hat) Ubutu(Canonical Ltd.)
商业公司 suse(Mircro Focus)
网络社区 Fadora Debian Gentoo
网络社区 CentOs B2D
网络社区 openSUSE

猜你喜欢

转载自blog.csdn.net/xuehangpy/article/details/90168835
今日推荐