There are three thread models that are used in thread scheduling implementations usually done by OS Kernels. One of them is the hybrid (M:N
) model in which some
First of all read this: http://www.kegel.com/c10k.html#1:1
Linux uses 1:1 threading model starting from kernel 2.6 (NPTL Native Posix threading library) and today almost all OSes move to this model:
Once Linux had M:N model (this was in 2.4 NGPT) but 1:1 is generally superior.
The biggest problem with M:N model is:
One of them is the hybrid (M:N) model in which some N threads of an application are mapped to some M available processors.
Small correction - N application threads mapped to M kernel threads so they can use up to M processors.