Student Resources
Operating Systems: Internals and Design Principles, Sixth Edition

Last updated: Thursday, November 11, 2010

Online Chapters

Chapters 17 and 18, and the Glossary, in PDF format, are available for download here.

Online Appendices

Appendix D through Appendix I, in PDF format, are available for download here.

Useful Documents

UNIX: All of the UNIX material from the book in one PDF document, for easy reference.
Linux: All of the Linux material from the book in one PDF document, for easy reference.
Windows: All of the Wndows material from the book in one PDF document, for easy reference.
Pseudocode: All of the algorithms from the book in an easy-to-read Pascal-like pseudocode.

Practice Problems

A set of homework problems with solutions is available. Students can enhance their understanding of the material by working out the solutions to these problems and then checking their answers.

Just Enough C

Most of the algorithms in the book are defined in the C programming language. For those not familiar with C, the following documents are useful.

C and C++ in 5 days. A good tutorial for quickly getting up to speed on C. By Philip Machanick, University of the Witwatersrand, South Africa.
The C Cheat SheetThis 74-page document enables the beginning C programmer to get started with the language and write small-to-medium-size programs involving simple I/O, file manipulation, and arithmetic computations. Lots of examples. By Andrew Sterian, Grand Valley State University.
An Introduction to C Programming for Java Programmers. If you know Java, this introduction will quickly make it easy for you to read C. By Mark Handley, University College, London
C for Java Programmers. Another good introduction for the Java-literate. By Jason Maassen, VU University, Amsterdam

Useful Web Sites

Computer Science Student Resource Site: Help and advice for the long-suffering, overworked student.
Animations: Links to animations that illustrate concepts from the book.
Errata sheet: Latest list of errors, updated at most monthly. File name is Errata-OS6e-mmyy. If you spot any errors, please report them to .

Chapter 1 - Computer System Overview

WWW Computer Architecture Home Page: A comprehensive index to information relevant to computer architecture researchers, including architecture groups and projects, technical organizations, literature, employment, and commercial information.
CPU Info Center. Information on specific processors, including technical papers, product information, and latest announcements.

Chapter 2 - Operating System Overview

Operating Systems at the Open Directory Project A massive organized directory of OS-related links.
The Operating System Resource Center A useful collection of documents and papers on a wide range of OS topics.
Operating System Technical Comparison Includes a substantial amount of information on a variety of operating systems.
ACM Special Interest Group on Operating Systems. Information on SIGOPS publications and conferences.
IEEE Technical Committee on Operating Systems and Applications. Includes an online newsletter and links to other sites.
The comp.os.research FAQ: Lengthy and worthwhile FAQ covering operating system design issues.
UNIX Guru Universe: Excellent source of UNIX information.
Linux Documentation Project: The name describes the site.
IBM's Linux Website. Provides a wide range of technical and user information on Linux. Much of it is devoted to IBM products but there is a lot of useful general technical information.
Windows Development: Good source of information on Windows internals.
Timesharing: A marvelous 1983 tutorial video on timesharing, with Corbato.

Chapter 4 - Threads

POSIX Threads An informative overview.

Chapter 8 - Virtual Memory

The Memory Management Reference A good source of documents and links on all aspects of memory management.

Chapter 13 - Embedded Operating Systems

Embedded.com: Wide variety of information on embedded systems.
eCos: Downloadable software, information, and links on eCos.
TinyOS Community Forum: Downloadable software, information, and links on TinyOS.

Chapter 14 - Computer Security Threats

Computer Security Resource Center: Maintained by NIST; contains a broad range of information on security threats, technology, and standards.
CERT Coordination Center: The organization that grew from the computer emergency response team formed by the Defense Advanced Research Projects Agency. Site provides good information on Internet security threats, vulnerabilities, and attack statistics.
Vmyths: Dedicated to exposing virus hoaxes and dispelling misconceptions about real viruses.

Chapter 15 - Computer Security Techniques

Password Usage and Generation: NIST documents on this topic
Biometrics Consortium: Government-sponsored site for the research, testing, and evaluation of biometric technology.
NIST RBAC site: Includes numerous documents, standards, and software on RBAC
STAT Project: A research and open-source project at the U. of California, Santa Barbara that focuses on signature-based intrusion detection tools for hosts, applications, and networks
Snort: Web site for Snort, an open source network intrusion prevention and detection system.
Anti-Virus Online: IBM's site on virus information; one of the best.
VirusList: Site maintained by commercial antivirus software provider. Good collection of useful information.

Chapter 16 - Distributed Processing, Client/Server and Clusters

IEEE Computer Society Task Force on Cluster Computing An international forum to promote cluster computing research and education.
Beowulf Central soure of information on Beowulf clusters.
SQL Standards Good source of information and documents.

Chapter 17 - Networking

Networking Links: Excellent collection of links related to TCP/IP.
IPv6: Contains information about IPv6 and related topics.

Appendix B - Object Oriented Design

Object Management Group Industry consortium that promotes CORBA and related object technologies.