Operating System Archeology - vmlemon/understand GitHub Wiki

Introduction

During working on MacOS Archeology, the research process resulted in surprising connections between other versions of UNIX, and other operating systems being explored, in the process of creating the sprawling family tree diagram.

Some of these are loose, via code flows between subsystems, in different products, at different times, that don't neatly fit into a given release envelope (e.g. the drivers, file systems, utilities, and networking infrastructure, from various BSD variants, that reverberate between seemingly-unrelated systems), and others are tighter, because entire codebases were subsumed, for various purposes (e.g. Novell NetWare contains almost an entire copy of DR-DOS, just as a boot/management environment, and recent versions of Windows 10 have Linux kernels available, to support Windows Subsystem for Linux 2, as a vendor-maintained component).

A lot of this ongoing effort is made fairly easy, because developers had the foresight to retain debugging, or versioning information, in their binaries (in the best case, files were provided, detailing the exact origin of code - as with DTrace, in MacOS), and, code was either released as Open Source software, or recovered from releases that made their way into the public realm.

However, in the worse case, even though licensing files were provided, the process was frustrated by encryption, obfuscation, and heavy-modification (as with some Sony PlayStation products, or missing versioning information, because the code was a product that was extracted from one OS, to be ported to other platforms (e.g. Sun RPC/NFS).

As an intermediate, things like IBM's JFS codebase were ported, multiple times, between OSes (AIX, OS/2, Linux), but the public story is confusing, and vague, and versioning information is hard to discern - even though symbols can be discovered, via heuristics (e.g. functions were renamed, from J2_, to JFS2_).

Obscure Platforms

At present, some OSes exist, with scarce public documentation, or limited binary materials, for examination. It would be interesting, to obtain installation media, and/or source code, for the following:

  • Stratus OpenVOS - some executables, documentation, and utilities exist, on the Stratus FTP server, but we still don't have a complete copy of the OS
  • HP/Compaq/Tandem NonStop (some NonStop-UX files were added, to Archive.org, but nothing is available, for NSK)
  • THEOS Corona - installation files were added to Archive.org

Microsoft Windows

  • MS-DOS 8.0/Windows 3.1, in Windows 8.1 - 32-bit versions
  • Linux kernels, in Windows 10 component (WSL2) - 64-bit versions
  • Linux kernel ABI layer, in Windows 10 (WSL1) - 64-bit versions
  • Windows NT POSIX Subsystem