Multi-Threaded Servers
Kernel-level threads involve kernel, user-level threads could block all
threads if synchronous I/O.
Scheduler activations---only involve kernel when a user-level thread
blocks.
Must support massively threaded processes:
- lots of thread stacks
- synchronization overhead