2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Linux是怎么发展起来的 – PHP基础 – 前端 php实现条件判断成绩评优

Linux是怎么发展起来的 – PHP基础 – 前端 php实现条件判断成绩评优

时间:2018-08-31 14:24:30

相关推荐

Linux是怎么发展起来的 – PHP基础 – 前端 php实现条件判断成绩评优

矮油~~怎么就那么巧,偶最近正好在整理这个系列哎,其中在今日头条里已经发布的内容就和大家分享了Linux的前世今生呢。

好像在悟空问答里面没法贴今日头条的内容链接嘛,那偶就再搬个砖喽~

要说Linux的诞生和发展,在偶的今日头条原文里面,是从“操作系统”这个概念说起的。

对于“操作系统”这个概念,如果大家翻阅各种书本教材,或者借助度娘,或者带着梯子去见G哥哥,都会得到类似于下面文字一样的说明:

能够帮助人类操作硬件设备(包括计算机、服务器、网络设备、工业设备等等),并使这些设备能够为人类服务,达到人类预期的目的的软件,都可以称之为“操作系统”,其英文为“Operation System”。

说白了,就是能够帮助大家操作机器呀,设备呀等等的软件,都可以称为“操作系统”。不过既然小乐子的目(猎)标(物)是那些萌萌的小白程序员,那大家所说的操作系统,当然就是应用于现代桌面计算机、服务器、网络设备、智能移动设备等领域的“操作系统”啦。

不过有一点希望大家要注意,其实计算机操作系统可并不是随着“计算机”的发明而一起被发明出来的哦。世界上第一台计算机,现在普遍认为是一台名字叫做“ENIAC”的设备。

ENIAC没有确切的中文词汇与之对应,大家都习惯音译成“埃尼阿克”,矮油,怎么听起来这么像二次元萌妹子的名字呢~偶马上就想到了各种各样的“电脑娘”…

好了好了,不脑补了。ENIAC这台计算机,说起来真吓人,重达30多吨,占地面积170多平方米,最初的用处其实是用来计算炮弹的弹道轨迹的。

看来果然战争才是催生科技发展的最重要的源动力呢。

从那个时候开始的很长一段时间内,计算机都是靠操作人员手工去操作的,通过拨动大量的物理开关来完成计算。嗯…怎么感觉这么像大家老祖宗留下来的算盘呢~

后来嘛,大家发现光靠手动去拨动一个一个开关这可不行啊,这不是累傻小子嘛,而且当操作人员在进行手工操作的时候,计算机的核心计算部件(就是类似于后来的CPU的东西)其实啥事儿也没干,就在干等着。

所以呢,大家就动脑筋,想把一些工作自动化,另一方面也让计算部件不要那么空闲,提高利用率。于是呢最早的操作系统就被设计出来啦。

其实最早的所谓“操作系统”,用现在的说法,被称为“批处理”系统。所谓的“批处理”系统,就如同它的字面意思,能够批量地处理操作人员的计算请求。

最初的批处理系统被称为“联机批处理”系统,这时候的计算机,由输入设备、磁带机、计算单元和输出设备组成。操作人员需要把打孔纸带,也就是最早的“二进制程序”送到输入设备中,输入设备会将这些纸带上的二进制信息转存到磁带机上,然后计算单元就逐一从磁带机上获取要计算的内容,经过计算后,自动将结果输出到输出设备上。

听起来是不是特别的傻?如果操作人员手脚慢一点,计算单元还是要等待大量的时间,等待数据输入操作全部完成之后才可以开始工作。这种现象有一种比较装逼的说法,就是“高速主机与低速外设之间的矛盾”。

所以呢,大家就改造了一下这种系统,把输入输出设备独立出来,再搞一台副主机专门用来处理输入输出设备上的信息,而原来的计算主机呢,就与这台副主机进行数据交互。由于这台“副主机”被设计成专门用于处理输入和输出,所以它的运行速度会比较快,整套系统的效率就优于之前的“联机批处理”模式,大家管这套系统叫做“脱机批处理”。

但是呢,在这种情况下,核心的计算单元仍然每次只能执行一条计算指令。最基本的计算效率仍然很低下。那是的计算机设计人员就又聚拢起来开动脑筋啦,于是“多道程序系统”就被设计出来了。

所谓的“多道程序系统”,理解起来也很简单。就是同时把几条需要计算的程序都放入到内存模块中。当计算模块在计算第一道程序的时候,输入和输出模块可以来处理第二道程序。就是这么简单,所有的计算机设备模块都尽可能地不要空闲下来。

嗯嗯,但是啊,人类总是很喜欢折腾的。这时候计算机操作员们发现,每次当自己需要使用计算机的时候,总是要等着另一个操作员先用完,自己才能去使用。这种“独占性”令人很不爽,就好像大家在医院里排队看病一样,排队1小时,看病5分钟。

所以呢,大家又设计出了“分时系统”。在分时系统中,“时间片”的概念被首次引入并成功实施了。大家之前一直说的“计算单元”,现在终于可以被称为是现代“CPU”了。在分时系统中,每一个计算机操作员都拥有自己的一套输入输出设备,这些设备都连接到同一个CPU上。CPU每次在很短的一小段时间内(即一个时间片),只处理某一个用户的某一道程序的某一个不可再划分的原子操作,就这样不断的切换,形成所谓的“分时操作”。而由于这个时间片对人类来说非常短暂,几乎很难察觉到,所以对于计算机操作员来讲,仿佛这一刻计算机被自己独占使用一样。

再后来呢,大家改进了分时系统,让它能够更好地响应一些实时的操作,比如战场上的部队正等着用高射炮去打落飞机(咳咳…),敌方的飞机飞得很快,总是在不断变化位置,所以计算机在计算弹道的时候就必须快速,于是“实时系统”就被设计出来了。从字面上大家已经很容易理解了,这时候的操作系统已经开始追求极致高效和快速了。

再后来嘛,现代化的通用操作系统就出现啦。其实早期被大规模应用的商业操作系统,大多是Unix,同期也有一些免费开源的类Unix系统出现在市场上。

其实一开始Unix并不叫这个名字,而是叫做“Unics”哦,大家不知道吧~~

最早的时候,在大名鼎鼎的“贝尔实验室”里,小伙伴们正在酝酿一个“多用户、多任务、多层次”的操作系统开发计划。所谓的“多用户、多任务、多层次”,在老外的原话里,其实就是“multi user,multi processor,multi level”这三个英文词组。有那么多的“multi”,所以大家就把它叫做“multics”操作系统,全称是“Multiplexed Information and Computing Service”,翻译成中文也就是“多路信息及计算服务”操作系统。

这项计划是从1965年左右开始的,一直到1969年左右,都没有什么太好的进展结果,大家都觉得进度太慢了,所以逐渐也就对这项计划不怎么在意了。

时间就这么来到了1970年。这一年可是值得在计算机发展史上被隆重记录的一年哦。这一年,贝尔实验室里一个名叫“Ken Thompson”的人,嗯…让小乐子找找,就是下面这个人啦:

好吧,其实这家伙的照片在网上很容易找得到。嗯…这个造型并不是小乐子喜欢的类型呢~~瞧这一脸油腻的大胡子,负分滚粗~

不对不对,大家还是说回正事儿。这位大胡子爷爷看到了实验室里闲着没人用的一台“PDP-7”电脑,恩,就是下图里这台:

于是Ken大爷就在这台电脑上自己瞎折腾起来了。由于当时这台电脑最多只能支持两个用户同时使用,所以这位大爷和他的同事们就戏称这套系统为“UNiplexed Information and Computing Service”,简称就是“Unix”啦。

霍霍霍~各位萌新们,你们现在知道为什么在计算机系统中,所有的时间计算方式都是从1970年1月1日开始计算的了吧。

到了第二年,也就是1971年,Ken大爷又从实验室里申请到了新的计算机设备,这一年被认为是Unix的正式第一版出现了。然后两年后,大爷和他的同事开始嫌弃汇编语言用起来很麻烦,想自己研究一门更高级的编程语言。于是就有了B语言,但是大爷的一位名叫“Dennis Ritchie”的同事觉得B语言还是用着不痛快,于是就有了大名鼎鼎的C语言。那一年是1973年,而这位Dennis Ritchie也被大家称为了“C语言之父”。

对了对了,这位Dennis Ritchie现在经常和Ken Thompson一起,双双被称为Unix之父。啧啧~两位爸爸~~

不知道各位萌新程序员们对Unix留存怎样的印象,其实大家日常熟知的苹果电脑所采用的MacOS操作系统就是一个基于Unix所开发的操作系统,大家也可以直接认为MacOS就是一个Unix。

除此之外,如果大家在很多企业级或政府客户的生产环境下工作过,一定也会听说过“蓝色巨人”IBM研发的服务器操作系统AIX,这套操作系统也是Unix系的。另外比较有名的还有Sun公司研发的Solaris系统和惠普的UX系统。

故事说到这里,终于Linux和它的创始人——Linus Benedict Torvalds。要登场啦。

提起Liuns这个人,在程序员界可谓是无人不知无人不晓呢。这位大神最近几年又一次大火,得益于git。提起git,就不得不提github,这可是全球规模最大的同性交友平台呢,嘻嘻嘻~

不过呢,这个不是大家今天要讨论的话题。其实在git之前,Linus的出名完全是因为他创造了Linux操作系统,他本人也因此被称为“Linux之父”。甚至在早些年的公开场合,他本人宣称自己除了会写Linux内核源代码之外,不会写任何其它的代码。而江湖上还有和他有关的另一个传闻,那就是无论哪家计算家大厂,无论开给他多高的工资,都没法撬动他去上班。

当然了,传言归传言,小乐子也懒得去查资料证实,不过Linus大爷的照片还是要拿出来给大家看一看的:

没错,就是照片里这个人啦。相信大家也在网络上看了无数次这张照片啦。不过当年Linus究竟是为什么会去创造出Linux呢?为什么Linux和Linus就只差了一个字母呢?

别着急,小乐子这就开始进入讲故事模式啦。

首先呢,这位目前生活和工作在美国的老外,其实是一个出生在芬兰的人,但是呢严格意义上来说他本人是属于芬兰的“少数民族”,传言是芬兰瑞典人。天哪,是不是有点乱?

年轻时代的Linus毕业于大名鼎鼎的赫尔辛基大学计算机系,是个不折不扣科班出身的程序员哦。

在他念大学期间,几乎所有的计算机都是使用Unix操作系统。大家窝在黑黑的屏幕前,在Unix终端上通过命令行来操作计算机。但是那个时候的计算机已经不再是单机系统了,而是具备了非常完备的网络功能了。青葱少年的Linus就经常通过Unix的终端命令来连接到学校的主机,从学校主机上下载一些资料呀、邮件呀之类的,不知道有没有下载一些嘿嘿嘿的东西呢?嘿嘿嘿~~~

当时的Linus对Unix操作系统有着十分浓厚的兴趣,很想自己也能在Unix上开发一点儿程序。于是他就挑选了一款叫做“Minix”的类Unix操作系统来做一些尝试性的开发。

为什么会挑选这个操作系统呢,因为这个操作系统在当时就是开源的哦,而且这个系统的命名,其实就是来自于“Mini Unix”,嗯,大家可以理解为一个精简版的Unix操作系统啦。

可是,精简版毕竟是缺少很多东西,Linus越用越不爽。

要说Linus还真是个典型的程序员,身上与身具来有着一股折腾精神。为了用起来更方便,就自己尝试着开发一些用来访问计算机磁盘和文件的小程序,而这些小程序,被人们称为“shell”或是“shell脚本”,至于什么是“shell”,小乐子就先在这里卖个关子啦,知道的大牛们可别说出来,萌新小伙伴们也别着急,下次偶就会告诉大家啦。

当时的Linus根本也没想到自己写的这些小程序,会逐渐逐渐演变成最初的Linux系统内核。

时间长了,他就开始尝试着整理自己所编写的那些小程序。这一整理可不要紧,他发现自己写的小程序放在一起,差不多就是一个基本的操作系统了。

这下可了不得,于是Linus就在当时的Minix网络社区上开了个帖子,对网友们说:“嘿朋友们,偶自己写了一个shell,嗯嗯,功能很强大,该有的都有了,再过不久偶就准备自己发布一个操作系统了,这个操作系统啊,可了不得啦,它是这样这样和那样那样的,巴拉巴拉巴拉…”。那时是上世纪末,1991年。

小伙伴们,要知道那会儿能上网的人,可都是些计算机技术高手啊,而且Linus可是把这条消息发布在Minix社区上的哟。大家一下就炸开锅了,奔走相告,都等着这个“题主”更新后文呢。当然了,也是有人对Linus冷嘲热讽的。不过很快这些人可就后悔啦。因为没过多久,Linus就发表了第一个版本,当时他把这个操作系统叫做“Freax”,意为“Free Unix”,即“不要钱的Unix”。

至于现在的名称“Linux”,最早的时候只是一个内部昵称而已,其实就是来自Linus自己的名字啦。但是也不知道哪天开始,所有的人都用这个名称来称呼这个新的操作系统了,既然这样,那干脆就这么叫吧。

然后呢,其实Linux能够飞速发展,其实得意于Linus本人的懒惰。他当时觉得,自己一个人去完善这个操作系统简直是太累了。于是他就这么把这个操作系统的内核源代码公布在了网络上。这也就是Linux开源的由来了。

再后来就了不得了,加入到这个操作系统中的程序员越来越多。仅仅在3年后,也就是1994年,Linux的第一个正式版“v1.0”发布了。小伙办们可别小看这个“1.0”哦,要知道,Linux内核的大版本更新可不像现在某些国内大厂的产品那样,到今天为止,Linux内核的大版本也才刚刚更新到“4.x”哦。要说原因嘛,还是因为Linus本人啦。虽然他在网络上公布了内核源代码,但是他对筛选大家所提交的新源代码可是非常谨慎,甚至是苛刻的。凡是不入他法眼的源代码,都不会被他合并到Linux内核中。

咱们岔开一下话题,现在老有很多不负责任的媒体,对外宣扬git仅仅就靠一个周末就被编写出来了,还有不少萌新们帮着一起使劲吹嘘。其实大家仔细想想啊,Linus可是从90年代开始就在不断地从全世界各地的程序员那里接收和管理大家提交上来的不同版本Linux源代码了哎,还要严格区分这些不同版本的源代码之间的区别,还要从中挑选一些好的功能,合并到Linux内核中。一直从事着这些工作的Linus,要是没有一个好用的代码版本管理工具,怎么可能忙得过来呢?与其说git是“一个周末”就被开发出来的,不如说是一个典型的厚积薄发的产品呢。

好啦好啦,大家回到Linux的话题吧。刚才说到1994年,Linux发布了1.0版本,就在第二年,也就是1995年,大名鼎鼎的“红帽”就成立啦。历史的巨轮就这样滚动起来喽~嘻嘻~

现在Linux还是被大规模应用在企业级领域,但是近几年来已经有很多不错的桌面版本出现啦。国内最知名的可能有Deepin,和各种打着“麒麟”旗号的版本啦。

从自己的头条号里没羞没臊地搬了这么多砖过来,不知道题主有没有耐心看呢~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。