Hacker News new | past | comments | ask | show | jobs | submit login

>The Linux® compatibility layer has been substantially improved and now is capable of running 64-bit applications on amd64 (x86_64), 1:1 threading

What does 1:1 threading mean?




There are at least three theoretical implementations of userland threads in an Operating System:

* 1:1, where each userland thread maps directly to a kernel thread

* 1:N, where several userland threads map directly to one kernel thread

* M:N, where the kernel maintains a pool of threads and dispatches userland threads to them

History has shown that 1:1 threading has the best trade offs. It's worth more independent research if you are interested in Operating Systems.


Thanks


That's reminds me of database record relations.


Or just re-use of basic structures ;)


https://en.wikipedia.org/wiki/Thread_%28computing%29#1:1_.28...: 1:1 (kernel-level threading)

Threads created by the user in a 1:1 correspondence with schedulable entities in the kernel[10] are the simplest possible threading implementation. OS/2 and Win32 used this approach from the start, while on Linux the usual C library implements this approach (via the NPTL or older LinuxThreads). This approach is also used by Solaris, NetBSD, FreeBSD, OS X, and iOS.


It's also worth noting that FreeBSD used to rely on M:N threading model (via libkse) then switched to 1:1 threading model (via libthr).


Though LinuxThreads was M:N, and Solaris migrated to 1:1 relatively recently too (as did others).


No, LinuxThreads was 1:1. Maybe you are thinking of IBM's NGPT proposal?

http://www.onlamp.com/pub/a/onlamp/2002/11/07/linux_threads....

"Relatively recently" would be Solaris 8, in 2000.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: