- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多任务和多线程 壹佰软件开发小组 整理编
译
多任务是一个操作系统可以同时执行多个程序的能力。基本上,操作系统使用一个硬件时钟为同时执行的
每个程序配置「时间片段」。如果时间片段够小,并且机器也没有由于太多的程序而超出负荷时,那么在
使用者看来,所有的这些程序似乎在同时执行着。
多任务并不是什么新的东西。在大型计算机上,多任务是必然的。这些大型主机通常有几十甚至几百个终
端机和它连结,而每个终端机使用者都应该感觉到他或者她独占了整个计算机。另外,大型主机的操作系
统通常允许使用者「提交工作到背景」,这些背景作业可以在使用者进行其它工作时,由机器执行完成。
个人计算机上的多任务花了更长的时间才普及化。但是现在P C多任务也被认为是很正常的了。我马上就会
讨论到,M i c r osof t Wi ndows 的16位版本支持有限度的多任务,W i ndows 的32位版本支持真正的多任务,而
且,还多了一种额外的优点,多线程。
多线程是在一个程序内部实作多任务的能力。程序可以把它自己分隔为各自独立的「线程」,这些线程似
乎也同时在执行着。这一概念初看起来似乎没有什么用处,但是它可以让程序使用多执行绪在背景执行冗
长作业,从而让使用者不必长时间地无法使用其计算机进行其它工作(有时这也许不是人们所希望的,不
过这种时候去冲冲凉或者到冰箱去看看总是很不错的)!但是,即使在计算机繁忙的时候,使用者也应该
能够使用它。
多任务的各种模式
在P C的早期,有人曾经提倡未来应该朝多任务的方向前进,但是大多数的人还是很迷惑:在一个单使用者
的个人计算机上,多任务有什么用呢?好了,最后事实表示即使是不知道这一概念的使用者也都需要多任
务的。
DOS下的多任务
在最初P C上的I nt el 8088微处理器并不是为多任务而设计的。部分原因(我在 上一章 中讨论过)是内存
管理不够强。当启动和结束多个程序时,多任务的操作系统通常需要移动内存块以收集空闲内存。在8 088
上是不可能透明于应用系统来做到这一点的。
DOS本身对多任务没有太大的帮助,它的设计目的是尽可能小巧,并且与独立于应用程序之外,因此,除
了加载程序以及对程序提供文件系统的存取功能,它几乎没有提供任何支持。
不过,有创意的程序写作者仍然在D OS的早期就找到了一种克服这些缺陷的方法,大多数是使用常驻
(TSR:ter mi nat e- and- st ay - r esi dent )程序。有些T SR,比如背景打印队列程序等,透过拦截硬件时钟
中断来执行真正的背景处理。其它的T SR,诸如S i deKi c k等弹出式工具,可以执行某种型态的工作切换-
暂停目前的应用程序,执行弹出式工具。D OS也逐渐有所增强以便提供对T SR的支持。
一些软件厂商试图在D OS之上架构出工作切换或者多任务的外壳程序(s hel l )(诸如Q uart er dec k的
Des qVi ew),但是在这些环境中,仅有其中一个占据了大部分市场,当然,这就是W i ndows 。
非优先权式的多任务
当M i cr os of t 在1 985年发表W i ndows 1. 0时,它是最成熟的解决方案,目的是突破D OS的局限。W i ndows在实
际模式下执行。但是即使这样,它已可以在物理内存中移动内存块。这是多任务的前提,虽然移动的方法
尚未完全透明于应用程序,但是几乎可以忍受了。
在图形窗口环境中,多任务比在一种命令列单使用者操作系统中显得更有意义。例如,在传统的命令列
UNI X中,可以在命令列之外执行程序,让它们在背景执行。然而,程序的所有显示输出必须被重新转向到
一个文件中,否则输出将和使用者正在做的事情混在一起。
窗口环境允许多个程序在相同屏幕上一起执行,前后切换非常容易,并且还可以快速地将数据从一个程序
移动到另一个程序中。例如,将绘图程序中建立的图片嵌入由文书处理程序编辑的文本文件中。在
Wi ndows 中,以多种方式支持数据转移,首先是使用剪贴簿,后来
原创力文档


文档评论(0)