This course provides an introduction to the design and implementation of general purpose multi-tasking operating systems. It concentrates on the kernel aspects of such systems with the emphasis being on concepts which lead to practical implementations. Throughout the course reference is made to a number of significant actual operating systems (Linux, Windows, etc.) to illustrate real implementations.
The coursework is in two parts, both of four weeks duration, due in weeks 7 and 11 of the semester. The first will consist of a system programming related exercise and the second will be an essay on some topic covered only briefly in the lectures.
** W. Stallings Operating Systems, Internals and Design Principles (4th edition), Prentice-Hall, 2001. The course will follow this book part of the time, and access is highly recommended. However, it is not essential.
** A. Silberschatz and P. Galvin Operating Systems Concepts (5th edition), Addison-Wesley, 1998.
** Harvey M. Deitel, Paul J. Deitel and David R. Choffnes Operating Systems (3rd edition), Prentice-Hall, 2004. This is also a well recommended book.
* Gary Nutt Operating Systems - A Modern Perpective (2nd edition), Addison-Wesley, 2000.
* D.A. Solomon and M.E. Russinovich Inside Microsoft Windows 2000 (3rd Edition), Microsoft Press, 2000.