DeepHack: Digital spelunking for the 21st Century
- 1 Secret Motor
- 2 QEMU
- 3 Horology
- 4 The Elements of Computing Systems
- 5 MMIX
- 6 Open Computation Hardware
- 7 What Every Programmer Should Know about Computer Memory
- 8 CorePy
- 9 Patterson & Hennesy
- 10 Operating Systems
- 11 Temporal Hex Dump
The original Secret Motor was a project by Mike Kan circa 1993 to visualize memory access on a Macintosh using an oscilloscope. The QEMU Secret Motor is an attempt to create something similar using an emulator. It currently consists of a patched version of qemu which prints the x86 EIP for each cycle of the emulated machine, and a python script (based on this YouScope emulator) to visualize that data. TODO: post some video here of the qemu secret motor running.
QEMU is a generic and open source machine emulator and virtualizer.
Linux 3.4 timer fixes
Patches for resume and 32-bit timer overflow
(Potential) fix for Linux leapsecond bug
1 July 2012
Avoiding unnecessary overflow in sched_clock
15 November 2011
The Elements of Computing Systems
MMIX is a 64-bit RISC machine used in Volume 4A of Donald Knuth's Art of Computer Programming and it will eventually be used in all other volumes of that series.
Open Computation Hardware
The OR1200 is an open-source synthesizable CPU.
What Every Programmer Should Know about Computer Memory
A 7-part series by Ulrich Drepper (complete PDF):
CorePy: Assembly Programming from Python
Patterson & Hennesy
Java tutorial based on "Computer Architecture" and "Computer Organization and Design"
Systems-level software (kernel and userspace)
A Plumber's Wish List for Linux
Looking for a useful systems software project? Version 2 of the list by Kay Sievers (20 Oct 2011).
- Original release by Linus Torvalds (10,000 lines), September 1991
- Port to GCC4 / QEMU by Abdel Benamrouche, 1 January 2008
Roadmap including ARM support.