您所在的位置:读书频道 > 操作系统 > Linux > 1.2.2 386硬件的多任务测试

1.2.2 386硬件的多任务测试

2007-09-26 15:04 鸟哥 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜》全面而详细地介绍了Linux操作系统,第一章我们主要对Linux本身进行了详细的阐述,本文讲的是386硬件的多任务测试。

AD:

1.2.2  386硬件的多任务测试

事实上,托瓦兹对个人计算机的CPU其实并不满意,因为他之前使用的计算机都是工作站型的计算机,这类计算机可以进行“多任务处理”。什么是多任务呢?理论上,一个CPU在一个时间内仅能进行一项工作,如果有两个工作同时出现在系统中呢?举例来说,您可以在计算机中同时打开两个以上的办公软件,例如电子表格与文字处理软件。这个同时打开的动作表示这两个作业同时要交给CPU来处理。CPU在一个时间点内仅能处理一个作业,那怎么办?没关系,这个时候,具有多任务功能的CPU就会自动在不同的作业间切换,即先运行10% 的电子表格,再转到文字处理程序运行10%,再回到电子表格,一直到将两个作业全部完成为止(不一定同时完成。如果某个作业先完成了,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,他将两个程序同时执行,结果,他看到屏幕上很顺利地一直出现ABABABAB……他知道,他成功了。

要实现多任务(multitasking)环境,除了硬件(主要是CPU)具有多任务的特性外,操作系统也要支持这项功能。一些不具有多任务特性的操作系统,想要同时执行两个程序是不可能的。除非先执行的程序执行完毕,否则,后面的程序不可能主动执行。在多任务操作系统中,每个程序执行时,都会有一个最大CPU使用时间;若该作业运行的时间超过这个CPU使用时间,就会取消其运行,而再度进入核心作业的任务分配中,等待下一次的CPU运行。这有点像在开记者会,主持人(CPU)会问“谁要发问?”一群记者(作业)就会举手,一般先举手的自然就先允许发问,之后,主持人又会问一次谁要发问,当然,所有人(包括刚刚那个记者)都可以举手。多任务环境对于复杂的工作情况帮助很大。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

标准C++开发入门与编程实践
本书着重介绍标准C++语言,即1998年由ISO正式推出的关于C++的国际性标准版本。 本书从最基础的编程语言概念讲起,共分6篇24章。

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院