Re:Windows NT vs. Unix: A design comparison
by PaulDavisThe1st on Monday September 09, 2024 @06:38PM
(#41494960)
pthreads is a user-space API, and has nothing to do with the kernel. It is possible to implement pthreads entirely in user space (though somewhat horrific to do so). Linux does not have kernel threads in order to support pthreads (though they help).
Anyway, I see your point about the bleed between the different semantics of a task_t in the linux kernel.
Re:Windows NT vs. Unix: A design comparison
by epcoa on Monday September 09, 2024 @07:33PM
(#41495464)
> Linux does not have kernel threads in order to support pthreads
Yes, what I was alluding to somewhat cryptically was things like tgids and the related tkill/tgkill syscalls that as far I am aware were added with the implementation of 1:1 pthread support in mind.
It’s not so much “heavyweight” vs “lightweight” but that NT has been by design more limited in how you can create new virtual memory spaces.
For better or worse NT tied the creation of VM spaces to this relatively expensive object to create which has made emulating Unix like behavior historically a pain in the ass.