Why Threads Are Important
1. There are lots of good reasons to use threads.
“easy” coding of multiple activities in an application
e.g., servers with multiple independent clients
parallel programming to reduce execution time
2. Threads are great for experimenting with concurrency.
context switches and interleaved executions
race conditions and synchronization
can be supported in a library (Nachos) without help from OS
3. We will use threads to implement processes in Nachos.
(Think of a thread as a process running within the kernel.)