2. 简介 |
SunOS支持多线索控制的原因分为两类: 由多处理器硬件和应用并行性的促动。依赖于修改单处理器软件库的程度,开发各种程度的多处理器是可能的。在最简单的情况,只有分离的用户进程能运行在附加的处理器上:应用是不变的。为允许一个单个应用使用多处理器(例如,数组处理工作负载), 这个应用必须被重构。
多线索控制的第二个原因是应用并发性。许多应用由几个独立的计算被最好地构成。一个数据库系统在进行过程可以有许多用户交互作用,同时进行几个文件和网络的操作。一个窗口系统能把每个部件(widget)作为一个输入来处理。一个网络服务器可以间接地需要它自己的服务(和另一个线索控制)以处理请求。这时,虽然能编写控制请求到请求的线索的软件,但是可以通过把每个请求作为一个独立的程序编写简化程序,并让语言、库和操作系统处理不同操作的交织。
虽然这些例子将是不能穷尽的,但是他们表明了各种机会,即开发强有力硬件并用这个技术建立复杂的应用和服务的机会。这些例子表明多线索控制的用户模式必须支持各种应用和环境。如果可能,这个结构应使用当前的编程模式并保留软件的一致性。
就象今天的许多系统服务一样, 编程者控制服务的多线索的观点不总和内核所实现的相同。由内核、运行时库和编译系统的组合创立软件的观点。这个方法通过隐藏实现的某些细节,并允许库程序不涉及内核完成一些工作来提供好的性能,这种方法提高了应用和系统的可移植性。
这篇论文的其余部分分为五节。第一节给出了这个结构的概要并介绍了我们的术语。第二节讨论我们的设计目的和原则。第三节给出了操作和接口的特别细节,以及进程模式怎样在新环境被再次解释。第四节给出性能数据和操作经验。最后一节比较这个结构和其他结构。
不幸的是,多处理器和多线索计算的术语没有得到普遍的同意。虽然最一般的术语已被选择,并切一致性也被试用,但还要警告读者有些人把这些词用于其他意义。本论文的最后一节能看到其他模式的例子。
Copyright: NPACT |