COSC240: Operating Systems

Interactive Pedagogical Modules & Systems Engineering Curriculum

Week 01 4 Modules

Operating System Concepts & Architecture

The hardware-software interface, system call dispatch mechanisms, dual-mode protection rings, and trap handling.

Week 02 4 Modules

Processes & Threads

Address space anatomy, Process Control Blocks (PCB), Linux task_struct, lifecycle transitions, and kernel threading models.

Week 03 4 Modules

CPU Scheduling & Resource Allocation

Burst distributions, dispatch latency, batch algorithms, multi-level feedback queues (MLFQ), and real-time multiprocessor systems.

Week 04 4 Modules

Concurrency & Mutual Exclusion

Race conditions, critical regions, software solutions (Peterson's), hardware atomic instructions (TSL, CAS), and semaphores.

Week 05 4 Modules

I/O Systems & Disk Scheduling

Device controllers, polling vs. interrupts, Direct Memory Access (DMA), disk geometry, and rotational media arm scheduling.

Week 06 4 Modules

Synchronization & Deadlocks

Semaphores, condition variables, Coffman conditions, Resource Allocation Graphs, and classical deadlock sandboxes.

Week 09 15+ Modules & Aids

Memory Management & Virtual Memory

Physical allocation, buddy allocator, address translation, page tables, TLBs, page faults, and replacement algorithms.

Week 10 4 Modules

File System Architecture & Implementation

File abstractions, directory hierarchies, Unix inodes, extent trees, free space management, and performance caching.

Week 11 5 Modules

Multiprocessor Systems & Distributed Computing

SMP cache coherency (MESI), multicomputers, Remote Procedure Calls (RPC), Distributed Shared Memory (DSM), and middleware.

Week 12 Hub Ready

Operating System Security & Protection

Security environments, access control lists (ACLs), capabilities, protection rings, buffer overflows, and hardware containment.