【Linux基础】线程发展历程

来源:互联网 发布:工艺流程图设计软件 编辑:程序博客网 时间:2024/05/22 03:06
线程技术是在上世纪60年代被提出,而真正应用到操作系统中还是上世纪80年代中期。现在,多线程已经被许多操作系统所应用,其中包括Linux系统。
在Linux2.2内核中,线程也是通过fork创建的“轻”进程,并不存在真正意义上的线程。这也就是说,线程实际上是通过进程来模拟的,新的进程是原来进程的子进程。需要注意是,这时线程的个数很有限,最多只能有4096个进程/线程同时运行。
在Linux2.4内核中消除了线程个数的限制,并且允许在系统运行中动态地调整进程/线程数上限,进程数的多少只受物理内存的多少影响。这时采用的是LinuxThread线程库,它对应的线程模型是“一对一”线程模型,也就是一个用户级线程对应一个内核线程,而线程之间的管理在内核外函数库中实现。
在Linux2.6内核中,为了解决以上问题,进程调度重新编写,删除了以前版本中效率不高的算法。内核线程框架也被重新编写,开始使用NPTL(Native POSIX Thread Library)线程库。NTPL线程库有低启动开销、低链接开销的特性。

本文转载于唯C教育,【Linux基础】线程发展历程
http://www.weicedu.com/forum.php?mod=viewthread&tid=118&fromuid=4
(出处: http://www.weicedu.com)

原创粉丝点击