Study-Unit Description

Study-Unit Description


CODE CPS2008

 
TITLE Operating Systems and Systems Programming 2

 
UM LEVEL 02 - Years 2, 3 in Modular Undergraduate Course

 
MQF LEVEL 5

 
ECTS CREDITS 5

 
DEPARTMENT Computer Science

 
DESCRIPTION Operating Systems exert a major influence on the overall function of the entire computer. Their performance sets the stage for the performance of all software on a computer. As a computer scientist, one needs to understand how to use the system functionality most effectively; specifically the design of an OS must be understood such that one would be able to exploit that design during program execution.

This study-unit will assume that students have an aptitude for computer programing in an imperative programming language, and that students are familiar with programming concepts such as variables, functions and basic operating system theory. This unit enforces the advanced theoretical concepts of Operating Systems by also providing a hands-on approach.

The teaching environment is UNIX-based, and so students are expected to know either UNIX System V or Berkeley UNIX and basic knowledge of systems programming. The UNIX system and the C language will be used to experiment with operating system facilities in avenues such as file system internals, memory management and advanced IPC and synchronisation. The practical application of these concepts will then be examined through the allocated assignments. By the end of the course, students will be competent C programmers with a deep understanding of how the operating system facilitates program execution and internals.

Study-unit Aims:

The aim of this unit is to discuss the issues involved in designing a general purpose multi-programmed operating system, and to enable students to understand and interact with the internals of an operating system. The course covers topics such as the role of an operating system in providing inter-process communication, synchronisation, memory management, virtualisation and file systems.

The practical element of this unit's aim of this study-unit is to provide an in-depth understanding of UNIX-based operating system concepts through a hands-on approach.

Learning Outcomes:

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Define the necessary components and functions of an OS;
- Compare and contrast the various ways of structuring an OS;
- Differentiate between processes and threads;
- Discuss the types of advanced scheduling techniques;
- List the range of mechanisms that can be employed at OS level to realise concurrent systems and describe the benefits and potential problems of each;
- Describe advanced UNIX operating system concepts and terminology;
- Demonstrate a command of the Unix Shell environment, including advanced Unix commands and utilities;
- Demonstrate a command of the basic tools used to develop software in C on the Unix platform;
- Describe process management in the Unix environment;
- Describe basic IPC issues and techniques in Unix programming.

2. Skills:
By the end of the study-unit the student will be able to write, compile, debug and execute C programs that:

- Correctly use system interfaces provided by UNIX or a UNIX-like operating system;
- Create, manage and terminate processes and threads on UNIX;
- Use files and I/O on UNIX;
- Use IPC related system calls;
- Understand and implement synchronisation algorithms.

Main Text/s and any supplementary readings:

Operating System Concepts. A. Silberschatz, P. Galvin and G. Gagne. Addison Wesley. ISBN 0470233990
Advanced Programming in the UNIX Environment. W.R. Stevens. Addison-Wesley, 2005. ISBN 0201433079
UNIX System Programming. 2nd Ed. K. Haviland, D. Gray and B. Salama. AddisonWesley 1998. ISBN 0 201-87758-9
The C Programming Language. BW Kernighan, DM Ritchie. Prentice-Hall, 1988. ISBN 0-13-110362-8

 
ADDITIONAL NOTES Students taking this study-unit are assumed to have knowledge of the material covered in the following study-units:
- CPS1011;
- CPS1012.

 
STUDY-UNIT TYPE Lecture, Independent Study, Project and Tutorial

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Assignment SEM2 Yes 100%

 
LECTURER/S Keith Bugeja (Co-ord.)
Joshua Ellul
Alessio Magro

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit