Zac Blanco     Blog     Education     Projects     About

CSE 221 - Operating Systems

Lecture 1 - Intro

Checkpoints - things that we need to be familiar for this class

  • What is a privileged instruction. Examples?
  • Difference between system call and a function call?
  • Give an example of an atomic instruction
  • Difference between a semaphore and a condition variable
  • Difference between hardware and software-managed TLBs
  • What can happen at a memory instruction. Can the CPU directly access the cache to get the data?
  • What is an inode?

Use the textbook Operating System Concept, by Silberscatz, Galvin, and Gagne if you need to brush up on OS concepts.

Objectives for the course

  • Understanding system design trade-offs. Previous and modern-day systems.
  • Gain experience reading research papers
    • Develop intuition for what question and issues are important, which are not.
  • Experience discussing research material
    • Be able to express opinions and arguing points for/against design decisions.

Lecture 2 - “‘THE’-Multiprogramming System” and “The Nucleus of a Multiprogramming System”

Lecture 3 - TENEX and HYDRA

Lecture 4 - Protection and Protection in Multics

Lecture 5 - UNIX and Plan 9

Lecture 6 - Medusa and Pilot

Lecture 7 - Monitors and Mesa

Lecture 8 - Monitors and Mesa

Lecture 9 - Grapevine and Global Memory Management

Lecture 10 - Microkernels and Exokernels

Lecture 11 - VM/370 and Xen

Lecture 12 - Mach and Vax VMMS

Lecture 13 - Unix Filesystems

Lecture 14 - Rio and Soft Updates

Lecture 15 - Lottery Scheduling and Scheduler Activations

Lecture 16 - Cells and TaintDroid

Lecture 17 - GFS and BigTable

Lecture 18 - MapReduce and Haystack

Lecture 19 - Tensorflow