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

相关推荐

  • 新的学期,新的开始:新的起点,新的终点!

    马哥教育Linux面授30期,

    2018-03-26
  • vim使用方法

    vim是vi的增强版本,具有比vimi更加强大的功能,对于尤其适合编写脚本,下面总结一下vim的常用方法。 vim三种工作模式。         1. 编辑模式:          &nbs…

    2015-03-18
  • N25期—第一周作业

    计算机的组成及其功能 计算机主要由硬件和软件两部分组成, 硬件目前由5大部件组成 控制器:类似人类的大脑!控制整个计算机的运作 运算器:对数据进行逻辑运算处理 存储器:存放数据部件 输出设备:比如显示器,打印机 输入设备:比如键盘,鼠标 Linux发行版本 主要三大分之:Debian系,Reb Hat系,Slackware系。 1.Debian GNU / …

    Linux干货 2016-12-01
  • 磁盘管理

      磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的,它们位于"计算机管理"控制台中.它包括查错程序和磁盘碎片整理程序以及磁盘整理程序。   一磁盘分区     1为什么要分区?     •优化I…

    Linux干货 2016-09-02
  • sed 和 vim 的 用法

    处理文本的工具 三剑客之 sed sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕。接着处理下一 行,这样不断重复,直到文件末尾。文件内容并没有改变 ,除非你使用重定向存储输出。Sed主要用来自动编辑…

    Linux干货 2016-08-12
  • 进程管理

    简述进程的相关理论与工具使用

    2017-09-09