← All courses
CSC 308Computer Science· Computing

Operating Systems

3 UnitsStatus: C300 LevelSemester 1LH 30PH 45Core

Overview of O/S: Role & Purpose, Functionality Mechanisms to Support Client-server models, hand-held devices, Design Issues influences of Security, networking, multimedia, Windows. Process management: processes, threads, CPU scheduling, process synchronisation. Memory management and virtual memory.…

Learning outcomes

At the end of this course, students should be able to: 1. recognise operating system types and structures; 2. describe OS support for processes and threads; 3. recognise CPU scheduling, synchronisation, and deadlock; 4. resolve OS issues related to synchronisation and failure for distributed systems; 5. explain OS support for virtual memory, disk scheduling, I/O, and file systems; 6. identify security and protection issues in computer systems; and 7. use C and Unix commands, examine behaviour and performance of Linux, and develop various system programmes under Linux to make use of OS concepts related to process synchronisation, shared memory, mailboxes, file systems, etc.

Course contents

Overview of O/S: Role & Purpose, Functionality Mechanisms to Support Client-server models, hand-held devices, Design Issues influences of Security, networking, multimedia, Windows. Process management: processes, threads, CPU scheduling, process synchronisation. Memory management and virtual memory. File systems. I/O systems. Security and protection. Distributed systems. O/S Principles: Structuring methods Abstraction, processes and of recourses, Concept of APIS Device organization interrupts. Lab work: Practical hands-on engagement to facilitate understanding of the material taught in the course. All the process, memory, file and directory management issues will be New Computing 139 demonstrated under the LINUX operating system. Also, UNIX commands will be briefly discussed. Alternatively, hands-on exposure may be through the use of operating systems developed for teaching, like TempOS, Nachos, Xinu, or MiniOS. Another possibility is through programming exercises that implement and simulate algorithms taught. Simulation of CPU scheduling algorithms, producer-consumer problem, memory allocation algorithms, file organisation techniques, deadlock algorithms, and disk scheduling algorithms.

Modules

  1. 1Syllabus