CSC 313 - Operating System

Course objectives

The objective is to introduce to the students the fundamental concepts of operating system. This includes the basics of process management and scheduling, concurrency and synchronization, memory management schemes, file system and secondary storage management, security and protection, and so on. 

Course learning outcomes (CLOs)

CLO: 1. Describe the basics of operating systems, architectural components and goals involved in OS design. [C2]

CLO: 2. Analyze various devices, memory, resources, processes/threads, timesharing management mechanism, the mutual exclusion, Deadlocks, process synchronization. [C4]

CLO: 3. Identify the components involved in designing contemporary operating systems and Applying the operating systems design concepts to develop various computer applications for different operating system environments. [C1, C3]

Course Outline

Operating systems basics, system calls, process concept and scheduling, inter-process communication, multithreaded programming, multithreading models, threading issues, process scheduling algorithms, thread scheduling, multiple-processor scheduling, synchronization, critical section, synchronization hardware, synchronization problems, deadlocks, detecting and recovering from deadlocks, memory management, swapping, contiguous memory allocation, segmentation & paging, virtual memory management, demand paging, thrashing, memory-mapped files, file systems, file concept, directory and disk structure, directory implementation, free space management, disk structure and scheduling, swap space management, system protection, virtual machines, operating system security.