Course Information Package
|Course Unit Title||OPERATING SYSTEMS|
|Course Unit Code||ACSC271|
|Course Unit Details||BSc Computer Engineering (Required Courses) - BSc Computer Science (Required Courses) -|
|Number of ECTS credits allocated||5|
|Learning Outcomes of the course unit||By the end of the course, the students should be able to:|
|Mode of Delivery||Face-to-face|
|Recommended optional program components||NONE|
Overview: Operating System definition and services, Common types of Operating Systems, interrupt driven operating systems, System Components Protection and Security, System Calls and Types of System Calls.
Threads: Definitions, Single and Multithreaded, Multithreading Programming, Thread Context Switching, Benefits, User and Kernel Threads, Multithreading Models and Diagrams, Threading Issues, Windows and Linux Threads.
CPU Scheduling: Overview, CPU Scheduler and Dispatcher, Scheduling criteria, Optimisation criteria, Scheduling Algorithms, Gantt Charts, Pre-emptive and Non-preemptive Scheduling, and Algorithm Evaluation
Process Synchronisation: Producer / Consumer, Solution to Critical Section Problem, Algorithms and Semaphores, Deadlock and Starvation, Synchronisation Problems – Dining Philosophers Problem.
Memory: Overview, Binding Instructions and Data to Memory, Memory Management, Memory Management Unit, Swapping, Dynamic Loading, and Dynamic Linking Contiguous Allocation, Dynamic Storage Allocation, Fragmentation, Page faults sand segmentation.
Virtual Memory: Overview and Implementation, Demand and pure demand paging, Page Tables and Page Faults, Page Replacement and Algorithms, Page Fault and Page fault Correction.
File System Interface: File system, Definitions and operations on files and directories, Different structures (NAS, SAN), File systems, Different storage methods and Scheduling Algorithms.
|Recommended and/or required reading:|
|Planned learning activities and teaching methods|
The taught part of course is delivered to the students by means of lectures, conducted with the help of computer presentations. Lecture notes and presentations are available through the e-learning platform and the web for students to use in combination with the textbooks.
Lectures are supplemented with laboratory work carried out on the Windows and Linux operating Systems boards. During laboratory sessions, students implement functionality on the operating system, by using system libraries that are the available on the Windows and Linux API.
|Assessment methods and criteria|
|Language of instruction||English|