Useful Resources
This page is dedicated to list certain useful and fun resources to aid your learning.
Fun Games
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.
50.005 CSE