Linux 线程实现机制分析
日期:2008年2月24日 作者: 查看:[大字体 中字体 小字体]-
LinuxThreads 的问题,特别是兼容性上的问题,严重阻碍了Linux上的跨平台应用(如Apache)采用多线程设计,从而使得Linux上的线程应用一直保持在比较低的水平。在Linux社区中,已经有很多人在为改进线程性能而努力,其中既包括用户级线程库,也包括核心级和用户级配合改进的线程库。目前最为人看好的有两个项目,一个是RedHat公司牵头研发的NPTL(Native Posix Thread Library),另一个则是IBM投资开发的NGPT(Next Generation Posix Threading),二者都是围绕完全兼容POSIX 1003.1c,同时在核内和核外做工作以而实现多对多线程模型。这两种模型都在一定程度上弥补了LinuxThreads的缺点,且都是重起炉灶全新设计的。1.NPTL
NPTL的设计目标归纳可归纳为以下几点:
- POSIX兼容性
- SMP结构的利用
- 低启动开销
- 低链接开销(即不使用线程的程序不应当受线程库的影响)
- 与LinuxThreads应用的二进制兼容性
- 软硬件的可扩展能力
- 多体系结构支持
- NUMA支持
- 与C++集成
在技术实现上,NPTL仍然采用1:1的线程模型,并配合glibc和最新的Linux Kernel2.5.x开发版在信号处理、线程同步、存储管理等多方面进行了优化。和LinuxThreads不同,NPTL没有使用管理线程,核心线程的管理直接放在核内进行,这也带了性能的优化。
主要是因为核心的问题,NPTL仍然不是100%POSIX兼容的,但就性能而言相对LinuxThreads已经有很大程度上的改进了。
2.NGPT
IBM的开放源码项目NGPT在2003年1月10日推出了稳定的2.2.0版,但相关的文档工作还差很多。就目前所知,NGPT是基于GNU Pth(GNU Portable Threads)项目而实现的M:N模型,而GNU Pth是一个经典的用户级线程库实现。
按照2003年3月NGPT官方网站上的通知,NGPT考虑到NPTL日益广泛地为人所接受,为避免不同的线程库版本引起的混乱,今后将不再进行进一步开发,而今进行支持性的维护工作。也就是说,NGPT已经放弃与NPTL竞争下一代Linux POSIX线程库标准。3.其他高效线程机制
此处不能不提到Scheduler Activations。这个1991年在ACM上发表的多线程内核结构影响了很多多线程内核的设计,其中包括Mach3.0、NetBSD和商业版本 Digital Unix(现在叫Compaq True64 Unix)。它的实质是在使用用户级线程调度的同时,尽可能地减少用户级对核心的系统调用请求,而后者往往是运行开销的重要来源。采用这种结构的线程机制,实际上是结合了用户级线程的灵活高效和核心级线程的实用性,因此,包括Linux、FreeBSD在内的多个开放源码操作系统设计社区都在进行相关研究,力图在本系统中实现Scheduler Activations。
- 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
-
- Linux 线程实现机制分析 相关文章:
- ·无线攻防:破解WEP密钥过程全解
- ·ZXDSL 531B 无线ADSL路由器
- ·三国群雄传之卧龙与凤雏 支线任务 - 游戏攻略
- ·综合布线系统工程设计参考大全
- ·宽带共享该怎样设置无线路由器
- ·天龙八部 极恶路线攻略 - 游戏攻略
- ·无线网络攻防实战:WEP密钥如何被攻破的
- ·谁知道现在无线上网 费用怎么收
- ·自己制造无线网络增益天线
- ·28个免费在线电影网站
- Linux 线程实现机制分析 相关软件
- ·重返狼穴III:越南视线 Line of Sight: Vietnam 简体中文版
- ·赤色战线2
- ·微软正版认证离线安装包 build 2006.12.24 第二版
- ·QQ在线查看器 V1.8
- ·重返狼穴3:越南视线
- ·近距离作战3俄国前线
- ·马赫5无线上网加速 V5.0
- ·无线上网加速器 V2.3
- ·危机最前线2
- ·二战风云:前线指挥官
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:菜鸟手记:初次感受Linux
精品推荐
热点TOP10
- ·什么是MIS
- ·Vi命令一览表
- ·Linux操作系统介绍
- ·BIOS知识大全
- ·Linux学习手册
- ·Linux操作系统源代码详细分析
- ·VIA-威盛南桥集成AC97声卡驱动安装指南
- ·Linux From Scratch安装学习笔记
- ·RPM命令大全
- ·linux知识大全
- ·常见端口表汇总
- ·Linux 线程实现机制分析
- ·最新linux iso光盘下载点
- ·Linux发行版图标大全
- ·万能声卡驱动(Alsa)的安装方法
- ·LINUX 常见问题1000个详细解答
- ·Linux/Unix环境下的make命令详解
- ·仅仅查看IP地址
- ·JFFS2 文件系统及新特性介绍
- ·Linux管理工具介绍
特别推荐
- ·Linux企业安全管理中的应用
- ·Linux 线程实现机制分析
- ·Linux内核安全的入侵侦察系统
- ·Linux中QQ的配置
- ·Linux下的后门和常见日志工具
- ·BIOS知识大全
- ·如何编写Linux设备驱动程序
- ·Linux管理工具介绍
- ·Linux操作系统源代码详细分析
- ·Linux下用pptp连接VPN服务器
- ·在linux7.1上安装jdk+tomcat+oracle9i笔记
- ·Linux学习手册
- ·学习Linux的八点忠告
- ·深入分析Linux防火墙
- ·UNIX系统后门的安放和日志的擦除
- ·揭开Expect的神秘面纱
- ·万能声卡驱动(Alsa)的安装方法
- ·长篇连载--arm linux演艺---序
- ·为CanonPIXMAiP1000喷墨打印机安装驱动程序
- ·详细讲解Linux系统下ADSL拨号上网方法
