CS471/571 - Operating Systems

General Information

This is the website for CS471/571 - Operating Systems taught by Steve Baker

Click on the links on the left for information about the course.


  • Lesson 1

    Intro, Makefiles, GDB, Memory layout of a process, Kernel/User-space separation

  • Lesson 2

    In Unix, everything is a file, basic I/O system calls and pipes.

  • Lesson 3

    Unix process creation with fork() and execv*()

  • Lesson 4

    Installing Xv6 and building a simple user-space program.

  • Lesson 5

    Tracing through a system call in Xv6

  • Lesson 6

    Adding a simple system call to Xv6.

  • Lesson 7

    Virtual Memory & the TLB, malloc/free

  • Lesson 8

    POSIX Threads (pthreads) - multi-threaded programming.

  • Lesson 9

    The Xv6 Filesystem

  • Lesson 10

    POSIX Shared memory - shm_open() / mmap()

  • Lesson 11

    Dynamic Shared Libraries and dlopen()/dlsym()

  • Lesson 12

    Signals and signal handlers

  • Virtual Terminals

    Obtaining and setting up a psuedo-terminal