Next: Continuous Mathematics
Up: Michaelmas Term 2000: Part
Previous: Computer Design
Lecturer: Dr J.M. Bacon
(jmb@cl.cam.ac.uk)
No. of lectures: 12
Prerequisite course: Operating Systems
This course is a prerequisite for Distributed Systems (Part
II) and Further Java (Part IB).
Aims
The aims of this course are to introduce the modular design of systems
software and the principles of its dynamic execution; to explore the
need for and implementation of concurrency control; to study the
concept of transaction and its implementation in operating systems and
database systems.
Lectures
- Requirements.
Requirements for support of concurrency in systems. Overview of OS
structure and dynamic invocation; modules, processes and
protocols. Microkernel versus closed OS structure. Object
modelling. [2 lectures]
- Device, I/O and process management.
Revision overview of device and process management and process
scheduling.
Support for concurrency in programming languages.
Thread management in language systems and operating systems. [2 lectures]
- Interprocess communication (IPC).
System structure; synchronisation primitives; concurrency control
without hardware support.
Semaphores and their implementation; examples.
Shared memory mechanisms; no-shared-memory mechanisms.
Distributed IPC; remote procedure call (RPC). [4 lectures]
- Transactions.
Composite operations. Crashes and persistent data.
Deadlock detection and recovery.
Concurrency control for composite operations.
Crash recovery. [4 lectures]
Objectives
At the end of the course students should
- understand how systems are executed dynamically and understand the
concepts of process, thread and address space
- understand the need for and implementation of concurrency control
- understand the concept of transaction and its application in a range
of systems
Recommended books
Bacon, J. (1997). Concurrent Systems. Addison-Wesley (2nd ed.).
Tanenbaum, A.S. (1992). Modern Operating Systems. Prentice-Hall.
Silberschatz, A. & Galvin, P.B. (1998). Operating System Concepts. Addison-Wesley (5th ed.).
Gray, J. & Reuter, A. (1993). Transaction Processing:
Concepts and Techniques. Morgan Kaufmann.
Next: Continuous Mathematics
Up: Michaelmas Term 2000: Part
Previous: Computer Design
Christine Northeast
Wed Sep 20 15:13:44 BST 2000