Operating Systems are an essential part of any computer system. It defines an abstraction of hardware behaviour with which programmers can control the hardware. It also manages the convenient and efficient resource sharing among the computer’s users.
In the context of the ICT programmes, the module is intended to be taken by students in their second trimester. The foundations provided in this module are essential in most modules of the following terms in the ICT programmes.
The topics covered in this module include: Introduction to the Operating Systems, their structure, what they do and how they are designed and constructed, Process Management, Process concept, Process Scheduling, Threads, Multithreaded Programming, Synchronisation, Mutex Locks and Semaphores, Deadlocks, Memory Management, Memory Hierarchy and Memory Management Unit, Linking and Memory Allocation, Fragmentation, Paging, Segmentation, Virtual Memory Management, Demand Paging, Page Replacement, Thrashing, File System Management and Storage Management, File Attributes, Directory Structure, File System Structure, Mass Storage Structure, I/O Systems, Protection and Security, Case Study on The Linux System.
Operating Systems concepts are demonstrated in an instructional operating system that is similar to modern Unix systems but being simpler and smaller, as well as programming in C/C++ programming language.