《硅谷的那些牛人》
第24节

作者: 先生会算命V1
收藏本书TXT下载
  日期:2014-07-19 09:30:30
  目前学术界、工业界对操作系统有很多种不同的定义,但可以归纳和精简为:
  操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。
  如果您看到上述绕口式的定义还没有感到思维不清逻辑混乱,那么恭喜你,你可能具备学习计算机这种变态学科的潜力。但是你也千万不要得意,这仅仅是潜力,要真正成为计算机大拿,还有很长的一段路要走,同时还需要自身的努力,以及人生的机遇。
  而有的时候,人生的机遇要远远大于自身的努力。

  日期:2014-07-19 09:31:00
  我之所以要将操作系统放在前面来讲,是因为只有弄明白了操作系统,才能真正搞清楚接口的意义。
  在这里我要强调一个观点,没有操作系统的计算机无异于一堆废铜烂铁。
  对,你没有看错。而且这也绝对不是危言耸听。
  没有操作系统的计算机 = 什么事情都干不了的计算机!
  这样的计算机,即便拿去论斤卖废铜烂铁,也一定卖不出个好价钱。
  日期:2014-07-19 09:31:48
  当然我这里指的是现代的计算机,不包括早期或者是前期的计算机,比如说帕斯卡式的手摇计算机、巴贝奇式的机械计算机就是完全手动的,不需要操作系统也能干活,同时还不用电,完全符合现代社会环保的理念。
  而电气时代的计算机,虽然装载了较为原始的系统,但是按现代操作系统的定义,也不能算是严格意义上的操作系统。因为那时,如果你要操作计算机,还需要一个比较专业的计算机操作员的协助,该操作员会负责将你的程序进行整理,再通过纸带的方式让计算机读取,并加以执行。
  操作员在某种程度上承担了一部分操作系统的功能,并且他比一般的操作系统要更加智能一点,具体表现在获取资源发生冲突之时,不会选择自我死机或是关机重启,而这样的事情经常会发生在不是很稳定的Windows 95和Windows 98中。
  当然这样的操作员式操作系统也是有缺点的,比如说不能一直工作,他也是需要吃饭睡觉上厕所的,如果一旦遇到感冒发烧之类的症状,对不起,该系统暂时无法提供你所需要的服务。

  日期:2014-07-19 09:33:03
  到了1969年,贝尔实验室(当时世界上最牛逼的实验室,没有之一)的两位科学家觉得很无聊,合计了一下,决定开发一款名为“星际旅行”的小游戏来娱乐一下自己。关于这款游戏我查了很多资料,但是因为年代太过久远,实在找不到多余的信息,所以这款游戏究竟长得什么样,在这里我也没法告诉大家。
  在开发“星际旅行”的过程中,两位科学家发现该游戏需要一个操作系统才能正常运行。没办法,他们只好自己动作弄了个操作系统,接下来的事情大家应该都知道了,这个系统便是如今大名鼎鼎UNIX操作系统的前身。
  程序员们都知道,不管是开发软件还是操作系统,都需要使用编程语言进行编程。于是这两位科学家对当时比较流行的各种编程语言进行了分析比较,试图找到一个适合于开发操作系统的编程语言。不知道是幸运还是不幸,到了最后他们也没有找到一款满意的编程语言。于是他们只好勉为其难,亲自动手弄了一款编程语言出来。

  补充一点,这款编程语言就是日后风靡全球的C语言。
  日期:2014-07-19 09:33:32
  我们来梳理一下整件事情的前后关系,首先这两个科学家发明了一款世界级的编程语言,然后在此基础上继续倒腾出了一个世界级的操作系统,而他们费劲心思做这些事的目的,只是为了玩一款“星际旅行”的小游戏。
  好吧,你们赢了。虽然以前我也有所耳闻IT界有很多奇葩,但这两位科学家所做的事再一次刷新了我的世界观。让我们来认识一下这两位科学家吧,他们其中一位的名字是肯?汤姆逊(UNIX之父),而另一位的名字是丹尼斯?里奇(C语言之父)。
  到那时为止,人类历史上才第一次有了一款真正意义上的操作系统。
  日期:2014-07-19 09:34:01
  看到这里,可能有人会问,为什么像“星际旅行”这样的弱智游戏非要在这么高级的操作系统上才能运行呢?
  问得很好,一般看到这里能问出这个问题的人,说明他是一个思路清晰的人。至于这个问题的答案,其实也就是我接下来要谈的重点
  在正式揭示这个答案之前,我们先来看一看汽车和道路之间的关系。

  日期:2014-07-19 09:34:45
  以前上学的时候,每天走在回家的路上,望着街上来来往往的车辆,心里油然萌发出一个念头,如果自己能够拥有一辆车,该有多好,这样我就可以去任何想要去的地方了。
  长大之后,等我拥有了自己的车,才明白一个事实:即便是有了车,也不一定能够想去哪就去哪!
  第一,如果那个地方没有路,无论多么牛逼的车,也到不了。

  第二,如果我不知道去那个地方的路,无论多么高级的车,同样还是到不了。
  明白了这两点,我们在回过头来看操作系统和应用程序之间的关系。
  日期:2014-07-19 09:36:16
  聪明的童鞋们大概猜到了,如果将操作系统比作道路,应用程序(软件)就是跑在上面的车。

  一个操作系统上可以运行很多的程序,就如同一条路上可以跑很多的车。比如说,自从有了Windows操作系统,我们不仅可以同时在计算机上聊天看A片,还能办公玩游戏……
  Office办公软件就是路上跑着大大小小的货车,朴实无华不中看,但是国民经济少不了它;
  QQ、暴风影音就是穿梭在大街小巷的轿车,性价比高而且方便实用;
  魔兽世界、传奇等游戏那一定就是跑车了,光鲜艳丽,吸引着无数人的眼球的同时,也掏空了他们的腰包;
  Photoshop、SPSS(统计软件)等那就是传说中的越野车,价格昂贵、性能卓越;
  至于某些行业信息系统软件,我想那一定是劳斯莱斯了,不求最好,但求最贵!
  日期:2014-07-19 09:38:00
  搞清楚了这层之后,兴许有人会说,如你所说,操作系统与应用软件就是道路与车的关系,那么操作系统与操作系统之间那又是什么关系呢?
  这个其实也很好理解。
  我们知道,交通系统中不仅有公路,还有铁路、海洋和天空。那么,从应用范围的角度来考虑:
  Windows自然而然就是公路,无论去哪,都很方便;
  苹果的Macintosh应该对应着铁路,在通铁路的情况下,能够去一些汽车能去的地方,但是还有更多的地方去不了;
  UNIX相当于海洋,基本上适用于大众货物的海运,偶尔也会载载客,但次数并不频繁;
  而Linux相当于空运,运货载客皆有可能。

  日期:2014-07-19 09:38:54
  说到这里,相信童鞋们应该对操作系统和应用程序有了比较形象深入的认识,接下来我们再来聊一聊“接口”究竟是怎么一回事。
  应用程序能够在操作系统上正确的运行,并通过操作系统调用硬件进行数据传输、文件打印等所有的一切功能,都要通过一个叫“接口”的东西。
  “接口”的全称叫做“应用程序编程接口”。虽然“接口”这个概念看上去不那么好理解,但是其功能还是很好懂的。
  操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合,这是是对操作系统的科学定义。
  其实我们也可以换个简易的说法,操作系统是连接计算机硬件和软件的桥梁,软件可以通过操作系统,调用一些硬件提供的服务。
  而软件与操作系统之间,都是通过“接口”,按照约定好的协议进行通信。
  日期:2014-07-19 09:39:28
  举个例子。
  当我们在使用Windows时,我们既可以用Word打印文件,也可以用PDF阅读器打印文件,甚至还能直接在IE等浏览器上打印文件。
  我们之所以能够如此方便地进行打印,完全在于Windows提供了一个打印接口给Word,给PDF阅读器,给IE浏览器。换句话说,不管任何软件,只要调用了Windows提供的
  打印接口,都可以进行打印。
  这就是“接口”的神奇之处!
  日期:2014-07-19 09:40:06
  至于Windows如何通知打印机进行打印,如何将打印内容传送给打印机。对不起,由于篇幅限制,我们对此不做更多的探讨。
  类似的接口还有很多。
  浏览器、即时通讯软件、网游客户端等需要调用Windows提供的通讯接口;

  影音软件、绘图软件、3D游戏客户端需要调用Windows提供的图形显示接口;
  Word软件、编程工具需要调用Windows提供的鼠标键盘接口;
  ……
  一切都是接口。
  日期:2014-07-19 09:40:39
  任何一款在操作系统上正确运行的软件,无时无刻不再调用操作系统提供的接口,否则,这款软件就什么都做不了。
  现在大家应该明白为什么软件界的大哥大并不是做杀毒软件的公司,不是做影音视频的公司,也不是做通讯软件的公司,甚至不是做办公软件的公司,而是做操作系统的微软。
  操作系统才是王道,这是年轻时候的盖茨最先领悟的道理,所以他成了软件界叱咤风云的王者!就如同汽车需要知道路才能到达目的地那样,应用软件也需要知道操作系统所提供的接口,才能顺利的实现它的功能。
  所以接下来安德森要完成他的计划,就必须找到精通Windows和Macintosh的高手。因为只有这些高手,才懂得如何去调用所需要的接口,也只有这些高手,才能在Windows和Macintosh上开发出马赛克。
请按 Ctrl+D 将本页加入书签
提意见或您需要哪些图书的全集整理?
上一节目录下一节
【网站提示】 读者如发现作品内容与法律抵触之处,请向本站举报。 非常感谢您对易读的支持!举报
© CopyRight 2011 yiread.com 易读所有作品由自动化设备收集于互联网.作品各种权益与责任归原作者所有.