CSE 451, Autumn 2004: Homework 2

Out: Monday, January 10
Due: Wednesday, January 19


Silberschatz: read chapters 3 (Processes), 4 (Threads)

*******************************

Problems

3.1) Describe the differences among short-term, medium-term, and long-term scheduling.

3.2) Describe the actions taken by a kernel to context-switch between processes.

3.4) See text. (Analysis of a forking program)



4.x1) Describe two circumstances in which a multithreaded program using kernel threads would not perform better than a single-threaded solution, on a multi-processor system.

4.x2) What are two differences between user-level threads and kernel-level threads? How do the times for context switching compare? Describe a situation where kernel threads would perform better than user threads on a single-processor system.

4.x3) What resources are used when a thread is created? How do they differ from those used when a process is created?

4.x4) Which of the following components of a program state are shared across threads in a multithreaded process? Explain. (one sentence should suffice)
         a.) Register Values
         b.) Heap Memory
         c.) Global variables
         d.) Stack Memory

4.3) Under what circumstances does a multithreaded solution using multiple kernel threads provide better performance than a single-threaded solution on a single-processor system?

4.5) Can a multithreaded solution using multiple user-level threads achieve better performance on a multiprocessor system than on a single-processor system?

4.7) See text. (Analysis of a multi-threaded program)