I suppose when windows caught up Bash on Windows, FreeBSD needed to do something to keep one step ahead =].
I suppose when windows caught up Bash on Windows, FreeBSD needed to do something to keep one step ahead =].
What does 1:1 threading mean?
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.
http://www.onlamp.com/pub/a/onlamp/2002/11/07/linux_threads....
"Relatively recently" would be Solaris 8, in 2000.
* 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.
I think we probably should have ripped the bandaid off, and started supporting 64-bit Linux binaries much earlier on FreeBSD/amd64
Those 5'ish weeks was simply not enough time to get such a major addition sufficiently settled down for inclusion in the stable release branch. As such, it is now part of 10.3R.
So, if your application requires newer kernel interfaces that were introduced in 3.x or 4.x, it will not work.