University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Low Level Programming for Operating Systems

LEVEL 03 - Years 2, 3, 4 in Modular Undergraduate Course


DEPARTMENT Computer Science

DESCRIPTION This study-unit will be primarily focused on the practical aspects of operating systems implementation. The study-unit will provide students with knowledge and experience in developing low-level operating system code. This will help students understand what is 'under the hood', enabling students to write efficient code (even when using high level languages and frameworks).

The main areas that will be covered include:
- Computer Architecture: specifically focusing on how to handle interrupts, and the instruction set and hardware register set that are available;
- OS Internals focusing on how to implement: the OS timer; User mode/Kernel Mode; Process Schedulers; Sycnhronisation Mechanisms; Inter-process Communication; Multi-threading Support and Memory Management;
- Programming language abstractions, focusing on how each abstraction can be used directly by a system's implementeor including: Native Code, Assembly, Intermediate Representation (such as Java bytecode, LLVM IR, .NET MSIL) and high level languages;
- Virtual Machines theory to provide an appreciation for the implementation details of such systems, including: Process Virtual Machines, Instruction Emulation and Interpretation, Binary Translation, Code Cache Management and Garbage Collection.

Study-unit Aims:

The main aims of the study-unit are to:
- Provide students with experience of implementing operating system level code;
- Enable students to understand the trade-offs inherent in operating system implementation, namely performance versus size and maintainability;
- Provide students with an appreciation of what actually happens 'under the hood' in operating systems so that they can implement efficient code.

Learning Outcomes:

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

- Appreciate and express the trade-offs inherent in operating system implementation;
- Express the uses, differences and properties inherent in using different programming language abstractions;
- Describe the main virtual machine components and express the trade-offs inherent in different implementations.

2. Skills:
By the end of the study-unit the student will be able to:

- Develop operating system level code on computer architecture;
- Implement different operating system policies and perform an evaluation of different policies;
- Implement code in the different language abstractions incuding in Native Code, Assembly Code, an Intermediate Representation and a High-Level Language.

Main Text/s and any supplementary readings:

Study-unit notes will be provided by the lecturer.

Supplementary readings:

- Silberschatz, Galvin and Gagne. "Operating System Concepts" 8th Edition, John Wiley & Sons Press, 2010.ISBN: 978-0-470-23399-3
- Smith and Nair. "Virtual Machines: Versatile Platforms for Systems and Processes", Morgan Kaufmann Publishers, 2005.ISBN: 978-1-55860-910-5
- Stallings. "Operating Systems: Internals and Design Principles" 8th Edition, Pearson, 2014. ISBN: 978-0-13-380591-8
- Li, Yao. "Real-Time Concepts for Embedded Systems", CMP Books. ISBN: 9781578201242

STUDY-UNIT TYPE Lecture, Independent Study and Project

Assessment Component/s Resit Availability Weighting
Assignment Yes 100%

LECTURER/S Joshua Ellul

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 study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage