Creating and implementing processes requires system calls; e.g., fork() in Linux. Why?
Similarly, creating and managing threads would seem to require system calls.
This would be the one-level model for implementing threads.
All data structures (Thread Control Blocks) would be in the kernel image and functions to manage threads would all be kernel code and would require system calls by user programs.
All these operations would occur in the kernel:
- creation
- termination
- synchronization
- scheduling