next up previous contents
Next: Professional Issues Up: Descriptions of Courses and Previous: Language Semantics and Implementation   Contents

Subsections

Operating Systems

Here are links to the course home page and the formal TQA description.

Overview

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.

Syllabus

Process management
The process concept, synchronisation, mutual exclusion, semaphores and monitors. Threads. Inter-process communication.

Resource Allocation
Deadlock prevention, avoidance and detection.

The OS Kernel
Micro and Monolithic kernels. Multi-tasking, privilege, interrupt handling. System and user processes. System calls.

Memory Management
Description of problems of allocation, protection and sharing. Virtual $\rightarrow$ Physical memory mapping schemes. Segmented paged virtual memory. Paging control, replacement algorithms; the working set model. Sharing code and data.

Time Management
CPU scheduling algorithms. Real-time scheduling. Disc access scheduling.

File Management
Naming and Directory schemes. Disc space allocation. File protection and access control. System security.

Assessed Coursework

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.

References:

** 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.


next up previous contents
Next: Professional Issues Up: Descriptions of Courses and Previous: Language Semantics and Implementation   Contents
Colin Stirling 2006-01-05