如何付款 | 地理位置 | 帮助中心
 
 
 
了解Linux线程技术的概念与技术发展 (3)
网络  发表时间 2005-12-13

 Linux线程实现方法

目前线程有用户态线程和核心态线程两种方法实现。

1.用户态线程

用户态线程是一个精细的软件工具,允许多线程的程序运行时不需要特定的内核支持。如果一个进程中的某一个线程调用了一个阻塞的系统调用,则该进程就会被阻塞,该进程中的其它所有线程也同时被阻塞。因此,Unix使用了异步I/O机制。这种机制主要的缺点在于,在一个进程中的多个线程调度中无法发挥多处理器的优势(如上述的阻塞情况)。

用户态线程优点如下:

◆某些线程操作的系统消耗大大减少。比如,对属于同一个进程的线程之间进行调度切换时,不需要调用系统调用,因此将减少额外的消耗,一个进程往往可以启动上千个线程。

◆用户态线程的实现方式可以被定制或修改,以适应特殊应用的要求。它对于多媒体实时过程等尤其有用。另外,用户态线程可以比核心态线程实现方法默认情况支持更多的线程。

2.核心态线程

核心态线程的实现方法允许不同进程中的线程按照同一相对优先调度方法进行调度,这样有利于发挥多处理器的并发优势。

目前,线程主要的实现方法是用户态线程。有几个研究项目已经实现了一些核心态线程的形式,其中比较著名的是MACH分布式操作系统。

通过允许用户代码对内核线程调度的参与,该系统将用户态和核心态两种线程实现方法的优点结合了起来。通过提供这样一个两级调度机制,内核在保留了对处理器时间分配控制的同时,也使一个进程可以充分利用多处理器的优势。

Linux对超线程技术支持

超线程技术(Hyperthreading Technology)是Intel公司的创新设计。HT技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,并提高处理器的性能。

操作系统或应用软件的多线程可以同时运行于一个处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。

而HT技术可以使芯片同时进行多线程处理,当在支持多处理器的Windows XP或Linux等操作系统之下运行时,同时运行多个不同的软件程序可以获得更高的运行效率。这两种方式都可使计算机用户获得更优异的性能和更短的等待时间。

关键词:Linux、Linux线程技术、Linux线程、Linux技术、网页制作报价、网站设计开发  

 

-->更多相关新闻
版权所有©2005 上海巧创网络技术有限公司 沪 ICP 备 05001802 号
网络实名: 上海网站建设上海网络公司上海仓存管理软件 电话: 021-50757260 50769776 50758883 传真: 50757260-14
地址:上海市浦东枣庄路 683 号(金杨经济服务中心) 6 楼 邮编 :201206 E-mail:webmaster@soeasy.cn