Module Identifier CS22210  
Module Title OPERATING SYSTEMS + CONCURRENCY  
Academic Year 2004/2005  
Co-ordinator Professor Christopher J Price  
Semester Semester 1  
Other staff Professor Christopher J Price, Dr Frederick W Long  
Co-Requisite CS21120  
Course delivery Lecture   22 lectures  
  Practical   Up to 4 practical sessions  
Assessment
Assessment TypeAssessment Length/DetailsProportion
Semester Exam2 Hours  100%
Supplementary Exam Will take the same form, under the terms of the Department's policy.   
Further details http://www.aber.ac.uk/compsci/ModuleInfo/CS22210  

Learning outcomes

At the completion of this module a student should:


Brief description

This course introduces the basic principles of operating systems and discusses the important underlying concepts, including the problems of concurrency.

Aims

The purpose of this module is to provide a basic introduction to operating systems and the underlying concepts of processes, resource management, security, and concurrent systems. Software engineers should be aware of techniques associated with these concepts which are needed in applications other than operating systems.

Content

1. Introduction to Operating Systems - 2 Lectures
A brief historical overview with examples of important systems. Different styles of operating system (e.g., real time, batch, program development). Operating systems as a vehicle for the portability of application programs.

2. Program and Human Interfaces - 2 Lectures
Operating system services. Human interface, command languages. Introduction to UNIX: Structure, Program/User Interface. The gross structure of an operating system: layered architecture and its benefits for implementation and maintenance.

3. Processes and Concurrency - 9 Lectures
The idea of a process and its life history. Process control blocks, scheduling. Co-operating processes: exclusion, synchronisation, inter-process communication. Semaphores, monitors, messages. Multi-processing in Java, the thread model.

4. Resource Management - 5 Lectures
Different types of resources. Deadlock prevention and avoidance. Memory management. Segmentation, paging. Discard algorithms, thrashing. Associative stores.

5. Input-Output - 3 Lectures
Input-output services. Filing systems, disc space management, Distributed systems.

6. Security - 1 Lecture
Discretionary and mandatory security. User authentication. Encryption. System management.

Reading Lists

Books
** Recommended Text
H.M. Deitel (1990) An Introduction to Operating Systems [Students will probably wish to choose one of Deitel or Siberschatz] 2nd. Addison Wesley
Abraham Silberschatz and Peter B. Galvin (1994) Operating system concepts [Students will probably wish to choose one of Deitel or Siberschatz] 4th. Addison-Wesley, Reading, Mass
Daniel Gilly et.al. (1992) UNIX in a Nutshell: System V Edition 2nd. O'Reilly ISBN 1-56592-001-5
** Consult For Futher Information
Andrew S. Tanenbaum and Albert S Woodhull (Dec 1996) Operating Systems: Design and implementation 2nd. Prentice hall ISBN 0-13-638677-6
Jeff Magee and Jeff Kramer Concurrency: State Models and Java Programs John Wiley and Sons 0-471-98710-7

Notes

This module is at CQFW Level 5