Prerequisite courses: Concurrent Systems and Applications, Operating Systems II, Digital Communication II
This course will cover a selection of topics in the general area of
systems including operating systems, database systems, peer-to-peer
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. [SMH, 6 lectures]
On completing the course, students should be able to
describe three techniques for supporting extensibility
argue for and against distributed shared virtual memory
describe how to build effective concurrency-control primitives
for a modern computer
compare and contrast various distributed lookup schemes
architect a basic peer-to-peer application
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.).
Hennessy, J. & Patterson, D. (2003). Computer architecture: a quantitative approach (Chapter 6 in particular). Morgan Kaufmann