Next: Interconnection Networks
Up: Clusters
Previous: Clusters
Threads
- An important aspect of modern operating systems is their support for threads within
processes. A thread, sometimes called a lightweight process, is a basic unit of processor
utilization. A thread is different from the traditional or heavy-weight process, which is equivalent to a task with one thread.
- It runs sequentially on a processor and is interruptible so that the processor can switch to other threads. A process does nothing if it has no threads in it, and a thread must be in exactly one process.
- Context switching among peer threads is relatively inexpensive, compared with context switching among heavy-weight processes.
- Concurrency among processes can be exploited because threads in different processes
may execute concurrently. Moreover, multiple threads within the same process can be assigned to different processors.
- Threads can be used to send and receive messages while other operations within a task continue. For example, a task might have many threads waiting to receive and process request messages. When a message is received by one thread, it is processed by this thread concurrently with other threads processing other messages.
Next: Interconnection Networks
Up: Clusters
Previous: Clusters
Cem Ozdogan
2006-12-27