- 论坛徽章:
- 0
|
原帖由 mingyanguo 于 2006-2-13 17:00 发表
跟FreeBSD的那个模型一样么?看上去很相似。
疑似!
FreeBSD KSE Project
Overview
Kernel Scheduler Entities (KSE), is a kernel-supported threading system similar in design to Scheduler Activations [Anderson, et. al.]. It strikes a balance between user-level (1:N) and kernel-level (1:1) threading models, giving most of the advantages of both, and few of the disadvantages of either.
There are two halves of this project: kernel support and user support. The kernel support consists of modifications to the FreeBSD scheduler; The user half is a POSIX® threads implementation which takes advantage of the extra facilities the kernel provides.
The goal is to replace the current user threading system provided by the libc_r library, and the -pthread gcc option, with a new libpthread library which will be linked with the -lpthread gcc option.
Using KSE
All KSE development is being done in 5.0-CURRENT. No special kernel configuration options are required to build a kernel with the KSE-related changes (the changes are inextricable from the FreeBSD scheduler).
In order to use KSE in an application, you need to link it against libpthread; this is straightforward. In the application's makefile(s), change the -pthread compiler switch or -lc_r link option to -lpthread and relink. Alternatively, you can use /etc/libmap.conf to map libc_r to libpthread (see libmap.conf(5)). |
|