skip to main content

CS 423 - Operating Systems Design

Spring 2020

Operating Systems DesignCS423C331378LCD31400 - 1515 T R  1310 Digital Computer Lab Tianyin Xu
Operating Systems DesignCS423C431379LCD41400 - 1515 T R  1310 Digital Computer Lab Tianyin Xu
Operating Systems DesignCSE423C331380LCD31400 - 1515 T R  1310 Digital Computer Lab Tianyin Xu
Operating Systems DesignCSE423C431381LCD41400 - 1515 T R  1310 Digital Computer Lab Tianyin Xu

Official Description

Organization and structure of modern operating systems and concurrent programming concepts. Deadlock, virtual memory, processor scheduling, and disk systems. Performance, security, and protection. Course Information: Same as CSE 423. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or ECE 391.

Course Director


Operating Systems: Principles & Practice (2nd Edition), Thomas Anderson, Michael Dahlin, 2014

Linux Kernel Development (3rd Edition), Robert Love, 2010

Learning Goals

Be able to explain and implement kernel programming principles based on Linux Operating System (1) (2) (6)
Be able to 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 poblems. (1) (2) (6)
Be able to explain, analyze and argue system tradeoffs based on OS design decisions (1) (3) (5)
Be able to explain and analyze the performance impact of basic operating system concepts and principles as they relate to distributed and embedded computing paradigms. (1) (3) (5)
Be able to explain, analyze, and argue about OS security issues and their impact on various OS components. (1) (3) (4) (5)

Topic List

  • Process and Thread Management including Scheduling and Synchronization in general terms and within Linux OS
  • Memory Management including Virtual Memory Management
  • File System including Performance Optimization
  • Input and Output Management including DMA, Interrupts, Memory-Mapped IO, Device Drivers, Disk Management, Timers and Power Management
  • Virtualization of Hardware, OS and Applications
  • Parallel OS including multi-core load balancing and scheduling
  • Distributed OS including distributed file systems and middleware
  • Operating System Security including mandatory access control, information flow control, authorization, encryption, and other security pittfalls and attacks
  • Special topics in operating systems including mobile and multimedia OS concepts

Assessment and Revisions

Revisions in last 6 years
No significant changes (there were no structural changes of the course, but we have updated the material based on the newest version of the same Tannenbaum textbook from 6 years ago)

Required, Elective, or Selected Elective

Selected Elective.

Last updated

2/16/2019by Adam Bates