@Rogue:
'OS4 supports real threads.'
What kind of threads? There's for example kernel space threads where threads are scheduled by the operating system and thus can run in parallel. You have user space threads where threads are scheduled by the application itself with minor help from the operating system, and thus can not run in parallel. (To avoid confusion: with 'in parallel' I mean that to the OS, there are more tasks based on the same parent running. With user space threads, the operating system sees just one task: the parent.) You even have complex systems where both are combined.
In addition, Linux has a most elegant design where the user can select which resources are shared between the thread and its parent: memory, signals, file descriptors, and a few more. I'm sure that other operating systems have their variants. So there's quite a number of options to choose from. Can you elaborate on the type implemented in OS4?