我们先说说操作系统吧!
操作系统(OperatingSystem,简称OS)是一管理电脑硬件与软件资源的程序,是计算机系统的内核与基石,包括“进程与处理机管理”、“作业管理”、“存储管理”、“设备管理”、“文件管理”五大块。
以上是计算机教材上对于操作系统的解释。
如果抛开一些专业的术语,可以这么理解,把一台计算机比喻成一个大家庭的话,硬件可以理解为主卧,书房,大厅,通道,门房等等能瞅到的建筑,里面是床桌子椅子什么的,软件则是一个个的人,大总管,护院,车夫,...........这些,这两者是相互依存的,光有建筑没有人,主人一个人对着空房子只能发呆,而有人,没有房子,那是在人市上插标卖首的,什么?你说全自动化建筑?不用人操作,得了,算我没见识,当我没说过。
操作系统在其中扮演什么角色呢?
大总管,那就是操作系统了,它是从来不从事劳动的,总是叫别人干活,自己不干,其实要说它不干活,也是冤枉它了,它要干的活就一样——叫人。
以叉屁为例,每天,主人一回来,系统提着大喇叭四处吆喝:“Q~Q呀,起床了,老大回来了,快去备车,他等着看美女呢,IE呀,你看看,你看看,操作间就这么大点的地方,你先凑合着用吧。Q~Q,怎么还没起床啊?老大等急了,快点快点,磨蹭什么?啥?凌晨三点才上chuang,我管你几点,起来,起来。哎哟!老天爷,我说瑞星啊,你们家的小狮子怎么又跑出来乱窜了,到处瞎跑什么呀?快把它牵回屋里去,真是,也不怕咬着人,不咬人?不咬人也吓人呀,当这里是动物园呀?Q~Q,Q~Q~~,怎么还不出来?再不出来,老大要发火了,啥?你说迅雷占着通道堵了你?天杀的迅雷,你也是,就那么屁宽一点的通道,你老是带些什么步兵骑兵回来,真XXX的误正事,你就不能留个5k,10k的给人家用用?把通道都堵死了,你瞧瞧我儿子IE,也能下载,可人家就不象你那霸道,他……咦?IE?你站这里做什么?干活去呀,不动了?IE!IE!靠,又没响应了,还得拍晕了重来……”
每天叉屁的工作就是这样,叫完这个叫那个,神经紧绷,程序来个假死什么的还好说,拍晕了重来,可要是其中哪个忽然抽了疯,在内存里东一榔头西一脚胡搞八搞,那完了,这位大总管先天心脏不好,一看这场面,吓着了,呃!一张脸变得蓝汪汪的,往后就倒,在地上直抽筋!
一边抽筋,一边赶紧给老大打小报告:“老大,我快不行了,发生了什么问题?内存的哪哪哪,发生了什么,我搞不定了,呃!”,重启!
小报告上把当时内存里的情况如实的记录下来,写成一份《突发事件记录》交给老大,记下来这个干什么呢?可以让老大拿着这份记录,分析到底是哪里出了问题,哪个家伙不称职,和其它人处不好关系,是要教训教训,关小黑屋,饿饭,还是开除了重新请人,让老大拿主意。
不过,好像老大对于技术都不是那么热衷,谁几个人看过过它的记录,也分析不出问题所在,一看叉屁蓝脸了,就骂“XXX的比尔盖子,生儿子没屁眼,这么破的系统还要卖那么贵,老子就用盗版,不用正版,气死你!哼哼”
操作系统是很多的,数一数,光种类也得上百,如果加上变种变型的子子孙孙,上千种也可能,老旧的比如OS/360,TENEX,这些现在基本上没什么人用了,除开巨型机,大型机上用的,目前微机上还在用的操作系统就有DOS,OS/2,UNIX,XENIX,LINUX,Windows,MacOS这几大类。
操作系统的发展,与计算机硬件的发展是相对应的!(废话!)
最早的机算机,个头大,一台就要占用一幢大楼的空件,但因为机电构的原因,性能是相当低的,低到程度呢?比你现在用的机算器不会好到哪里,实际上,它的功能也就是单纯的计算数据,不然怎么叫计算机呢?嘻嘻!
那时候,苦呀!(准备讲古了)
工程师要用计算机,得要有副好身体,为啥呢?
因为要楼上楼下的到处跑,没副好身板吃不消,你要一副豆芽菜的身体,不等计算机开始算,保证就累瘫了,浑身抽筋,口吐白沫。
不能?以为是你家的笔记本,让你随便敲敲键盘动动鼠标,就能看美女脱衣服了?想也别想,键盘和屏幕这些设备都没有,纸带都是好久之后的事。
学过电工的同学都知道,要控制电机的正转,反转,延时起动什么的,不同的动作就要搭一遍控制线路,这样才能控制电机正确工作,最开始的计算机就是那样的,不同的辑逻控制,就得有一组接线,比哪加法,那你就得接一组加法的线路,有一根线接错也不行,你要计算一组数据,就得接一组的线,少一点也算不出来,你说楼上楼下的跑,能不要副好身板?
不信?那你知道计算机里的术语“BUG”是怎么来的吗?
就是人家工程师接好了线路后,一计算,怎么算怎么不对,顺着线路反复查,也没找出毛病来,抓得脑膜上的毛都掉光了也没辙,只能用笨办法,一寸一寸的查,结果发现,机算机里生了一窝臭虫,造成逻辑错误,所以后来就把从电脑里找毛病叫做“抓臭虫。”
哎哟,哎哟,谁用砖头砸我?什么,我废话连天,我,我,我冤枉呀我,我这不是给大家普及一下计算机............别砸,别砸,我长话短说,短话不说,这总行了吧!
总之,刚开始的机算机太简单,用不上操作系统,就象一个穷得吃不上饭的家伙,是用不着管家的,他没那么大家当,什么都是自己赤膊上阵,还要管家干啥!
呃!呃!呃!别,别...........别掐我脖子,我..........不废话了!
后来呢,这个穷人有了点小家当,也就是从机电的设备变成了纯电子设备(晶体管出来了),再事事自己赤膊上阵,效果不如请帮手好,简化硬件操作流程的程序就出现,这是操作系统雏形。
到了这家伙发迹的早期,制造商就开始给它配老婆了,每一台不同型号的电脑配上量身定制的操作系统,为某一种型号电脑而写的程序,是无法移植到其他电脑上执行,同型号的电脑,还是不行,因为不标配,比如你家多个螺丝,我家没有,那就不行。
人家IBM一看这样不行呀,卖一台电脑出去,就得让工程师累死累活的写一个新操作系统,这不是浪费人力吗?
资本家的本性决定,要压榨出员工身上的最后一点剩余价值,于是,绞尽脑汁,推出了大型电脑IBMSystem/360,不管身材如何,性能高低,这一型的电脑都共享代号为OS/360的操作系统,相关的程序可以在一干电脑中相互使用,蓝色巨人目前的大型机的打操作系统,便是这位的后裔;为System/360所写的应用程序,现在都可以在IBM大型机上执行!
当然,大型机是相当贵的,一般人难得一见,不光是机器本身贵,而且计算成本相当高,到什么程度呢?一台机器一个小时的计算费用,用当年的美刀来算(六十年代),几百美刀,一辆小汽车的价钱也就这样了。
大型机不象个人用的电脑,想关就关,想开就开,光预热就得好久,反而是一直开着比较节省,一天二十四小时,往这个洞里就要扔进去二十四辆小汽车,别说个人,就是大型的机构也没有多少能承担得起种消耗。
于是,分时概念就成了必然,将大型电脑珍贵的时间资源适当分配到所有使用者身上,,奇异公司,麻省理工,贝尔实验室,在1965年成立了MULTICS操作系统的项目,主攻的就是这个分时系统。
这三家里,贝尔的大名大家应该都知道,发明了晶体管、激光器、太阳能电池、发光二极管、数字交换机、通信卫星、电子计算机、蜂窝移动通信、长途电视传送等等一切牛B到极点的技术。
麻省理工大学,这个也不用说了,历史悠久,技术雄厚。
奇异公司,呃,这个我也不知道是那路神仙了,反正能在挨踢史上留下爪子印的,不是大牛就是小牛,总之是牛得不行的那类。
三家联合,那真是小母牛玩倒立,牛B到了极点,对于这么个操作系统,那不是手到擒来,小菜一碟?
到1969年,MULTICS操作系统的项目就……被取消了!
主要原因,进度太慢,开支太大,三家吃不住劲,这光荣转进了。
看似事情就这么结束了,然而,世事难料,故事刚刚开始,在这人类生死存亡的危急关头,一位英雄出现了。(好象四流小说中,这种狗血情节比比皆是,事实上,生活比四流小说还四流)
贝尔的一位工程师KenThompson(肯·汤普逊),这个项目的参与者之一。
MULTICS的计划取消后,除了种下龙蛋收获跳蚤的三家老板,大概数他最郁闷,因为这小子编了个星际旅行的游戏,没法玩了。
这个人,是个标准的游戏迷(实际上,早期的很多程序员都是这种货色),在项目组开发MULTICS系统的空闲工夫,一直偷偷用公司的机器玩游戏,虽然反应比较慢,玩起来不是很爽,但一个小时花上百美刀玩这个,大概在电脑游戏史上,也是大牛一只了。
本来,他满怀希望的憧憬着,等到项目完成后,系统优化到顺利的跑起来他的游戏,然而,项目居然取消了,这让他是怨念无边呀!怎么办呢?
毛主席教导我们说:自己动手,丰衣足食。
估计肯·汤普逊虽然生活在那火热的年代,多半也没有背过毛主席语录,但是他用行动证明了毛老大人的正确性。
他翻呀,找呀,好不容易在旧仓库的墙角边淘换出一台PDP-7,那是一种小型计算机,性能与项目用的大型电脑在性能上来说,不可同日而语。
但功夫不怕有心有,有困难上,没有困难,创造困难也要上,那一刻,此人不是一个人在孤军做战,而是无数游戏迷附体。
伙同另一名工程师DernisRitchie(丹尼斯·里奇)花了九牛二虎之力,过五关斩六将,将星际旅行的游戏成功的移植到了这台PDP-7上,继续他的游戏生涯!
当然,要想运行这游戏,少不了要得有个操作系统,这个系统,就是UNIX的前身,两位牛人用汇编语言写出来的,很简陋,为的就是玩个小游戏,啊~,写到这里,我觉得我都要疯了!
在强大到无边的游戏yu望的驱使下,两位牛人完成了UNIX的最初雏形版,这个系统只支持两个使用者,估计当时也只想到他们两个人玩游戏,因为是脱胎于MULTICS项目,他们戏称这个系统为"UNICS",后来取其谐音,有了UNIX这个词。
这一年,是1970年,史称Unix元年。
Unix系统可在多处理器下执行的,在服务器和工程应用的工作站上,有很高的使用率。
最开始时,贝尔没有查觉其中的巨大商业利益,都是免费分发给各研究机构和大学使用研究,大家在使用的过程,也在自觉不自觉的完善着这个系统,让Unix的小苗一天天壮大成一棵大树。
贝尔一看,有钱赚呀,不行,不能再免费让人用了,于是收回先前的授权,成为一个商用软件,但是,已经晚了,这个系统的很多变种已经出现了,比如HP的HP-UX以及IBM的AIX,这两家只应用于自产的硬件产品上,相对来说,SUN公司的Solaris,应用范围可广多了,即可安装于自家的硬件上,也可以用在x86内核的电脑上,苹果的MacOS就是从Unix派生出来的微内核BSD上发展起来的。
我要说的故事不在这几家上面。
话说Unix商业化后,价格那就高高在上了,个人肯定是买不,就边国外的大学,不是象常春藤联盟里的名校,也没多少买得起的,但要学习计算机,必然又要学到操作系统原理,总得实践一下吧?PC机是便宜,但总不能在PC机装个DOS让学生研究吧?
国内是这么干的,但人家老外不这么干,DOS这样没啥技术含量的单用户单任务系统,他们看不上眼。
这个时候,又有牛人站出来了,荷兰Vrije大学的AndrewS.Tanenbaum教授,这个牛人,自己拿起键盘编了一个类Unix的操作系统!
然后Minix就诞生了,取MiniUnix之意,这个操作系统的初衷,是作为一个用来学习的模型,功能很简单,体积也很小,能够让学生在一学期内学完。
当然,Minix与咱们的故事关系也不大,哎呀!~别打,别打,君子动口不动手,啥?你是女子不是君子,我哭~~~~
不要着急,把西红柿鸡蛋都收起来吧,我直接说重点——Linux!
Minix是个第一个开源的操作系统,可以让有志计算机的少年看到源代码,芬兰赫尔辛基大学的学生LinusBenedictTorvalds就是其中的一个,也就是日后大名鼎鼎的Linux之父。
那时候,Linus是大二学生,这位的最大爱好,比一般人要特别些——虐待计算机。
成天干的事情,就是捣鼓计算机,一心想着让电脑按照他的想法干活,发挥计算机最大的性能,榨干可怜的机器最后一丝计算力,直到累得电脑精疲力尽,连咳带喘,直到电容****,吐血身亡!(和国内许多DIYer比,只强不弱)
比资本家还要资本家的主。
学校计算机上,装有教学用的Minix系统,适合拿来学习,但系统本身很简单,渐渐的,这个系统已经远远不能满足Linus大侠的yu望了,可似乎又没有别的选择,Unix奇贵,而且Unix也好,DOS也好,都是闭源软件,代码不开放的,这样的系统只能拿来用,没法拿来折腾的。
于是,又一个牛人诞生了,Linus自己动手了。
1991年4月份的时候,Linus编写出了第一个操作系统,功能,很不强大,只能运行两个进程,分别在屏幕上打印出AAA,和BBB,然后……没了。
如果他就一直这么干下去,估计就不会有linux这个东西了,但是命运之轮,在这时转动了,上帝他老人家看不惯比尔比他老人家有钱,故意恶作剧了一把。
1991年,那是一个夏天,有一位牛人,在世界的互联网上画了好多圈——“Hello!Everybody~out~there~using~minix——I’m~doing~a~(free)operating~system”
(呃!胡扯了小五千字,我居然还有一半没写完,明天继续,查资料查死我了,这比我胡编乱造还累得多呀!弱弱的叫一声,打劫,啥粮票,米票,布票,钞票,月票,统统拿出来!)