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

相关推荐

  • N25_第一周

    计算机组成 计算机通常由硬件和软件组成1.硬件 CPU CPU通常由控制器和运算器组成。控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。运算器:是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储 存储器的功能是存储程序、…

    Linux干货 2016-12-03
  • Linux发行版的基础目录名称、功能及目录的命名法则

    Linux发行版的基础目录名称、功能及目录的命名法则 基础目录名称及功能 /lib 32位系统的基础共享库文件和可装载的内核模块,用于为/bin和/sbin下的程序提供共享库,并为内核提供内核模块 /lib64 64位系统的基础共享库文件,用于为/bin和/sbin下的程序提供共享库 /etc 系统程序的配置文件 /bin 用户命令的程序文件,所有用户可用 …

    Linux干货 2017-07-02
  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2016-06-14
  • 马哥教育网络班22期+第一周课程练习

    一、计算机的基本组成和功能   cpu包括运算器、控制器、寄存器、缓存       运算器:计算功能,对数据进行加工处理的的部件;       控制器:负责从存储器取出指令,控制cpu计算器之间的运行结果和状态;       寄存器:暂存指令和数据的地方,存储…

    Linux干货 2016-08-15
  • Lamp应用

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置三个基于名称的虚拟主机; (a) discuzX (b) wordpress (c) https: phpMyAdmin (2) 对discuzX的主页做压测; 分别给出并发10, 100, 200, 500等每秒的响应数 建立私有CA (umask 077;openssl genrs…

    Linux干货 2016-10-12
  • N22-第九周作业

    第九周    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;    #!/bin/bash    #    decl…

    Linux干货 2016-10-24