University of Birmingham School of Computer Science
Home double arrow Internal double arrow Modules

SYLLABUS PAGE, 2007/08

06-15258
Operating Systems

Level 3/H

Dr E Ritter
10 credits in Sem1

Programmes | Modules | Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus

The School of Computer Science Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Relevant Links

Additional Material

Outline

This module gives an introduction into the basic concepts of operating systems like memory management, file systems, threading etc. The module also covers the additional complexities in distributed operating systems.

Aims

The aims of this module are to:

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1 Describe the role of an operating system. Examination
2 For a given set of programs, construct a suitable decomposition into processes and threads. Examination
3 Analyse known scheduling algorithms and adapt them for new situations. Examination
4 Suggest appropriate memory management algorithms for a variety of situations. Examination
5 Find the additional problems when transferring a concrete situation from a monoprocessor system to a distributed environment and solve the arising co-ordination problems. Examination
6 Devise appropriate security mechanisms in a given situation and understand the role operating system can and should play in establishing security. Examination

Restrictions, Prerequisites and Corequisites

Restrictions:

May not be taken by anyone who has taken or is taking 06-15257 Operating Systems (Extended).

Prerequisites:

None

Co-requisites:

None

Teaching

Teaching methods:

2 hrs lectures per week, 1 tutorial per fortnight

Contact hours:

29

Assessment

Normal (sessional): 1.5 hr examination (100%).

Resit (supplementary) (where allowed): As the normal assessment.

Recommended Books

Title Author(s) Publisher, Date
Operating Systems Concepts (6th edn) Silberschatz A & Galvin P B & Gagne G 2001
Distributed Modern Operating Systems Tanenbaum A S 1992

Detailed Syllabus

  1. Function of Operating Systems (2 lectures)
    • I start the module by explaining the function of an operating system in general terms and list necessary prerequisites of the hardware.
  2. Processes (4 lectures)
    • The concept of a process is fundamental for an operating system. I will discuss the states of a process and discuss process scheduling in some detail because it is paradigmatic for many other resource allocation problems in operating systems. Afterwards I will discuss threads (lightweight processes). They are introduced to reduce the time necessary for context switches.
  3. Memory Management (4 lectures)
    • An absolutely crucial aspect of every operating system is memory management. It arises because main memory is a limited resource, which has to be used as efficiently as possible. This part discusses memory management strategies and their dependence on the behaviour of programs on one side and on properties of the hardware on the other side. I will discuss virtual memory in detail.
  4. File Systems (3 lectures)
    • Again, the physical constraints of a disk have a great impact on the design of a file system. This part of the module shows how the principles discussed for process scheduling and memory management apply to file systems.
  5. Distributed Systems (4 lectures)
    • A whole series of new problems arise when one considers distributed operating systems. I will present the various models that have been proposed (shared memory, loosely coupled etc.) and discuss their relative merits. I will stress co-ordination problems which are at the heart of distributed systems.
  6. Security (3 lectures)
    • I will discuss various meanings of the term "security": data integrity, protection against user errors and protection against malicious users. I will use access control as an example to illustrate common problems in this area.

Programmes | Modules | Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus