|
|
|
|
移动端

1.2.2 对386硬件的多任务测试

《鸟哥的Linux私房菜 基础学习篇(第三版)》第1章Linux是什么,本章介绍为何Linux可以免除专利软件之争,并且了解到Linux为何可以同时在个人计算机与大型主机上面大放光彩。本节为大家介绍对386硬件的多任务测试。

作者:鸟哥来源:人民邮电出版社|2010-07-15 15:46

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


1.2.2 对386硬件的多任务测试

事实上,托瓦兹对于个人计算机的CPU其实并不满意,因为他之前接触的计算机都是工作站型的计算机,这类计算机的CPU特点就是可以进行"多任务处理"的能力。什么是多任务呢?理论上,一个CPU在一个时间内仅能进行一个程序,那如果有两个以上的程序同时出现到系统中呢?举例来说,你可以在现今的计算机中同时开启两个以上的办公软件,例如电子表格与文字处理软件。这个同时打开的操作代表着这两个程序同时要交给CPU来处理。

CPU在一个时间点内仅能处理一个程序,那怎么办?没关系,这个时候如果具有多任务能力的CPU就会在不同的程序间切换。还记得前一章谈到的CPU频率吧?假设CPU频率为1GHz的话,那表示CPU一秒钟可以进行109次工作。假设CPU对每个程序都只进行1000次运行周期,然后就得要切换到下个程序的话,那么CPU一秒钟就能够切换106次呢!(当然,切换工作这件事情也会花去一些CPU时间,不过这里暂不讨论。)这么快的处理速度下,你会发现,两个程序感觉上几乎是同步在进行的!

为什么有的时候我同时开两个档案文件((假设为A、,B档案文件))所花的时间要比开完A再去开B档案文件的时间还要多?现在是否稍微可以理解?因为如果同时开启打开的话,CPU就必须要在两个工作之间不停地切换,~而切换的动作还是会耗去一些CPU时间的!。所以啰,同时启用打开两个以上的工作在一个CPU上,要比一个一个地执行还要耗时一点。这也是为何现在CPU开发商要整合集成两个CPU于一个芯片中!也是为何在运作运行情况比较复杂的服务器上需要比较多的CPU负责的原因

早期Intel x86架构计算机不是很受重视的原因,就是因为x86的芯片对于多任务的处理不佳,CPU在不同的作业之间切换不是很顺畅。但是这个情况在386计算机推出后有很大的改善。托瓦兹在得知新的386芯片的相关信息后,他认为,以性价比的观点来看,Intel的386相当便宜,所以在性能上略有提高。最终他就贷款去买了一部Intel的386来玩。

早期的计算机性能没有现在这么好,所以压榨计算机性能就成了工程师的一项嗜好!托瓦兹本人早期是编写汇编语言的,汇编语言对于硬件有很密切的关系,托瓦兹自己也说:"我始终是个性能癖"。为了彻底发挥386的性能,托瓦兹花了不少时间在测试386机器上!他的重要测试的是386的多功性能。首先,他写了三个小程序,一个程序会持续输出A,一个会持续输出B,最后一个会将两个程序进行切换。他将三个程序同时执行,结果,他看到屏幕上很顺利地一直出现ABABAB...他知道,他成功了,如图1-3所示。

 
图1-3 386计算机的多任务测试

要达到多任务(Multi-Tasking)的环境,除了硬件(主要是CPU)需要能够具有多任务的特性外,操作系统也需要支持这个功能。一些不具有多任务特性的操作系统想要同时执行两个程序是不可能的,除非先被执行的程序执行完毕,否则,后面的程序不可能被主动执行。

至于多任务的操作系统中,每个程序被执行时,都会有一个最大CPU使用时间,若该工作运作的时间超过这个CPU使用时间时,该工作就会先被丢出CPU的运作中,而再度进入内核工作调度中等待下一次被CPU取用来运作。

这有点像在开记者会,主持人(CPU)会问:"谁要发问?"一群记者(工作程序)就会举手(看谁的工作重要),先举手的自然就被允许发问,问完之后,主持人又会问一次谁要发问,当然,所有人(包括刚才那个记者)都可以举手!如此一次一次地将工作给他完成,多任务的环境对于复杂的工作情况帮助很大。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

JSP应用开发详解(第二版)

本书结合JSP和Servlet的最新规范,从基本的语法和规范入手,以经验为后盾,以实用为目标,以实例为导向,以实践为指导,深入浅出地讲解了JS...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊