Syllabus Updated January 11, 2018


Topics Covered

This course covers the following topics:

Disks, File systems, I/O, Threads & Processes, Scheduling, Virtual Memory, Protection & Security, Interrupts, Concurrency & Synchronization.

Assignments

  • Assignment 0: Raspberry Pi Setup
  • Assignment 1: Shell and Bootloader
  • Assignment 2: SD Driver and FAT File System
  • Assignment 3: Spawn
  • Assignment 4: Multitasking and Multicore

Textbook

There is no textbook for this course.

Schedule

Week Monday Wednesday
Jan 8 Introduction to CS140e
Slides
Introduction to Rust I
Code (pdf) | Code (rs) | Rusty Types Reading
Assignment 0 Released
Read TRPL v2: Chapters 1 - 11
Jan 15 Martin Luther King Jr. Day (no class/lab!)
Assignment 0 Due
Introduction to Rust II
Container Cheat Sheet
Assignment 1 Released
Read TRPL v2: Chapters 13 - 19
Jan 22 What is an OS? The shell, GPIO, UART.
UART Communication Basics
I/O & Disks
CS140 (~15 years ago) Slides | Recent CS140 Slides
Jan 29 File Systems I Introduction to Rust III
Rust Q&A Submission Due
Feb 5 File Systems II Memory Allocation, FAT32
Assignment 1 Due
Feb 12 Virtual Memory I
Assignment 2 Released
Virtual Memory II
Feb 19 President's Day (no class/lab!) Virtual Memory III
Feb 26 Processes & Scheduling
Boards | CS140 Slides
Interrupts & Exceptions
Boards
Mar 5 IPC & Scheduling
Boards | CS140 Slides
• Assignment 2 Due
System Calls & Isolation
Boards
Mar 12 Virtual Machines
Assignment 3 Released
Synchronization
Boards
Mar 19 Assignment 3 Due Final Exam Due
Schedule is tentative and subject to change.