Hello~各位程序员小朋友们,大家好~马上就要过春节了,不知道大家的公司有没有放假了呢~热爱工作的小乐子可是要一直坚持到假期前的最后一天呢~
先提早和大家拜个年吧~
马上要过年啦~
最近小乐子发现身边的一些同事除了使用IDE写“增删查改"之外,几乎很多其它的相关技能和知识点都是相当匮乏。碰巧前端时间遇到几个客户的生产环境都是无一例外使用的Linux服务器,并且还都是没有桌面环境的Linux,那些同事们都是当场一脸懵逼呀~最后不得不打电话找美丽可爱的小乐子我寻求帮助。要知道我平日里的软件开发工作可都是在Linux上展开的呢,对于Linux的基本应用还是能够应付得过来的。
Lin...Linux...
所以思前想后,本着独乐乐不如众乐乐的态度,我决定从今天开始就展开一个全新的系列:入门Linux系列。在这个系列中,我会以最简单最轻松的状态,带领各位程序猿萌新们与Linux来一场亲密接触~
嘿嘿嘿,亲密接触~想想都觉得好兴奋呢~
高兴得捂脸
不过呢,既然要说,我决定就从头说起。这样大家也不会觉得压力太大,对吧~
嗯嗯,我想大家都知道,Linux与Windows一样,都是“操作系统”,所以我们还是先从操作系统聊起吧。
对于“操作系统”这个概念,如果我们翻阅各种书本教材,或者借助度娘,或者带着梯子去见G哥哥,都会得到类似于下面文字一样的说明:
能够帮助人类操作硬件设备(包括计算机、服务器、网络设备、工业设备等等),并使这些设备能够为人类服务,达到人类预期的目的的软件,都可以称之为“操作系统”,其英文为“Operation System”。
说白了,就是能够帮助我们操作机器呀,设备呀等等的软件,都可以称为“操作系统”。不过既然小乐子的目(猎)标(物)是那些萌萌的小白程序员,那我们所说的操作系统,当然就是应用于现代桌面计算机、服务器、网络设备、智能移动设备等领域的“操作系统”啦。
不过有一点希望大家要注意,其实计算机操作系统可并不是随着“计算机”的发明而一起被发明出来的哦。世界上第一台计算机,现在普遍认为是一台名字叫做“ENIAC”的设备。
ENIAC没有确切的中文词汇与之对应,大家都习惯音译成“埃尼阿克”,矮油,怎么听起来这么像二次元萌妹子的名字呢~我马上就想到了各种各样的“电脑娘”...
坏掉了的电脑娘
好了好了,不脑补了。ENIAC这台计算机,说起来真吓人,重达30多吨,占地面积170多平方米,最初的用处其实是用来计算炮弹的弹道轨迹的。
看来果然战争才是催生科技发展的最重要的源动力呢。
从那个时候开始的很长一段时间内,计算机都是靠操作人员手工去操作的,通过拨动大量的物理开关来完成计算。嗯...怎么感觉这么像我们老祖宗留下来的算盘呢~
大如房间一般的计算机
后来嘛,大家发现光靠手动去拨动一个一个开关这可不行啊,这不是累傻小子嘛,而且当操作人员在进行手工操作的时候,计算机的核心计算部件(就是类似于后来的CPU的东西)其实啥事儿也没干,就在干等着。
所以呢,大家就动脑筋,想把一些工作自动化,另一方面也让计算部件不要那么空闲,提高利用率。于是呢最早的操作系统就被设计出来啦。
Windows 2000 娘
好啦好啦,一开始的操作系统并不是像现在大家熟悉的Windows那样的,更不可能像图片里的“Windows 2000娘”那样可爱的妹子。
其实最早的所谓“操作系统”,用现在的说法,被称为“批处理”系统。所谓的“批处理”系统,就如同它的字面意思,能够批量地处理操作人员的计算请求。
最初的批处理系统被称为“联机批处理”系统,这时候的计算机,由输入设备、磁带机、计算单元和输出设备组成。操作人员需要把打孔纸带,也就是最早的“二进制程序”送到输入设备中,输入设备会将这些纸带上的二进制信息转存到磁带机上,然后计算单元就逐一从磁带机上获取要计算的内容,经过计算后,自动将结果输出到输出设备上。
听起来是不是特别的傻?如果操作人员手脚慢一点,计算单元还是要等待大量的时间,等待数据输入操作全部完成之后才可以开始工作。这种现象有一种比较*的说法,就是“高速主机与低速外设之间的矛盾”。
所以呢,大家就改造了一下这种系统,把输入输出设备独立出来,再搞一台副主机专门用来处理输入输出设备上的信息,而原来的计算主机呢,就与这台副主机进行数据交互。由于这台“副主机”被设计成专门用于处理输入和输出,所以它的运行速度会比较快,整套系统的效率就优于之前的“联机批处理”模式,大家管这套系统叫做“脱机批处理”。
仍然是Windows娘
但是呢,在这种情况下,核心的计算单元仍然每次只能执行一条计算指令。最基本的计算效率仍然很低下。那是的计算机设计人员就又聚拢起来开动脑筋啦,于是“多道程序系统”就被设计出来了。
所谓的“多道程序系统”,理解起来也很简单。就是同时把几条需要计算的程序都放入到内存模块中。当计算模块在计算第一道程序的时候,输入和输出模块可以来处理第二道程序。就是这么简单,所有的计算机设备模块都尽可能地不要空闲下来。
嗯嗯,但是啊,人类总是很喜欢折腾的。这时候计算机操作员们发现,每次当自己需要使用计算机的时候,总是要等着另一个操作员先用完,自己才能去使用。这种“独占性”令人很不爽,就好像大家在医院里排队看病一样,排队1小时,看病5分钟。
这位程序员小哥哥,哪里不舒服呀
所以呢,大家又设计出了“分时系统”。在分时系统中,“时间片”的概念被首次引入并成功实施了。我们之前一直说的“计算单元”,现在终于可以被称为是现代“CPU”了。在分时系统中,每一个计算机操作员都拥有自己的一套输入输出设备,这些设备都连接到同一个CPU上。CPU每次在很短的一小段时间内(即一个时间片),只处理某一个用户的某一道程序的某一个不可再划分的原子操作,就这样不断的切换,形成所谓的“分时操作”。而由于这个时间片对人类来说非常短暂,几乎很难察觉到,所以对于计算机操作员来讲,仿佛这一刻计算机被自己独占使用一样。
嘿嘿嘿~为什么总觉得这个时期的程序员们被计算机给“绿”了呢~
噗噗噗
再后来呢,大家改进了分时系统,让它能够更好地响应一些实时的操作,比如战场上的部队正等着用高射炮去打落飞机(咳咳...),敌方的飞机飞得很快,总是在不断变化位置,所以计算机在计算弹道的时候就必须快速,于是“实时系统”就被设计出来了。从字面上我们已经很容易理解了,这时候的操作系统已经开始追求极致高效和快速了。
计算太慢的话,会让敌人逃跑的哦
再后来嘛,现代化的通用操作系统就出现啦。关于这些话题,我们留到下回跟大家聊吧~
要是各位喜欢的话,记得点赞支持哦,我会努力做好这个系列,争取让更多人喜欢上Linux的。
点个赞嘛
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved