COMP-4361 Details

COMP 4361 Operating Systems

Course Description

This course provides an introduction to operating system concepts. Topics will include operating system history and structure, processes, threads, scheduling, process synchronization, deadlocks, memory management, and file systems.

Course Learning Objectives

  • History of operating systems, types of operating systems
  • Interrupts and traps, policy vs. mechanism of OS, virtualization
  • Computing hardware, systems programming
  • Processes vs. threads
  • Programming with threads in C/C++
  • Interprocess communication, locking (mutexes, semaphores)
  • Process synchronization, producers and consumers and the reader/writer problem
  • Scheduling and scheduling algorithms
  • Deadlock: causes, detection, avoidance
  • Memory management in operating systems
  • Virtual memory, paging and segmentation, page swapping and replacement algorithms
  • File systems

Course Outcomes

Upon successful completion of this course, students will have learned:

  1. What makes an operating system “tick” — the core abstractions and mechanisms that allow a single piece of hardware to run many programs simultaneously and safely.
  2. What the challenges are when programming an operating system or operating system kernel.
  3. How memory and processes are managed by a modern operating system to provide a simplified system API to end users.

Course Syllabus

Previous
Next