Skip to main content Link Search Menu Expand Document (external link)

Useful Resources

This page is dedicated to list certain useful and fun resources to aid your learning.

Fun Games

You’re the OS Game

Amazing Articles

Putting the “You” in CPU: A nice article that explains how CPU works and more.

Shell in C

Write a Shell in C: A useful article to implement PA1 that conforms to UNIX-like philosophy.

CPU Scheduling

The Fancy Algorithms That Make Your Computer Feel Smoother: An excellent animation that details how CPU scheduling works.

UNIX

A commentary on the Sixth Edition UNIX Operating System, with Source Code: A deep, line-by-line annotated commentary on the source code of Version 6 Unix kernel.

Original Thompson Shell: Source code of the original UNIX shell, written by Ken Thompson, inventor of the Unix operating system, and the Go programming language, among other things. He also created grep.

xv6 shell: An implementation of a simple shell by MIT for their xv6 Unix kernel. xv6 is a reimplementation of Unix V6 specifically for learning. It would be good to look at the other utilities, like cat.c.

C Programming

The Ten Commandments for C Programmers (Annotated Edition) by Henry Spencer, inventer of Regex: A humorous and sharp list detailing the ten worst “sins” committed by C programmers.