Next: Introduction to Algorithms
Up: Michaelmas Term 1998: Part
Previous: Introduction to Computer Science
Lecturer: Dr J.M. Bacon
(jmb@cl.cam.ac.uk)
No. of lectures: 16
This course is a prerequisite for Distributed Systems, Further
Java and Introduction to Security.
- Computer design; the hardware and its interfaces.
- Bus/memory/CPU organisation. Representation of numbers and
characters; instruction sets and addressing. Operation of a simple
computer; the fetch-execute cycle. [2 lectures]
- Device management.
- I/O devices and interfaces; polling and interrupts. The general
exception mechanism for interrupts, errors, system calls, memory
management. Character and DMA interfaces.
- Requirements.
- Requirements for support of concurrency in systems. Overview of OS
structure and dynamic invocation; modules, processes and
protocols. Microkernel versus closed OS structure.
- OS I/O management.
- Process-device synchronisation. Creating virtual device abstractions;
top-down I/O invocation at the system call interface. Process
(top-down) - process (bottom-up) synchronisation via I/O buffers.
- OS process management.
- Creating virtual processor abstractions. Support for processes and
threads in operating systems and in language
systems. Scheduling. [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. [4 lectures]
- Case studies.
- UNIX and Windows NT. [5 lectures]
Recommended books:
Dowsing, R.D. & Woodhams, F.W.D. (1990). Computers from Logic to
Architecture. London: Van Nostrand Reinhold.
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.).
Bach, M.J. (1986). Design of the Unix Operating System. Prentice-Hall.
Leffler, S.J. et al. (1988). The Design of the 4.3BSD Unix
Operating System. Addison-Wesley.
Custer, H. (1993). Inside Windows NT. Microsoft Press.
Pham, T.Q. & Garg, P.K. (1996). Multithreaded Programming with
Windows NT. Prentice-Hall.
Next: Introduction to Algorithms
Up: Michaelmas Term 1998: Part
Previous: Introduction to Computer Science
Christine Northeast
1998-10-01