CSC 226-051
Fall 2013
October 24, 2013
Key Terms
Lightweight process; this is the unit of dispatching also known as thread.
Multithreading; this refers to the ability of an os to support multiple, concurrent paths of
Execution within a single process.
Kernel-level thread; this is a type of threading in which all of the work of thread management is done by the kernel.
Thread; this is a single execution path, with an execution stack, processor stack, and scheduling information.
Review Questions
4.1 Table 3.5 lists typical elements found in a process control block for an unthreaded OS.
Of these, which should belong to a thread control block and which should belong to a Process control block for a multithreaded system?
Identifiers will appear in both thread and process control blocks, because both need to be identified.
Processor State Information should belongs to process control block. Kernel will only interact with process not threads.
Process Control Information: Thread control block should handle scheduling and State Information. Data Structuring should also be handled by thread control block (mostly). Memory Management and Resource ownership should belong to process control block. Privileges and Inter-process communications can probably be divided between the 2 process blocks depending on the system.
4.2 List reasons why a mode switch between threads may be cheaper than a mode switch between processes.
Switching process requires OS to process more information.
Memory is shared by threads, so there's no need to exchange memory or data during thread creation or switching.
Thread switching does not require kernel to get involved, which in turn saves time on switching user to kernel mode.
4.3 What are the two separate and potentially independent characteristics embodied in the concept of process?
Resource ownership: A process includes a virtual address space to hold the process image; recall from