DeepHack
DeepHack: Digital spelunking for the 21st Century
Secret Motor[edit | edit source]
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[edit | edit source]
QEMU is a generic and open source machine emulator and virtualizer.
Horology[edit | edit source]
Linux 3.4 timer fixes[edit | edit source]
Patches for resume and 32-bit timer overflow
https://lkml.org/lkml/2012/8/21/673
(Potential) fix for Linux leapsecond bug[edit | edit source]
1 July 2012
https://lkml.org/lkml/2012/7/1/176
Avoiding unnecessary overflow in sched_clock[edit | edit source]
15 November 2011
https://lkml.org/lkml/2011/11/15/359
The Elements of Computing Systems[edit | edit source]
MMIX[edit | edit source]
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[edit | edit source]
The OR1200 is an open-source synthesizable CPU.
What Every Programmer Should Know about Computer Memory[edit | edit source]
A 7-part series by Ulrich Drepper (complete PDF):
CorePy[edit | edit source]
CorePy: Assembly Programming from Python
Patterson & Hennesy[edit | edit source]
Java tutorial based on "Computer Architecture" and "Computer Organization and Design"
Operating Systems[edit | edit source]
Systems-level software (kernel and userspace)
Unix V6[edit | edit source]
- Unix V6 Shell by Ken Thompson (900 lines), 1975
- John Lion's Commentary on the Unix v6 source
Linux[edit | edit source]
A Plumber's Wish List for Linux[edit | edit source]
Looking for a useful systems software project? Version 2 of the list by Kay Sievers (20 Oct 2011).
Linux 0.01[edit | edit source]
- Original release by Linus Torvalds (10,000 lines), September 1991
- Port to GCC4 / QEMU by Abdel Benamrouche, 1 January 2008
Minix 3[edit | edit source]
Roadmap including ARM support.