CEN 413: Design of Operating System

Offered Under: B.Sc. in Computer Engineering (CEN)

This course serves as a rigorous introduction to the principles and practices of operating systems. Core concepts discussed are process model, process management, synchronization, threads, deadlocks, CPU scheduling, storage management, memory management, memory allocation, addressing, swapping, paging, segmentation, virtual memory organization, demand paging. More advanced OS topics covered:  file systems and their structure, access methods, interface, implementation and protection, I/O systems, mass-storage structures, system performance, networking, security and an overview of the structure, file system and coordination of distributed systems.

Course Type Major
Credit Hour 3
Lecture Hour 45
Expected Outcome(s):
  • Explain and implement kernel programming principles.
  • Explain basic OS components and the inter-dependencies among operating system components such as process management, memory management, file system management, I/O management, as well as get understanding of implementation of some of these basic components through machine problems.
  • Explain, analyze and argue system tradeoffs based on OS design decisions.
  • Explain, analyze and argue system tradeoffs based on OS design decisions.
  • Explain and analyze the performance impact of basic operating system concepts and principles onto parallel/distributed OS, mobile OS, multimedia OS and cloud OS.
  • Explain, analyze, and argue about OS security issues and their impact on various OS components.

Grading Policy:

Biweekly Quiz, Biweekly Programming Assignment, One Midterm Exam, One Final Exam


Letter Grade Marks Grade Point
A 90 - 100 4.00
A- 85 - 89 3.70
B+ 80 - 84 3.30
B 75 - 79 3.00
B- 70 - 74 2.70
C+ 65 - 69 2.30
C 60 - 64 2.00
C- 55 - 59 1.70
D+ 50 - 54 1.30
D 45 - 49 1.00
F 00 - 44 0.00