Introduction to Operating Systems
Introductory level operating system ideas, techniques, and implementations. This course is divided into four parts: (1) Virtualization, (2) Memory Management, (3) Concurrency, and (4) Persistence. Examples of practical applications include implementing a command line interpreter, and multi-threaded operating system tools.
Select From Ready-Made Modules to Build Your Course

Deploy as-is, augment existing content, and effortlessly customize content and labs with our integrated AI Curriculum Assist tools.
Introduction to Operating Systems
Included in this course:
Introduction:
Intro to Operating Systems
C Primer
Processes
Process API
Direct Execution
Summative Assessments
CPU Scheduling
Multi-Level Feedback
Lottery Scheduling
Summative Assessment
Address Spaces
Memory API
Address Translation: Base & Bounds
Summative Assessment
Segmentation
Free Space Management
Implementing Malloc & Free
Summative Assessment
Introduction to Paging
Translation Lookaside Buffers
Advanced Page Tables
Summative Assessment
Swapping: Mechanisms
Swapping Policies
Summative Assessment
Complete VM Systems
Virtual Memory for Linux
Summative Assessment
Concurrency & Threads
Thread API
Locks
Summative Assessment
Locked Data Structures
Condition Variables
Semaphores
Summative Assessment
Multi-CPU Scheduling
Concurrency Bugs
Event Based Concurrency
Summative Assessment
I/O Devices
Hard Disk Drives
Redundant Disk Arrays (RAID)
Summative Assessment
Files & Directories
Fast File System (FFS)
File System Implementation
Summative Assessment
FSCK and Journaling
Log-structured File System
Flash-based SSDs
Summative Assessment
Distributed Systems
Data Integrity and Protection
Network File System (NFS)
Andrew File System (AFS)
Summative Assessment
Building Expertise Through Hands-On Practice
Constructing Knowledge Through Coding
Introduction to Operating Systems emphasizes students applying and exploring the information presented. A code editor accompanies each page with new concepts so students can see for themselves how the computer responds to code. In addition, the content provides code snippets to get students started as well as suggested avenues for investigation.
Auto-graded assessments
Auto-Graded Assessments
Students receive immediate, rich feedback. In addition to correctness feedback (i.e. right or wrong), students will also see an explanation with the complete solution. There are a wide variety of questions — all of which are auto-graded, giving students a sense of their understanding of the material right after they are introduced to it and as they attempt harder and harder problems.
[Build] Real-World Coding Skills With Hands-On, Interactive Labs