7th Edition Unix at 40
This year marks the 40th anniversary of the 7th Edition of Unix and 50 years since Thompson and Ritchie started writing Unix. In honor of these milestones, the author set about to recreate a historic commercial port of Unix to 8088 (Venix/86). This talk explores how V7 Unix has many children; how Unix has changed since the 7th Edition days; chronicles the creation of a V7 emulator needed to run the original compiler on fast hardware; and explores how to recreate sources to systems that have diverted from the now-public sources to recreate many of the binaries from the Venix/86 distribution. A better understanding of Unix’s past helps with understanding BSD systems today.
Ken and Dennis started to create Unix 50 years ago, about the time the United States was landing on the moon. It grew inside of Bell Labs for a decade, culminating in the 7th Edition of Unix, which spawned many children including System V, BSD, and many commercial Unixes. From this base, Unix was ported to many machines. One of these ports was Venix/86 which ran on 8086 and 8088 machines (and later 80286). The author’s first computer was the DEC Rainbow 100, a now-obscure also-ran released about the same time as the IBM-PC. The author searched for many years to find a copy of Venix/86R for the Rainbow, only to be disappointed until recently when a copy resurfaced which he helped recover. Noting the system was a commercial derivative of V7, the author set about to reconstruct the sources, as far as possible. The old hardware ran hundreds of times slower than modern hardware, so the author created a Venix/86 emulator to run the old compiler on modern hardware. The emulator is fairly advanced, and many of the sources have so-far been recovered. This talk will explore a number of topics: a history of Unix; the surprising things that were in V7 unix; the things we take for granted today that were missing; a discussion about creating a Venix/86 emulator and reverse engineering ABIs; and early results from the recreation efforts. Come for the history, stay for the riveting discussions of syscalls, calling conventions and binary emulation! This will be the perfect opportunity to understand where BSD came from; the debt we owe to Bell Labs; and learn from a simpler system to better understand today’s BSD systems.