鸟哥的linux私房菜-服务器-1

linux之前,unix的历史

早在linux出现之前的二十年,大约就是在1970年代,就已经有了一个相当而成熟的操作系统存在了!

那就是linux的老大哥unix是的了。

怎么这么说呢,他们这两个家伙有什么关系呢。

这里就给大家说一说了。

众所周知的,linux的核心就是由linus torvalds在1991年的时候开发的。并且呢

他放在网络上提供大家下载的。

后来,大家觉得这个小东西,linux kernel,相当的小而且精巧的。

所以慢慢的就有相当多的朋友投入到这个小东西的研究领域里面去了。

但是为什么这个小东西这么棒呢?

然而又为什么大家都可以免费的下载到这个小东西呢。

我来慢慢的说一下。

1969年以前呢,有一个没有完成的小梦想的。

这个就是bell,mit和ge的multics系统了。

早起的计算机并不是像现在的个人计算机一个样子的。

他可不是一般人能够烹得其的呢。

除非是军事或者是高科技的用途,或者是学术单位的学术研究。否则,真的就是很难接触到的。

非但如此,早起的计算机的架构呢,还是比较难使用的。

除了运算速度并不快之外,操作的接口也是很困扰的。

在那个时候,写程序就是一个很可怜的事情。

因为,程序的设计者,必须要把程序相关的信息在读卡纸上面打洞。

然后再把这么一张小小的读卡纸插入卡片阅读机然后将信息读入到主机当中去运算。

光是这样就已经是很麻烦了。

如果程序有个小地方写错了。

光是重新打卡就非常惨了。

加上主机又是非常少的。使用者又是很多的。光是等待,就消耗了很多的时间了。

后来,经过操作系统的改良,后来可以使用键盘来进行信息的输入和输出了。

不过,在一个学校里面,主机可能是只有一台的,如果很多人都等待使用,那么怎么办呢?

在1960年代初期的麻省理工学院MIT发展了一个小玩意的。

兼容分时系统(compatible time-sharing system,CTSS)

它就可以让大型的主机通过提供多个终端机就是terminal,然后用联机的方式来进入主机的。

用来利用主机的资源进行运算的工作的。

架构是有点像是下面的小东西的:

主机呢就是具有运算功能的,可以将结果输出到terminal当中的了。

然后terminals仅仅是具有输入和输出的功能的,并没有相关的软件和运算的能力的。

这样的设计呢,无论主机在哪里的,只要在终端机前面进行输入和输出的作业,就可以利用主机提供的功能了。

不过,需要注意的一件事是,这个时候终端机只具有输入和输出的功能,自己是完全不具有任何运算或者软件的安装的能力的。

而且,比较先进的主机,大概也只能够提供30个不到的终端机而已了。

为了能够更加强化大型主机的系统。能够让主机的资源可以提供更多的使用者来利用。

所以在1965年前后,由贝尔实验室,就是bell,麻省理工学院MIT以及奇异公司GE共同发起了multics的计划。

multics的目的就是想要让大型主机可以达成提供300以上的终端机联合使用的目标。

不过到了1969年前后,计划的进度是非常落后的,资金也是很短缺的。是宣告失败了。

注意呀,multics有复杂,多数的意思存在的。

1969年,ken thompson的小型file server system

在人为multics计划不可能成功之后呢,贝尔实验室就退出了这个计划。

不过原本参与这个multics计划的人员当中呢,已经从这个计划当中获得一些小小的电子的。

ken thompson就是其中的一位了。

thompson因为自己的需要,希望开发一个小小的操作系统的,以提供自己的需求。

在开发的时候,有一部,DEC就是digital equipment corporation的PDP-7是没有人使用的。

于是他就准备针对这个主机,进行操作系统核心程序的编写的。

本来呢,thompson是没有时间的。有趣的是,在1969年八月份左右的时间,刚刚好thompson的老婆去了美国西部去探亲了。

于是他有了额外的一个月的时间好好的呆在家里将一些构想实现出来的。

经过了四个星期的奋斗。他终于可以用assembler语言就是汇编语言写出来一个核心的程序。

同时呢也包括了一些核心的工具程序,以及一个小小的文件系统的。

那个系统就是unix的原型了。

当时的thompson将multics庞大的复杂系统简化了不少的。

于是同实验室的朋友都戏称这个系统叫做unics。

thompson的这个文件系统里面有两个很重要的概念的,分别是下面的东西:

所有的程序或者系统的配置呢,都是文件的。

不管是用编辑器还是附属文件,所有的写的程序就是只有一个目的的,就是要有效的完成目标的。

这些概念在后来对于linux的发展是具有相当重要的影响的。

1973年,unix的正式大声,ritchie等人用C语言写出来了第一个正式的UNIX的kernel。

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

但是比较重要的改版就是发生在1973年了。

不过效能上呢,依旧不是很好的。

后来dennis ritchie用B语言重新改写成为了C语言了。

C语言算是比较高阶的程序语言了。可以在不同的机器上面运作的。

而且ritchie等人也同时将原本thompson的那个操作系统重新用C语言改写了。

最后发型了unix的正式的版本了。

在这个时候是需要特别注意的,就是贝尔实验室是属于AT&T的。

只是AT&T当时忙于其他商业活动当中。所以对于unix是采取比较开放的态度的。

此外,unix在这个时期的发展着都是贝尔实验室的工程师的。

这些工程师对于程序当然是有相当的研究了。

所以unix在这个时候当然是不容易被一般人所接受的。

这个时候,也需要特别强调,由于unix是用比较高级的语言就是C语言编写的。相对于编译语言需要和硬件有比较密切的配合。

比较高级的C语言与硬件的相关性就没有那么大了。所以,这个改变也使unix很容易被溢之到不同的机器上面的。

1977年,重要的unix分之,BSD的诞生。

前面说到了,虽然贝尔属于AI&T的。但是他们这个时候对于unix是采取开放的态度的。另外呢,unix是用比较高级的C语言编写的。

理论上市具有可以移植的特性的。

所以,只要取得了unix的原始码,并且针对大型主机的特性,修改一下原有的source code ,就可能将unix移植到另外一部不同的主机上面了。

所以在1973年之后呢,unix就和学术界合作开发了。

最重要的基础就是和berkeley大学的合作了。

伯克利大学的bill joy在获取了unix的核心代码之后,就开始修改成为适合自己机器的版本了。并且同时增加了很多工具软件和编译程序的。

最终将他命名为berkeley software distribution(BSD)。

这个BSD是unix的很重要的一个分支的。

bill joy也是unix从业者sun这个公司的创办者了。

sun公司就是用bsd发展的核心进行自己的商业的unix版本的发展的。

后来可以安装的x86赢家架构上面的freeBSD就是BSD的改版而来的。

这里我们介绍了三个人,一个是ken thompson,肯汤普森

dennis ritchie,丹尼斯里奇,一个是bill joy比尔乔

猜你喜欢

转载自blog.csdn.net/weixin_41748874/article/details/80977487
今日推荐