Next: Software Engineering and Design
Up: Michaelmas Term 2003
Previous: Numerical Analysis I
  Contents
Operating System Foundations
Lecturer: Dr J.M. Bacon
No. of lectures: 16
This course is a prerequisite for Introduction to Security, Distributed Systems, Computer Design.
Aims
The aims of this course are to introduce the basic principles of
computer systems organisation and operation; to show how hardware is
controlled by program at the hardware/software interface; to outline
the basic OS resource management functions: memory, file, device (I/O)
and process management; and to explore the need for, principles of and
implementation of concurrency control.
Lectures
Part I. Computer organisation [3-4 lectures]
- 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.
- 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.
Part II. Operating system structure and functions [6 lectures]
- Operating system evolution and structure.
- Process management.
Creating virtual processor abstractions. Support for
processes (or threads) in operating systems. CPU scheduling.
- Memory management.
Processes in memory. Logical addresses. Segmented memory. Paged
memory: concepts, internal fragmentation, page tables. Paged segments.
- File management.
File concept. Directory and storage services. File names and
meta-data. Directory name-space. File and directory operations.
Access control. Existence and concurrency control.
Part III. Concurrency control [3-4 lectures]
- I/O management- aspects.
Process-device synchronisation. Process - process mutual
exclusion and synchronisation via I/O buffers.
- Multi-threaded processes.
User threads and kernel threads.
- System structure and interprocess communication (IPC).
Requirements for concurrency control; System structure; Shared memory
mechanisms; Semaphores and
their implementation; examples; No-shared-memory mechanisms.
- Composite concurrent operations.
Problem of deadlock. Introduction to transaction concept.
Part IV. Case studies [2-3 lectures]
- Case studies.
Unix and Windows NT/2000.
Objectives
At the end of the course students should
- be prepared for hardware and architecture courses
- understand the interaction of software and hardware
- understand the concepts of process, thread and address space
- understand how memory, devices (I/O), files and processes are managed
- understand the need for and implementation of concurrency control
- understand the design of widely used operating systems at a high
level of abstraction
Recommended books
For hardware/architecture please browse the books recommended for
Part IA
hardware courses and for Computer Design.
* Bacon, J. & Harris, T. (2003). Operating systems: distributed and
concurrent software design. Addison-Wesley.
Tanenbaum, A.S. & Woodhull, A. S. 2000. Operating systems design
and implementation. Addison-Wesley (2nd ed.).
Silberschatz, A., Galvin, P.B. & Gagne, G. (2001). Operating system concepts. Addison-Wesley (6th ed.).
For further detail on the case studies (not required reading):
Bach, M.J. (1986). Design of the Unix operating system.
Prentice-Hall.
Leffler, S.J. et al. (1989). The design of the 4.3BSD Unix
operating system. Addison-Wesley.
McKusick M.K. et al. (1996). The design and implementation of
the 4.4BSD Unix operating system. Addison-Wesley.
Soloman D.A. & Russinovich, M.E. (2000). Inside Microsoft Windows
2000. Microsoft Press. (3rd ed.)
Next: Software Engineering and Design
Up: Michaelmas Term 2003
Previous: Numerical Analysis I
  Contents
Christine Northeast
Thu Sep 4 13:12:26 BST 2003