Computer Science
>
>

CS 112, CS212: Operating Systems

Winter 2023

Stanford University

This course introduces students to operating system concepts, with a primary focus on Unix, and covers key systems concepts in general. It prepares students to deal with larger software systems with programming assignments that are bigger than in many other courses. Topics covered include threads & processes, concurrency & synchronization, scheduling, virtual memory, I/O, disks, file systems, protection & security, and virtual machines.

Course Page

Overview

Course topics

  • Threads & Processes
  • Concurrency & Synchronization
  • Scheduling
  • Virtual Memory
  • I/O
  • Disks, File systems
  • Protection & Security
  • Virtual machines
  • Note: Lectures will often take Unix as an example
    • Most current and future OSes heavily influenced by Unix
    • Won’t talk much about Windows

Prerequisites

No data.

Learning objectives

  • Introduce you to operating system concepts
    • Hard to use a computer without interacting with OS
    • Understanding the OS makes you a more effective programmer
  • Cover important systems concepts in general
    • Caching, concurrency, memory management, I/O, protection
  • Teach you to deal with larger software systems
    • Programming assignments much larger than many courses
    • Warning: Many people will consider course very hard
    • In past, majority of people report ≥15 hours/week
    • We hope it’s more manageable with CS111 background and no lectures or exams
  • Prepare you to take graduate OS classes (CS240, 240[a-z])

Textbooks and other notes

Textbook: Operating System Concepts, 8th Edition, by Silberschatz, Galvin, and Gagne

Other courses in Operating Systems

CS240 Advanced Topics in Operating Systems

Winter 2023

Stanford University

CS 140: Operating Systems

Spring 2020

Stanford University

CSE 333 Systems Programming

Summer 2022

University of Washington

CS 111 Operating Systems Principles

Autumn 2022

Stanford University

CS 140E: embedded operating systems

Winter 2023

Stanford University

Courseware availability

Lecture slides and codes available at Lecture and section notes

No videos available

Projects available at Programming Projects

Exam archives available at Exam Archive

Covered concepts