Lectures

Lecture 7: mmap

We discuss the system call mmap and its uses, in preparation for the fourth homework assignment, in which we implement eager and lazy mmap in xv6.

Lecture 6: paging and virtual memory

We discuss the design of the virtual memory subsystem on the x86 32-bit and 64-bit architectures, and how this is used to implement the process abstraction in xv6.

Lecture 4: protected mode, and a first system call

We discuss the hardware foundation of most modern operating system: dual-mode operation, and its implementation in the x86 architecture. This is followed by a deep-dive into a first system call: write().

Lecture 2: hw1 tools, and boot

Review of hw1, several tools needed and how to use them, and a brief introduction to the first stages of the boot process.

Lecture 1: introduction

Discussion of the class syllabus, and the primary functionality provided by an Operating system.