Home CS439

CS439: Principles of Computer Systems

Homework 3

(Source: Alison Norman.)

Due: Monday, February 4, 2013, 9:00 PM

Homeworks will be submitted electronically. Please refer to the homework turnin instructions.

  1. How can fairness and throughput be competing goals for a scheduler? Give an example where a fair scheduler makes bad use of the CPU and an example where a high-throughput scheduler is unfair.
  2. Consider a uniprocessor kernel that user programs can trap into using system calls. The kernel receive and handles interrupts from I/O devices. Would there be any need for critical sections within that kernel?
  3. You need two Hydrogen atoms and one Oxygen atom to make water. Using monitors, write a solution that generates water whenever the right resources are available. You must have three functions: one to generate Oxygen, one to generate Hydrogen, and one to generate water. Assume the three methods may be executed by any number of threads concurrently.