Dr Szabolcs Mikulas / Teaching / Operating Systems
Operating systems
Operating Systems - MSc Computing Science 2005/2006

Assessment

By written examination. Click here for old exam questions (in pdf format).

Click here for the description of a research project in OS.


Textbook

A.S. Tanenbaum, Modern Operating Systems, Second edition,
Prentice Hall, 2001, ISBN 0-13-031358-0.


Background Reading

  • W. Stallings, Operating Systems, Fourth edition, Prentice-Hall, 2001. ISBN 0-13-032986-6
  • A. Silberschatz, P. Galvin and G. Gagne, Applied Operating Systems Concepts. John Wiley and Sons Ltd, 2000. ISBN 0-471-36508-4
  • G. Nutt, Operating Systems: A modern perspective, Second edition, Addison Wesley, 2000. ISBN 0-201-61251-8
  • D. Solomon, Inside Windows NT, Second edition. Microsoft Press, 1998. ISBN 1-57231-677-2
  • U. Vahalia, Unix Internals - The New Frontiers. Prentice-Hall, 1996. ISBN 0-13-101908-2
  • M. Bach, The Design of the Unix Operating System. Prentice-Hall, 1986. ISBN 0-13-201757-1 025

Course Outline

Introduction: history, system-structures.
Processes: scheduling, communication, synchronisation, deadlocks.
CPU scheduling.
Memory management: swapping, paging, segmentation, virtual memory.
File systems: access and allocation methods, protection, directories.
I/O Systems: principles, interrupts, device drivers, performance.
Disk structures. Protection and security. Network structures.
Issues in distributed communication and co-ordination.
UNIX/Linux and Windows to be used as running case studies.


Lectures and Slides

Lecture 1, 2, 3: Introduction: Slides.
Lecture 4: Processes and Threads: Slides. A good introduction to multi-, super- and hyperthreading.
Lecture 5: Problem solving session
Lecture 6: Scheduling: Slides.
Lecture 7, 8, 9: Interprocess communication: Slides.
Lecture 10: Deadlock: Slides.
Lecture 11, 12: Problem solving session. For a starvation-free soultion of the dining philosophers problem click here (Java program from Silberschatz et al.).
Lecture 13, 14: Memory management: Slides. MM in Unix and in Win2000.
Lecture 15: Problem solving session.
Lecture 16: File systems: Slides.
Lecture 17: Input/Output: Slides. A note on Hamming code. See also wikipedia article.
Lecture 18: Security: Slides.
Lecture 19: Problem solving session
Lecture 20: Multiple processor systems: Slides.
Lecture 21, 22 : Problem solving session and Revision: Main points of the module.

Note: The slides closely follow the textbook material and so it should not be necessary to additionally print them. Use Ghostview to view files that are in .ps format, and Acrobat for those in .pdf format.


Questions that have been set from the textbook:

  • Introduction, Chapter 1: 1, 2, 4, 8, 14, 16, 19, 21, 23, 24
  • Processes and Threads, Chapter 2: 1, 4, 6, 8, 9, 10, 11, 14, 17
  • IPC, Chapter 2: 21, 22, 23, 24*, 26, 27, 28*, 29, 31, 32
  • Scheduling, Chapter 2: 35, 39, 40, 43, 46
  • Deadlock, Chapter 3: 1, 5, 8, 9, 11, 14, 15, 16, 17
  • Memory management, Chapter 4: 5, 6, 12, 23, 24, 25, 26, 27, 29, 32, 33, 37
  • I/O, Chapter 5: 8, 9, 10, 13, 14, 15, 21, 24
  • File systems, Chapter 6: 1, 2, 6, 7, 16, 20, 27, 36, 38
  • Multiple processor systems, Chapter 8: 2, 4, 6, 8, 14, 20, 23, 24, 25
  • Security, Chapter 9: 2, 7, 17, 18, 25, 27, 30, 31

Other Information

A local guide to UNIX is here .

Another starting point for obtaining information about UNIX is here.