module specification

CC2011 - Operating Systems (2017/18)

Module specification Module approved to run in 2017/18, but may be subject to modification
Module title Operating Systems
Module level Intermediate (05)
Credit rating for module 15
School School of Computing and Digital Media
Assessment components
Type Weighting Qualifying mark Description
Unseen Examination 50%   Examination *FC*
Coursework 50%   Coursework (Weblearn Submission)
Running in 2017/18 No instances running in the year

Module summary

This module aims to provide an understanding of the operation, functions and inter-relation of the major software components of an operating system, to give an understanding of the hardware-software interface and its control by the operating system and to develop knowledge of the user-system interface. The UNIX operating system is considered as an example.
 

Prior learning requirements

Prerequisites: Elements of programming and computer system architecture in any passed modules

Module aims

This module aims to provide an understanding of the operation, functions and inter-relation of the major software components of an operating system, to give an understanding of the hardware-software interface and its control by the operating system and to develop knowledge of the user-system interface.
The UNIX system is studied as both an example and as an interesting and important system in its own right. Practical exercises are based on the UNIX command language.

Syllabus

Introduction: Functions of operating systems.

File Management: Types of the files, creation, removing and manipulation of files. Implementation of the UNIX file system.

Process Management: Process primitives, and how they are used by the shell. Shell pipelines and redirection. Manipulation of processes. Implementation of UNIX processes.

Memory Management: Basic memory management. Virtual memory.

Input and Output Control: Principles of I/O software. I/O software layers.

Shells: Main features of shells. Main UNIX shells: the Bourne and Korn Shells.

Shell Programming: Essentials of shell programming.

Learning and teaching

A combination of lectures, tutorials, directed study and workshops is employed in the delivery of the module. Lectures, tutorials and supervised workshops 4 hours per week, unsupervised learning 2 hours per week.
The information in relation to learning and teaching of the module is uploaded to the module WebLearn site each week. Students will be able to access to this WebLearn site freely at home and the lab in the university.

Learning outcomes

The graduate attributes focused on in this module are A2, performance in a variety of contexts and A3, creative and ethical.
To achieve this module, a student must:
- Demonstrate understanding main processes behind the computer system control (A2)
- Master basic commands of a popular operating system (A2)
- Be able to develop a small program (shell script) to control computer resources (A3).

Assessment strategy

This module is assessed by means of an end-of-course, two-hour, unseen written examination (50%), and a coursework (50%).
The coursework consists of two parts. The first part, ‘Mastering UNIX commands’, is submitted on Week 5 to get formative feedback (40% of the coursework). The second part, ‘Writing a small UNIX script’, based on the first one, is submitted on Week 11 (60% of the coursework).
Students pass on aggregate.

Bibliography

Main Reading:
1. Reading Materials on WebLearn.
2. Cogan B. (compilation). Operating Systems: Essentials Based on UNIX. Pearson Education Ltd., 2006. ISBN 1-84479-390-7.

Recommended Reading:
Operating Systems
1. Tanenbaum, A.S. Modern Operating Systems. Second Edition. Prentice Hall International. 2001. ISBN 0-13-092641-8.
2. Ritchie C. Operating Systems: Incorporating UNIX & Windows. Fourth Edition. Continuum, 2003. ISBN 0-8264-6416-4.

UNIX
1. Sobell, M. G. A Practical Guide to the UNIX System. Third Edition. The Benjamin/ Cummings Publishing Company, Inc. 1995 (or a later edition). ISBN: 0-8053-565-1.
2. Forouzan B.A., Gilberg R.F. UNIX and Shell Programming: A Textbook. Thompson Learning, 2003. ISBN 0-534-95159-7.