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

Subsections

Operating Systems

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 (Linix, Windows 2000 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 6 and 10 of the term. 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.

Assessment

The written examination paper accounts for 75% of the course mark. Tutor marked essays, usually two, count for the remaining 25%.


\begin{references}
\par\stars{2} W. Stallings \emph{Operating Systems, Internals...
...h{Programming Microsoft Windows CE}, Microsoft
Press, 1998.
\par\end{references}


next up previous contents
Next: Professional Issues Up: Descriptions of Modules and Previous: Language Semantics and Implementation   Contents
CS3 dummy user 2001-09-25