CS 423

CS 423 - Operating Systems Design

Fall 2024

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Operating Systems DesignCS423SG36115LCD31400 - 1515 T R  2100 Sidney Lu Mech Engr Bldg Tianyin Xu
Ram Alagappan
Operating Systems DesignCS423SU36113LCD31400 - 1515 T R  2100 Sidney Lu Mech Engr Bldg Tianyin Xu
Ram Alagappan
Operating Systems DesignCSE423SG59051LCD31400 - 1515 T R  2100 Sidney Lu Mech Engr Bldg Tianyin Xu
Ram Alagappan
Operating Systems DesignCSE423SU59050LCD31400 - 1515 T R  2100 Sidney Lu Mech Engr Bldg Tianyin Xu
Ram Alagappan

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: One of CS 241, CS 341, or ECE 391.

Course Director

Text(s)

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