Operating Systems 

 
  • This set of chapters is shared by two modules and is taught by Julie A. McCann  (except ch5 is for CS only)
  • The second half of the Operating Systems Concepts module is taught by Dirk Pattinson
  • Some of these chapters are also taken as part of the Computing Systems module co-taught by N. Dulay course materials are here
 
   

Lecture notes.

Ch 1: Introduction 4-up, 1-up
Ch 2: Computer Organisation 4-up, 1-up
Ch 3: Simple input and output 4-up, 1-up
Ch 4: Concurrency; locks, semaphores and monitors, scheduling 4-up,1-up
___________________
Ch5: Memory Management, 1-up
Objectives

To answer and develop the ability to answer the following questions: What is the purpose of an operating system? How are operating systems constructed?

Introduction: resource manager view, virtual machine view, security; types of operating system. Machine organisation and input/output: polled input/output, interrupt driven input/output, device driver structure. The system nucleus (kernel): context switching, first level interrupt handling, kernel implementation of processes, kernel implementation of semaphores. Concurrent processes: interleaving, non-determinism, process interaction - sharing, synchronisation, communication, locks, semaphores, monitors. Scheduling: priority - pre-emption, run to completion, time sliced, multi-level queues. Program construction utilities: assembler, link editor, relocation. Memory management: single contiguous store allocation and overlays, fixed partition store allocation, dynamic partition store allocation and fragmentation/compaction, virtual addressing, memory management policies. Virtual memory: address translation, page faults, replacement policies, working sets, swapping.

 

tutorial 1- pdf / answer
tutorial 2 -pdf / answer

tutorial 3 - pdf/ answer

tutorial 4, answers
 
tester1.c
tester2.c

 

Structure

  1. Reading -You are advised to purchase a textbook for this course. See the Books section below.
  2. Paper-and-pencil and laboratory exercises -Both assessed and unassessed exercises will be used to introduce important ideas. Thus if you don't do them in time, you won't know what's going on in the lectures.
  3. Lectures - The primary objective of the lectures is to help you understand and use the textbooks. Copies of the lecture's overhead transparencies will be provided, and you are encouraged to make notes of your own.

Books You should purchase a reasonably serious textbook for this course. Below are some good examples. I've taken the notes from all three. The library has copies too.
Modern Operating Systems. A Tanenbaum (picture right comes from this book cover!) 
Operating Systems: a Modern Perspective. Gary Nutt. Addison Wesley.

Operating Systems: internals and design principles. W Stallings. Prentice Hall.

An operating systems Vade Mecum, second edition, 1988 Raphael A. Finkel online book

 

Dr J. A. McCann