-
Primary course reference (required):
xv6: a teaching operating system,
by Cox, Kaashoek, and Morris.
(xv6 home page at MIT)
Source code archive:
xv6-rev3.tar.gz.
Source listing with line numbers:
xv6-rev3.pdf.
Online commentary (draft): all one PDF,
or in chapters:
Students taking the course should obtain printed copies
of both the xv6 commentary
and the line-numbered source code listing,
to refer to side-by-side in class or while doing lecture homework.
Printed copies are available at
Yale RIS:
be sure to get both packets: CPSC422_522b1 and CPSC422_522b2.
-
Secondary reference (optional):
Operating System Concepts (Eighth Edition)
by Silberschatz, Galvin, and Gagne.
John Wiley & Sons, Inc., 2008. ISBN 0-470-12872-0.
Available from the
Yale bookstore
or on the
web,
and on 2-hour reserve at the
Becton Library.
-
Other useful books on 24-hour reserve at the
Becton Library:
-
Protected Mode Software Architecture
by T. Shanley,
MindShare, Inc., 1996. ISBN 0-20-155447-X.
This book rehashes several IA32 manuals by Intel.
-
The C Programming Language (Second Edition)
by B. W. Kernighan and D. M. Ritchie,
Prentice-Hall 1988. ISBN 0-13-110362-8.
The definitive guide to C, but see also the excellent
online C reference
http://www.cs.cf.ac.uk/Dave/C/CE.html.
-
Undocumented PC (Second Edition)
by Frank van Gilluwe,
Addison-Wesley Professional 1996. ISBN 0-20-147950-8.
This book was written for hard-core PC software hackers.
It has information about various Intel architectures
(8086, 286, 386, 486, Pentium, Pentium Pro) and PC systems.
No need to read this book to do the projects.
-
Operating Systems Design and Implementation (Third Edition)
by A. Tanenbaum and A. Woodhull,
Prentice-Hall, Inc, 2006. ISBN 0-13-142938-8. A famous OS textbook
including a full source listing of the MINIX 3 system.
-
Modern Operating Systems (Second Edition)
by A. Tanenbaum,
Prentice-Hall, Inc, 2001. ISBN 0-13-031358-0.
Another excellent OS textbook.
-
The Mythical Man-Month: Essays on
Software Engineering
by F. Brooks, Jr.,
Addison-Wesley Pub Co, 1995.
ISBN 0-201-83595-9. How to organize and plan a large-scale
software development project.
-
Writing Solid Code
by S. Maguire,
Microsoft Press, 1993.
ISBN 1-55615-551-4. Tips for writing bug-free C code.