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

相关推荐

  • 第一周博客 计算机组成及Linux基础入门

    1、描述计算机组成及其功能。
    2、描述罗列Linux的发行版,并描述不同发行版之间的联系和区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释。
    4、说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、export、pwd、history、
    shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例说明阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分。
    6、请罗列Linux发行版的基础目录名称命名法则及功能规定。

    2017-12-02
  • 系统基础之shell脚本编程详解4(数组及字符串处理,变量赋值和配置文件)

    系统基础之shell脚本编程详解4(数组及字符串处理,变量赋值和配置文件)     今天来讲shell脚本编程的最后一些内容,数组及字符串处理,变量赋值和配置文件.这些内容也是我们经常在工作中使用到的知识点.下面让我们来详细了解下: 数组:   程序=指令+数据        &…

    Linux干货 2016-08-24
  • LVM组件详解&创建实验流程

       前言:根据前面的学习我们知道,一个磁盘一旦分完区并且格式化后,其空间大小是没有办法进行调整了。因此推出了LVM(Logical Volume Manager)逻辑卷管理机制,LVM重点在于可以弹性的调整文件系统的容量!并非在于性能和数据保全方面,需要文件的读写性能或者数据的可靠性,需要用到RAID。而LVM可以整合多个物理…

    Linux干货 2016-08-30
  • vim编辑器

                在Linux的学习中,无论是编写脚本还是修改文件内容,我们最经常用的就是vim编辑器.vim编辑器功能十分强大,如今不仅仅只应用在Linux中.今天就来介绍一下vim编辑器的功能 进入和退出vim     进入:   在终端输入vim 文件名 ,…

    Linux干货 2017-08-05
  • Linux下的网络配置方法(一)

        Linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。     常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 一、简介   &nb…

    Linux干货 2015-12-15
  • Linux Sysadmin–part4

    一、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) A.POST加电自检 主板在接通电源后,系统首先由POST程序来对内部各个设备进行检查,自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。 B.BIOS…

    2017-10-10