Taken directly from the threads FAQ . . . probably needs to by updated.
| Vendor | OS version | Threads model | POSIX API | Notes |
| Digital |
Digital UNIX 4.0 | mixed | D4, 1c |
|
| Digital UNIX 3.2 | kernel /
bound | D4 |
|
| OpenVMS 7.0 (Alpha) | see note 1 | D4, 1c | user model
without patch kit |
| OpenVMS 7.0 (VAX) | user | D4, 1c |
|
| OpenVMS 6.2 | user | D4 |
|
| HP |
HP/UX 10.20 | ? | ? | not yet
announced |
| HP/UX 10.10 | user | D4 |
|
| IBM |
AIX 4.1 & 4.2 | kernel | D4, D7 |
|
| AIX 3.2.x | user | DCE |
|
| OS/2 | kernel | DCE |
|
| Linux |
Linux 1.2.13 and above | user / kernel | 1c,
DCE | see free
implementations for several packages |
| Linux 2.x | kernel | n/a | clone()
interface |
| Microsoft |
Windows NT & 95 | kernel | DCE | DCE
kits layer on top of WIN32 threads |
| SGI |
Irix 6.2 | mixed | see note 2 | sproc() is still
kernel / bound |
| Irix 6.1 | kernel /
bound | n/a | sproc() interface
only |
| Sun |
Solaris 2.5 and above | mixed / system /
bound | 1c |
|
| Solaris 2.4 | mixed / system /
bound | D8 | available from Sun only upon request |
| Solaris 2.x | mixed / system /
bound | n/a | UI threads supported across all
releases |
| SunOS 4.x | user | n/a | LWP
only |
| Threads model | Meaning |
| user |
|
a purely user-level threads system, with threads multiplexed atop
a "traditional" Unix-style process |
| kernel |
|
threads are "kernel entities" with no context switches taking
place in user mode |
| / bound |
a thread may be explicitly bound to a particular processor |
| mixed |
|
a mixed-mode scheduler where user threads are multiplexed across
some number of LWPs |
| / system |
threads have "system" contention scope (a user thread may be
permanently bound to an LWP) |
| / bound |
an LWP may be permanently bound to a particular processor |
| API |
Meaning |
| n/a |
no POSIX threads API provided |
| 1c |
conforms to the POSIX 1003.1c-1995 threads API |
| DCE |
POSIX 1003.4a draft 4 API is available as part of the
OSF DCE kit for the platform |
| D4 |
DCE threads (or something similar) is bundled with the system |
| D7 |
POSIX 1003.4a draft 7 API (similar to the final 1003.1c
standard, but substantially different in some details) |
| D8 |
POSIX 1003.4a draft 8 API (identical in most respects to the
1003.1c standard, but with a few "gotchas") |
|