Homeworks can be used to solidify your knowledge of the material in each of the chapters. Most homeworks are based on running little simulators, which mimic some aspect of an operating system. For example, a disk scheduling simulator could be useful in understanding how different disk scheduling algorithms work. Some homeworks are just short programming exercises, allowing you to explore how real systems work.
For the simulators, the basic idea is simple: each of the simulators below
let you both generate problems and obtain solutions for an infinite
number of problems. Different random seeds can usually be used to generate
different problems; using the
Each simulator now has a README file that explains how to run the simulator. Previously, this material had been included in the chapters themselves, but that was making the book too long. Now, all that is left in the book are the questions you might want to answer with the simulator; the details on how to run the simulator are all in the README.
Some simulations have a short video with one of the authors introducing the basic concepts of how to use the simulator to generate homework problems. Exciting, because you have to read less! Not exciting, because you have to hear us speak.
NEW: Homework source code has been moved to GitHub
best way to access them is to type
Old: Note: All of these scripts are available individually
here. Each single
script is available as a gzip'd tar file; for example, type
Old: A single tar file containing all scripts is also available; type
tar xvzf all.tgzto unpack all the scripts once you've downloaded the tar file.
Suggestions for homework? Please send them to us. Thanks!