Linux学习总结02—Linux的操作系统发展史(原创)

   我们都知道,在美国宾夕法尼亚大学,有那么一种计算机,叫ENIAC,这种机器耗电量是非常大,而且主机也是庞大,它诞生于1946年的2月14日的情人节,确实有纪念意义,就算是约炮也是拿着智能手机先摇一摇,好看就勾搭,不好看的就拉黑,这台计算机可并不是造福人类的,只是计算数据,我想,当时的情况是这样,在这台计算机没有出世之前,那帮工程师们计算数据通常时间是很长的,快的话两个月,要是碰上特别复杂的,三五个月肯定都有,要知道,战争年代,时间就是胜利,如果速度那么慢的话,是肯定不会让人接受的,所以宾夕法尼亚大学就开始申请研制可以解决一些特别复杂计算的方程式的计算机,研制出来之后,有原先的两个月缩减出来两天,所以,战争带来毁灭的同时,也会带来并且推动的东西。

   但是其实第一台计算机其实并不是ENIAC,而是ABC,诞生于爱荷华州立大学,是由一位导师和几个学生一同研发出来的。

   后来计算机的硬件慢慢形成,这一形成是由冯.诺依曼提起的,除了采用我在上述第一章提到的五大部件之外,采用二进制也是他提出来,(二进制由0和1组成)这个理论到现在还是主流,因为它或许是简单而又全。

   我们都知道第一台操作系统是UNIX,在早期的时候是没有操作系统的,那时候的计算机是需要打卡,一个一个孔就是1,没有孔的就是0,然后将那个小卡片依次送进计算机里面让它读,之后就通过打印机似的输出系统给显示出来,可见这是一个很麻烦的事情,当时贝尔实验室(A&AT)、通气公司、麻省理工大学等研发一款操作系统,这应该是世界上第一款操作系统,但研究的时间太长,而且进度非常缓慢,贝尔实验室就率先退出了,之后就停滞、在启动,虽然好像是研究出来了,不过并没有形成那么一种通用。

   后来贝尔实验室的人员有个叫做肯·汤普森,他之前就是参加研发那第一款操作系统的人,在贝尔实验室里写出一个多用户的操作系统—-UNIX,起初就是他玩游戏时不太爽,而且那个游戏本来就是为当时第一款操作系统所研发的,而且运行也是不太流畅,后来贝尔实验室退出之后,他就是就想自己写一个程序让自己的游戏跑起来,可问题是贝尔实验室能批下来这个事情嘛?似乎觉得也不可能,他发现了在实验室里有一个PDP-7没人用,因为那时候已经出来PDP-11了,而且贝尔实验室也是很有钱。呵呵!

   从此他空闲的时间都在这台机子上写他的程序,在70年完成,他当时让同事们看他的游戏,可同事并不关心他的游戏,而是关心他的系统,因为他系统的健壮性和易用性都非常的好,于是乎在实验室内部开始装上了UNIX,所以70年是UNIX的元年(时间具体我也是记不清了)

   但是还是很麻烦,麻烦在于它是用汇编语言写的,如果转移到另一个硬件架构上,需要写这个程序,并且要根据那个平台编译,这的确是很麻烦,在1973年的时候,他的同事丹尼斯·里奇将汇编语言B语言开始改版,加入函数等功能成为了C语言高级语言,让它的可移植性功能开始了它在世界重要的发挥作用,于是丹尼斯.里奇使用C语言来重新编写UNIX操作系统。

   后来肯.汤普森开始放假,假期一年,带薪休假(我的内心是羡慕的),他来到了伯克利分校教学,伯克利分校也组织了一个研究UNIX的社团,在汤姆森的帮助下,他们研制出一套BSD的操作系统,里面也有A&AT UNIX的源代码,不过当时A&AT当时主要生产别的业务,对于Unix来说,你想要的话你就取走,于是又很多公司都来了,比如HP、SUN以及IBM,贝尔实验室都无偿的给他们了,在后来BSD开始收费,好像是紧跟着他们也开始收费了吧(具体的我也记不清了),直到贝尔实验室一分为二,想要开始收回版权,就与BSD开始长达几十年的官司。

   这十几年也是个黄金十几年,因为苹果和微软也杀出来了,尤其是微软,这几十年挣了特别多,可他们发现的时候已经晚了,这里就不介绍微软和苹果的历史了。

   此时的Unix已经是商业化了,在1983年,有人提出,软件一切自由,于是有人就开始发起共产主义道路,这人就是理查德·马修·斯托曼,他认为软件都是自由的,不能被你们这些资本主义家占有(其实就是商业化),于是搞出了一套协议叫GNU(不叫GUN,意思是GNU is not Unix)很快就有天下义士响应(指的是那些热爱自由、不断挑战新的规则的黑客们),于是又很多开源软件在GNU协议中,比如GCC、Glib等,但是并没有人研发出一个内核程序,所以这个协议也是托了很久。

   Unix教育机构中也是不让用的,这下该怎么办呢,在1987年,安德鲁·斯图尔特编写了一套教育类的核心操作系统—-Minux,主要用于教育事业,来了解计算机的用于教学的一套操作系统,他不允许别人修改他们代码,虽然可以给你,但你不能修改内核,这下让那些热爱自由精神的组织者既高兴也是失望,高兴的是这个内核很好,失望的是这个内核不给你用(恐怕还是失望多一点)。

   在1991年的8月份,有一位计算机学生,叫做Linus,他编写一个内核,发布在FTP上,并且发布了一个帖子,很快共产主义开一次升起了冉冉星空,星星之火被再一次燎原。经过哪些虚拟团队不断的修改、添加以及测试之后,Linux诞生了,由于Linux就是一个内核,只能让计算机的硬件利用并且相互协调通信,所以GNU的那些软件也就开始跑在Linux内核之上,起初Linux并不兼容,因为它并不是兼容POSIX,因为Unix是根据POSIX规则开发的,于是在Linus有两条道路,要不就修改那些软件,要不就修改Linux内核,当然,他选择了第二条道路,此后的Linux也是一强再强,发展的速度也是非常的快。

   现在,Linux已经完全贴近我们的生活中了,虽然你看不见,可你在悄悄地使用它。

原创文章,作者:刘 祥宇,如若转载,请注明出处:http://www.178linux.com/55494

(0)
刘 祥宇刘 祥宇
上一篇 2016-10-29 22:11
下一篇 2016-10-29 23:02

相关推荐

  • 练习正则表达式

        正则表达式可以通过元字符(规则)来匹配查找相关的的字符集合。他与通配符是有区别的。而且相关的使用工具对正则表示的元字符的是有区别的。     首先我们先来了解下常用的元字符及含义(并不是所有的元字符) 字符匹配       &nbs…

    Linux干货 2015-04-15
  • N26-第一周博客作业

    1、计算机的组成及功能     CPU: Central Processing Unit 运算与管理控制功能        包括:          &nbsp…

    Linux干货 2017-01-10
  • Zabbix 新版微信告警 [2017]

    Zabbix 新版微信告警 Zabbix 新版微信告警 date 2017-06-14zabbix Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。 关于邮件报警可以参考: Zabbix 使用脚本发送…

    2017-06-17
  • Linux基础学习总结(六)

    一、创建一个10G分区,并格式为ext4文件系统; 1、要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@blog ~]# fdisk /dev/sdfCommand (m for help): nCommand action e extended p primary partition (1…

    2016-11-06
  • 为你的网络传输加把锁(OpenSSL)

    互联网形成的初期,更多关注的是设备之间通过网络相互访问功能的实现,我们都知道,两个设备之间要想相互通信,就必需遵循某种协议,于是早期的互联网也出现来众多的协议,比如传输层最著名的协议就是tcp和udp,而应用层比较著名的协议有:http、ftp、pop、smtp、dns、telnet等等,而这些协议这开发初期,更多是关注功能的实现,数据这网络上传输是明文方式…

    Linux干货 2015-12-06
  • Linux系统文件查找locate和find命令工具使用

    讲到Linux的文件查找,首先大家一般在Windows中有过查找过文件,我们知道window是以文件名结尾来识别文件的,使用一些通配符*.doc,*.txt来检索一类文件,缩小范围,实现快速定位文件,在Linux中,也有文件查找的需要不过实现的方式将更加灵活; 1)locate工具  2)find工具 1.locate Linux中也有像windo…

    Linux干货 2016-08-18