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 -c flag computes the answers for you
(presumably after you have tried to compute them yourself!).
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
here. The
best way to access them is to type git clone
https://github.com/remzi-arpacidusseau/ostep-homework/ and then cd into the
relevant homework directory, read the README, and follow directions at the end
of the relevant chapter.
Topic of Interest Chapter Video What To DoProcess Intro PDF Video Runprocess-run.pyProcess API PDF Video Write some codeDirect Execution PDF Video Write some codeScheduling Basics PDF Video Runscheduler.pyLottery Scheduling PDF Video Runlottery.pyVM Intro PDF Video Write some codeVM API PDF Video Write some codeSegmentation PDF Video Runsegmentation.pyFree Space PDF Video Runfreespace.pyTLBs PDF Video Write some codePaging Policy PDF Video Runpaging-policy.py
Topic of Interest Chapter Video What To DoThreads (Locks Usage) PDF Video Write some codeThreads (Semaphores) PDF Video Write some codeThreads (Bugs) PDF Video Runvector-*.cThreads (Events) PDF Video Write some code
Topic of Interest Chapter Video What To DoFS Intro PDF Video Write some codeIntegrity PDF Video Runchecksum.pyand Write some codeDistributed Intro PDF Video Write some code
Suggestions for homework? Please send them to us. Thanks!