调度激活机制

Avoiding Blocking System Calls in a User-Level Threads Scheduler for Shared Memory Multiprocessors

这是我很早就下载的一个pdf文档,具体哪里下的忘了,特向作者致谢,这文档真的不错!题目我保留了,需要全文的朋友可以自己google,这篇文章我只翻译部分,略了很多,主要加上自己的想法。强烈建议阅读原文! 
作者信息: 
Andrew Borg 
andborg@orbit.net.mt 
University of Malta 
June 26, 2001 
摘要

smp近来大规模应用于并行计算,多线程被证明非常适合smp。程序员利用线程库编写多线程程序。线程库要么自己调度线程要么把调度任务交给操作系统内核。但是这两种方法都会引起一些问题。本文描述了两个用户级别的调度器,一个适于单cpu,一个适于smp。这些机制会使在执行阻塞系统调用时不会在内核 阻塞。为了实现这个目的,我们利用系统扩展里面一个叫做“调度激活”的机制。避免阻塞在那些需要同时处理很多客户端的服务器程序里非常有用。一个提供静态页面的web服务器也将从中受益。 
1.引言 
老版本的unix及类unix系统对多线程并发编程支持的很不让人满意。这些使得设计并行应用非常困难。多线程在很多并行编程中是同时协同过程的容器。 
传统意义的线程被分为内核线程和用户线程。用户线程的主要优势就是高效,它的调度核心在用户空间实现。内核线程就不那么高效了,它需要内核来提供调度机制。这篇论文里面,我们提供一个调度激活机制来对用户线程提供内核级别的支持。通过这种犯法,用户线程保持着它的高效,并且调度核心仍然在用户空间。 
2.背景 
2.1.从进程到内核线程 
线程的概念在1965年就有了。在那时它们不叫线程,而叫进程。 



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1274179

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值