DeepHack: Difference between revisions
No edit summary |
No edit summary |
||
(11 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
DeepHack: | DeepHack: Digital spelunking for the 21st Century | ||
= Secret Motor = | |||
[http://www.youtube.com/watch?v=D5PS-zOciF8 The original Secret Motor] was a project by Mike Kan circa 1993 to visualize memory access on a Macintosh using an oscilloscope. The [https://github.com/leif/qemu-secret-motor 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 [https://www.youtube.com/watch?v=s1eNjUgaB-g YouScope] [http://www.youtube.com/watch?v=-1E0DpQ_cFo emulator]) to visualize that data. TODO: post some video here of the qemu secret motor running. | |||
=QEMU= | =QEMU= | ||
[http://wiki.qemu.org/Main_Page QEMU] is a generic and open source machine emulator and virtualizer. | [http://wiki.qemu.org/Main_Page QEMU] is a generic and open source machine emulator and virtualizer. | ||
=Horology= | |||
==Linux 3.4 timer fixes== | |||
Patches for resume and 32-bit timer overflow | |||
https://lkml.org/lkml/2012/8/21/673 | |||
==(Potential) fix for Linux leapsecond bug== | |||
1 July 2012 | |||
https://lkml.org/lkml/2012/7/1/176 | |||
==Avoiding unnecessary overflow in sched_clock== | |||
15 November 2011 | |||
https://lkml.org/lkml/2011/11/15/359 | |||
=The Elements of Computing Systems= | =The Elements of Computing Systems= | ||
Line 26: | Line 42: | ||
[http://www.corepy.org/ CorePy]: Assembly Programming from Python | [http://www.corepy.org/ CorePy]: Assembly Programming from Python | ||
=A Plumber's Wish List for Linux= | =Patterson & Hennesy= | ||
[http://lkml.org/lkml/2011/10/20/275 Version 2] by Kay Sievers (20 Oct 2011). | [http://www.cs.iastate.edu/~prabhu/Tutorial/title.html Java tutorial] based on "Computer Architecture" and "Computer Organization and Design" | ||
=Operating Systems= | |||
Systems-level software (kernel and userspace) | |||
==Unix V6== | |||
* [http://v6shell.org/history/sh.c Unix V6 Shell] by Ken Thompson (900 lines), 1975 | |||
* [http://v6.cuzuco.com/ John Lion's Commentary] on the Unix v6 source | |||
** [http://www.lemis.com/grog/Documentation/Lions/ in PDF] | |||
==Linux== | |||
===A Plumber's Wish List for Linux=== | |||
Looking for a useful systems software project? [http://lkml.org/lkml/2011/10/20/275 Version 2] of the list by Kay Sievers (20 Oct 2011). | |||
===Linux 0.01=== | |||
* [http://www.kernel.org/pub/linux/kernel/Historic/ Original release] by Linus Torvalds (10,000 lines), September 1991 | |||
* [http://kerneltrap.org/Linux/Dusting_Off_the_0.01_Kernel Port to GCC4 / QEMU] by Abdel Benamrouche, 1 January 2008 | |||
==Minix 3== | |||
[http://wiki.minix3.org/en/MinixRoadmap Roadmap] including ARM support. | |||
=Temporal Hex Dump= | |||
* http://scanlime.org/2009/10/temporal-hex-dump/ | |||
[[Category:Programming languages]] | |||
[[Category:Projects]] |
Latest revision as of 00:25, 10 July 2019
DeepHack: Digital spelunking for the 21st Century
Secret Motor[edit]
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]
QEMU is a generic and open source machine emulator and virtualizer.
Horology[edit]
Linux 3.4 timer fixes[edit]
Patches for resume and 32-bit timer overflow
https://lkml.org/lkml/2012/8/21/673
(Potential) fix for Linux leapsecond bug[edit]
1 July 2012
https://lkml.org/lkml/2012/7/1/176
Avoiding unnecessary overflow in sched_clock[edit]
15 November 2011
https://lkml.org/lkml/2011/11/15/359
The Elements of Computing Systems[edit]
MMIX[edit]
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]
The OR1200 is an open-source synthesizable CPU.
What Every Programmer Should Know about Computer Memory[edit]
A 7-part series by Ulrich Drepper (complete PDF):
CorePy[edit]
CorePy: Assembly Programming from Python
Patterson & Hennesy[edit]
Java tutorial based on "Computer Architecture" and "Computer Organization and Design"
Operating Systems[edit]
Systems-level software (kernel and userspace)
Unix V6[edit]
- Unix V6 Shell by Ken Thompson (900 lines), 1975
- John Lion's Commentary on the Unix v6 source
Linux[edit]
A Plumber's Wish List for Linux[edit]
Looking for a useful systems software project? Version 2 of the list by Kay Sievers (20 Oct 2011).
Linux 0.01[edit]
- Original release by Linus Torvalds (10,000 lines), September 1991
- Port to GCC4 / QEMU by Abdel Benamrouche, 1 January 2008
Minix 3[edit]
Roadmap including ARM support.