Course Notes Main Page
Any sections not marked as "updated" may be subject to change.
- This version of these course notes was originally assembled Spring 2006
by John Bell, for
CS 385 at the University of Illinois Chicago and is currently being updated ( again ) for Spring 2013.
- The required textbook for this course is "Operating System Concepts, Ninth Edition " by Silberschatz, Galvin, and Gagne.
Most of the material in these pages was originally taken from the seventh edition of that book, later updated to the eighth edition, and then to the ninth edition.
- Some material was taken from the current literature in the
field of operating systems and similar sources. Accreditation
for these items is provided where such material appears.
Linux Kernel Map
This diagram from http://i.imgur.com/4sftcoo.jpg may be helpful for seeing all the parts of the operating system and how they fit together.
Course Notes, by Topic ( and Chapter Where Appropriate )
Note: Any topic which does not have
a page linked to it, or for which the linked page is unavailable,
is under consideration and/or under development, and is subject
to change. In particular, "future" chapters have probably not been updated from edition 7 to edition 8.
Disclaimer: The following note pages are just that - notes. They serve as reminders to myself of what I want to talk about, but not much more. They do not replace the need for students to take their own notes during class, and they certainly do not replace reading and studying the material in the required textbook.
- Recommended Books ( Beyond the required course text )
- "Managing Projects with Make", Andrew Oram & Steve Talbott, O'Reilly, ISBN 0-937-76-90-0.
- "Programming with GNU Software", Mike Loukides & Andy Oram, O'Reilly, ISBN 1-56592-112-7.
- "The C Programming Language, Second Edition", Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall, ISBN -013-110163-3.
- One of the following:
- "Using C on the UNIX System", David A. Curry , O'Reilly, ISBN 0-937175-23-4, Out of print :-(
- W. Richard Stevens and Stephen A. Rago, "Advanced Programming in the UNIX Environment", Second Edition, Addison-Wesley, ISBN 0-201-43307-9, $75 hardcover, HUGE 927 pp.
- Marc J. Rochkind, "Advanced UNIX Programming", Second Edition, Addison-Wesley, ISBN 0-13-141154-3, $50 paperback, 719 pp. Probably the best choice of those listed here ( for our purposes. )
- Eric S. Raymond, "The Art of UNIX Programming", Addison-Wesley, ISBN 0-13-142901-9, $40 paperback, 525 pp.
- "C++ The Core Language", Gregory Satir and Doug Brown, O'Reilly, ISBN 1-56592-116-X.
- "C++ for Java Programmers", ( Book ), Mark Allen Weiss, Prentice Hall, ISBN 0-13-919424-X.
- Advanced Linux Programming - The web site includes free downloads.
- Part Zero - C Programming for Java Programmers
- Part One - Overview
- Part Two - Process Management
- Part Three - Memory Management
- Part Four - Storage Management
- Part Five - Protection and Security