linux基础篇之操作系统(三)

    在操作系统产生之前,没有操作系统的情况下,我们的每一个程序都是直接在硬件上运行的,对不对?表现为一个一个的作业,作业运行完了,它会自动载入第二个作业,彼此之间使用一些分隔符隔开,对不对?然后是作业二等等。这时候,其实是远远无法发挥我们硬件的功能的,在这个时候,有三个组织,当时我们称为叫通用电气(GE),还有美国的电话电报公司(AT&T)的贝尔实验室(Bell),以及麻省理工大学的人工智能实验室,三个组织联合起来,去研发一个比批处理系统功能要大得多得多的多任务、多用户的系统,功能很复杂,技术很先进,当然,当时大多数都是用汇编语言来开发的,当时GE也好,贝尔也好,还有MIT也好,都贡献了大量的年轻的、杰出的计算机科学家们来负责这样的一个项目。而且这个项目后面所提供的基本功能已经实现了,能够运行多个进程,多个程序,而且还可以让多个用户同时去使用,那时候的机器都比较大,各位应该知道,那时还没有PC机,我们把它称为 MailFrame,你可以把它称为叫大型机,但实际上它也不是大型机,它的性能是很差的。比你现在的一个智能手机的性能估计也强不了多少。但是体积庞大,所以我们把它称为叫MailFrame,把它称为大型机,并不是意味着性能好,在这样的系统上,基本功能也实现了,那这帮人给它起了个名字,因为它多用户,多任务叫做,叫做Multics,叫多用途的计算系统,叫计算机系统computer system,简称为Multics。
    后来这个基本功能已经完成了,但是他们却没有停下来的意思,因此这三个组织在不停的为这个系统延展一些或者扩展一些新的功能,这个时候,由于他们已经失去了最终的目标是什么了,因此有些组织就已经不再有兴趣了,比方说GE就没兴趣了,首先退出了,然后是贝尔实验室退出,只留下MIT仍然在研发,实际上,Multics后来还是非常成功的,据说福特公司,福特汽车公司使用Multics曾经到2000年以后才下线,那因此这个系统还是非常成功的,就这个角度来讲,但是大概在71年左右的时候,贝尔实验室就退出了,为了能够参加这个项目,贝尔实验室当时招收了大量的年轻的计算机科学家来参与这个项目,那么一退出,很多的工程师就空闲起来了,这其中就包括一个叫 肯·汤姆森(Kenneth Lane Thompson)的哥们,这个人当时为Multics上研发了一个游戏,叫space travel,我们称为叫太空旅行,其实现在看起来是很丑陋的,而且当时也基本上能使用非常非常简单的VGA的图形,能显示一个飞机,能够发炮弹,能够把外来的入侵者,外星人击落之类的,大概就这个很简单的小游戏,但在当时,却是一个创作,而且它只能运行Multics上,由于贝尔实验室退出了这个项目,因此ken无法再免费使用Multics所提供的计算能力,它的游戏也无法运行了,没地方可运行,这让他很郁闷,所以他回到贝尔实验室以后,向领导申请,让领导给他一台机器,让他运行,让他能够运行他的space travel,但这是不可能的,因为要想运行Multics就必须得花钱去购买才可以,而且只装在了当时的他们所开发的那台主机上,那因此,Ken就想申请其他的主机,自己再重新进行研究,这个时候,大概已经到了1972年左右,这里我们还不得不说PDP系列的主机,在当时,各位应该知道,大概七几年的时候,最著名的生产计算机的公司除了IBM之外,还有另外一家公司叫DEC,我们称为叫 Digital Equipment Corporation,叫数字设备公司简称为DEC,这家公司当时生产的主机都是一些著名的小型机,中型机,还有大型机,它的有些小型机系列是比较受欢迎的,主要有两个,一个就是PDP系列,一个是VAX叫vax系列,pdp系列到72年的时候,大概主流版本是11 pdp-11,是它的版本号,当时Ken就申请,希望贝尔实验室的领导给他提供一个pdb-11进行研究,当然,pdb-11当时卖个几十万美元是很轻松的,所以这些领导们肯定是不批了,肯·汤姆森就很郁闷,所以心情落魄的流浪在贝尔实验室,某一天,在一个墙角布满蜘蛛网的地方,在一块破布之下,他发现了一个非常非常破旧的计算机,是个pdb-7,差了四代了,什么概念?是一个非常落后的主机,没人用了,但他却如获至宝,反正不用也是不用,待着也是待着,所以他拿着pdb开始研究,他的space travel是个应用程序,我们讲过很多次,应用程序要想运行,必须要依赖于我们的内核,对吗?

  Multics上运行的程序就是这么完成的,那因此,不得已,Ken只好自己开发一个内核,模仿此前他对于Multics的理解,开发一个最简单的,能够运行起来的内核,哎,没想到,他还真成功了,所以它的space travel运行起来了,很开心,在贝尔实验室到处炫耀,向大家去推销他的游戏,但让他更为郁闷的是没人对他的游戏感兴趣,大家都对他的这个系统感兴趣,但很遗憾的是,我们说过很多次,应用程序,尤其是汇编所开发的程序,但是pdp上面它的开发这个系统是用汇编语言写的,汇编程序是跟我们硬件平台紧密结合的,对吧?所以pdp上开发的想运行的其他系统不可以,那因此,在别人的要求之下,Ken不得不又重新将他的程序移植到其他的系主机的系列上,还别说,真移植上去了,运行的还不错,所以此后一年,它的这个系统风靡贝尔实验室,后来他的一个同事,戏虐的将他的这个系统起名字叫做unics,为什么要起这样的名字?因为当时它的这个系统的功能非常简单,所以unics和Multics就是相反的意思,这表示多项多样性的对不对?这表示唯一的,叫做unics,只是后来,才给它改名了,把cs改成x,这是unix的由来。
    当然,这个时候我们的unix依然都是使用汇编语言所研发的,性能比较不错,但是移植起来比较困难,那为了能够扭转这种劣势,当时ken汤姆森的一个同事也是一个非常著名的年轻的计算机科学家,叫丹尼斯·里奇(Dennis Ritchie),我们把他称为叫丹尼斯,丹尼斯看到了Ken在这里没事就不停的移植系统,它就突发奇想,希望能使用高级语言来重新开发unix,这样子,我们只需要使用编译器,不同的编译器在不同的平台版本上进行编译,就能够完成unix的移植了,因为高级语言对于底层硬件的依赖程度是非常低的,c说是一种高级语言,其实它也兼具低级语言的特性,当然丹尼斯有了这种想法以后,和ken两人一商量,还不谋而合,于是丹尼斯在对当时的一个脚本语言做了一次改进,给他引入了静态,给他引入了变量,就所谓的静态变量,以及引入了指针等额外的其他机制,使得这个语言摇身一变,成为了一种编译型语言,是一个升级版的语言,它叫c语言,c语言就这样在两个年轻人的手中诞生了,以后学习到shell脚本开发的时候,会解释什么叫脚本语言,什么叫静态语言,目前只需要先了解一下就可以了,而后,丹尼斯和ken汤姆森完全使用C语言重写了整个unix,不过话又说回来,这在当时是非常胆大的举动,因为高级语言的运行效率比汇编语言要低至少30%左右,在当时,这也是一个非常胆大的举动,因为当时的计算机硬件速度是非常慢的,那这就意味着他们改写后的unix性能比较差,但是他们准确的预见了未来计算机的运算能力的发展绝对是日新月异的,而且可以强大到忽略这种差异,所以他们就毫不犹豫的将unix完全完成了重写,1974年,以丹尼斯为第一署名和ken汤姆森为第二署名,他们联合发表了一篇论文,发表在美国计算机通讯杂志上,就来讲述了它的unix操作系统,计算机通信杂志每年都会举办一些年会来聚集来自全球各地的计算机科学家,研讨当今的计算机发展趋势,来自于很多高校或者科研机构的人,对他们这个系统,对他们这篇论文当中所描述的这个系统都非常有兴趣,所以期望获得一份去学习和使用。

    不过,贝尔实验室属于at&t,就是美国电报电话公司,现在已经被分拆了,像美国的北电什么的,原来都是电报电话公司的,这是一个巨无霸,所以,在美国反垄断法裁定当中,当时经裁定at&t不能销售除了电报电话以外的任何商品,不但不能销售,别人要,你还得给,而且是无偿提供,所以当别人向丹尼斯和ken索要unix的时候,他们不得已,只好无偿向他们进行提供,这些获得者,包括许多科研机构和大学,比较著名的像美国加州大学的圣塔芭芭拉分校,卡耐基梅隆,以及美国加州大学的伯克利分校等等,这在当时都非常非常有名,此后几年,大概到1976年的时候,大家知道,美国的工程师有一个非常好的福利,如果你做出了巨大贡献的话,都会有年休给你放一年假,工资照常发,爱去哪玩去哪玩,大概就这种,当然很多的人大家知道,我们搞工科的是吧?你想到时候乱玩,这个能力并非每个人都有,所以一旦年休了,他们都是到各高校去任教了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值