Lecturers: Dr K.A. Fraser, Dr D. McAuley, Dr S.D. Kounev,
Dr M.S. Castro and Dr M.A. Costa
No. of lectures: 16
Prerequisite courses: Concurrent Systems and Applications, Operating Systems, Digital Communication II
Aims
This course will cover a selection of topics in the general area of
systems including operating systems, database systems and parallel and
distributed systems. It aims to help students develop and understand
complex systems and interactions, and to prepare them for emerging
systems architectures.
Advanced operating systems.
Extensible systems. Capability systems. Distributed operating systems
(scheduling, resource control). Distributed and persistent virtual
memory. Hypervisors and machine virtualisation. Networked storage
architectures (NAS, SAN). Database and filing system
topics. [DM, 6 lectures]
Experimental Performance Analysis.
Performance metrics. Summarising measured data. Errors in experimental
measurements. Comparison of alternatives. Experimental
design. Analysis of variance. Case studies. [SDK, 4 lectures]
Worm containment.
Worm attacks: infection, spreading and hiding.
Approaches to containment: host quarantine, throttling, content
filtering, Vigilante. Detection with dynamic data-flow/taint analysis
and data-flow integrity. Verifiable security alerts; alert
distribution. Protection with vulnerability-specific filters.
[MSC and MAC, 2 lectures]
Objectives
On completing the course, students should be able to
describe how to build effective concurrency-control primitives
for a modern computer
describe three techniques for supporting extensibility
argue for and against distributed shared virtual memory
quantify errors in experimental measurements
compare alternative system configurations based on measurement data
design experiments to evaluate the effect of multiple configuration
parameters
describe how worms infect vulnerable software
compare various approaches to worm containment
describe worm detection and protection techniques
Recommended reading
Singhal, M. & Shivaratri, N. (1994). Advanced concepts in operating systems: distributed, database, and multiprocessor operating systems. McGraw-Hill.
Stonebraker, M. & Shivaratri, N. (1998). Readings in database systems. Morgan Kaufmann (3rd ed.). ISBN 1-55860-523-1
Hennessy, J. & Patterson, D. (2003). Computer architecture: a quantitative approach (Chapter 6 in particular). Morgan Kaufmann (3rd ed.).