Skip to content
This repository

free, modifiable textbook on operating systems principles (Creative Commons)

branch: master
Octocat-spinner-32 web-site updated zip file of pdf figures because one was changed in 1.1.6 January 05, 2014
Octocat-spinner-32 .gitignore preparing for hyperref August 08, 2011
Octocat-spinner-32 README.md release 1.1.6 January 05, 2014
Octocat-spinner-32 by-sa.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 distmid.tex fixes #75 January 05, 2014
Octocat-spinner-32 hail_f0101.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0102.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0201.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0202.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0205.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0206.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0208.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0301.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0302.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0303.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0304.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0305.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0306.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0307.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0309.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0401.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0404.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0408.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0412.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0413.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0414.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0415.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0416.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0420.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0422.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0424.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0501.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0502.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0503.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0504.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0505.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0506.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0507.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0508.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0509.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0510.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0511.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0512.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0513.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0601.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0602.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0603.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0604.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0605.pdf Matt Knutson redrew figure that confusd many readers January 05, 2014
Octocat-spinner-32 hail_f0606.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0607.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0608.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0609.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0610.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0612.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0613.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0614.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0616.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0617.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0618.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0619.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0708.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0709.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0713.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0714.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0715.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0716.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0718.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0719.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0801.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0810.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0811.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0812.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0813.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0815.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0816.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0817.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0901.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0902.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0903.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0904.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0905.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0906.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0909.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0910.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0911.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0912.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0913.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f0a01.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1001.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1002.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1003.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1004.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1005.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1101.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1102.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1103.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1104.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 hail_f1107.pdf initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 intro.tex fixes #21 December 16, 2013
Octocat-spinner-32 networking.tex fixes #74 December 16, 2013
Octocat-spinner-32 os-book.bib initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 os-book.tex release 1.1.6 January 05, 2014
Octocat-spinner-32 persistence.tex fixes #76 January 05, 2014
Octocat-spinner-32 petra.pdf optional cover photo can be enabled with a flag in os-book.tex August 14, 2011
Octocat-spinner-32 preface.tex fixes #20 December 16, 2013
Octocat-spinner-32 processes.tex fixes #55 December 16, 2013
Octocat-spinner-32 scheduling.tex fixes #70 December 16, 2013
Octocat-spinner-32 security.tex Merge pull request #69 from kevindexter/master December 16, 2013
Octocat-spinner-32 stacks.tex initial commit corresponding to revised edition 1.1 August 05, 2011
Octocat-spinner-32 synchronization.tex fixes #66 December 16, 2013
Octocat-spinner-32 threads.tex fixes #40 December 16, 2013
Octocat-spinner-32 transactions.tex fixes #45 December 16, 2013
Octocat-spinner-32 vm.tex Matt Knutson redrew figure that confusd many readers January 05, 2014
README.md

This directory contains the LaTeX source files for the textbook Operating Systems and Middleware: Supporting Controlled Interaction Revised Edition 1.1.6, Copyright 2011-2013 by Max Hailperin.

These files are intended for those who want to modify the book, whether by changing its contents or by porting it to some other format. Those who just want to read the book in its current form are likely to find it easier to obtain a ready-made PDF file from the web.

More information about this book can be found at https://gustavus.edu/+max/os-book/

Recreating the PDF file

Recreating the PDF file from these source files requires six steps:

pdflatex os-book
bibtex os-book
pdflatex os-book
pdflatex os-book
makeindex os-book
pdflatex os-book

Descriptions of files

The main file is os-book.tex. All the other .tex files are included by it. There is one .tex file for each chapter. For example, Chapter 1, "Introduction", is in intro.tex.

The bibliography data used by the bibtex command is in os-book.bib.

The files with names of the form hail_f*.pdf are the artwork figures. For example, hail_f0101.pdf is Figure 1.1. Most of these were redrawn from the author's sketch by a graphic artist hired by the first edition's publisher, Course Technology. Course Technology has assigned the copyright to these first-edition figures back to the author, who has included them under the same Creative Commons license as the rest of the book. (This issue doesn't arise for Figures 5.6, 5.7, and 5.13, which were redrawn by the author in modified form for this revised edition.) One special case is Figure 8.1, which is an annotated version of a photo copyright by and reprinted by courtesy of Seagate Technology LLC. Seagate has explicitly authorized distribution of this photo under this revised edition's Creative Commons License provided that the attribution is maintained with the photo. However, they only allow this licensed use of the photo so long as it remains part of the book: you may not redistribute the photo on its own under the Creative Commons License.

The file by-sa.pdf is the identifying "button" for the Creative Commons license covering this textbook, the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

The file petra.pdf is a cover photo that can optionally be enabled by setting a flag in os-book.tex. The attribution for this photo is also included in os-book.tex.

Version numbering convention

See https://gustavus.edu/+max/os-book/version-numbering.html

Something went wrong with that request. Please try again.