Next: Unix Tools
Up: Michaelmas Term 1998: Part
Previous: ECAD
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).
- 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.
Concurrency control for composite operations.
Crash recovery; distributed transactions. [4 lectures]
Recommended books:
Bacon, J. (1997). Concurrent Systems. Addison-Wesley (2nd ed.).
Tanenbaum, A.S. (1992). Modern Operating Systems. Prentice-Hall.
Silberschatz, A. & Galvin, P.C. (1998). Operating System Concepts. Addison-Wesley (5th ed.).
Gray, J. & Reuter, A. (1993). Transaction Processing:
Concepts and Techniques. Morgan Kaufmann.
Next: Unix Tools
Up: Michaelmas Term 1998: Part
Previous: ECAD
Christine Northeast
1998-10-01