External Info

This is a core course in the Computer Engineering stream. The students learn the basic concepts of operating systems and the historical and technical basis for many of the features that are in current operating systems. The core concepts are Synchronizations, Scheduling, Memory Management (including paging and VM), Deadlock and Security. Other topics including File Systems, Device Drivers, Intro to Distributed Systems are also covered.

Course Learning Outcomes (CLOs)
  • Understand the Structure of Operating Systems
  • Understand Synchronization and be able to use the various primitives for synchronization provided by various languages
  • Understand and evaluate the tradeoffs between multiple scheduling algorithms
  • Understand Memory and File Management including Virtual Memory and Paging
  • Understand the principles of deadlock and evaluate the tradeoffs of different approaches for dealing with deadlock
  • Understand the kernel structure of modern operating systems and be able to implement drivers
  • Understand the basics of security and be able to evaluate the tradeoffs in different security approaches
Credit Breakdown

Lecture: 3
Lab: 1
Tutorial: 0

Academic Unit Breakdown

Mathematics 0
Natural Sciences 0
Complementary Studies 0
Engineering Science 26
Engineering Design 22

PREREQUISITE(S): ELEC 274 or CISC 221 and ELEC 278 or CISC 235