HNNewShowAskJobs
Built with Tanstack Start
Run ancient UNIX on modern hardware(github.com)
124 points by doener 3 days ago | 38 comments
  • retrac3 days ago

    Robert Nordier's port of v7 to x86 probably didn't get the attention it deserves.

    It's what it sounds like: v7 Unix ported to x86. Unix v7 was portable enough and the PDP-11 architecturally similar enough to x86 that almost all the code works without change. (Many of the changes from v6 to v7 were to make Unix more portable; it was already running on at least 4 different architectures by 1980.)

    I wonder if the obscurity is because the x86 v7 source was an archive inside an archive? Seems a minor thing but not having it to browse online is likely to be an off-ramp for most.

    https://www.nordier.com/v7x86/v7x86-0.8a-all.tar.xz has releases/v7x86-0.8a.tar.bz2 (you'll want to use a -C prefix it explodes in the current directory). Source is in usr/sys and usr/src like normal for v7 Unix.

    And yes, your modern Linux system's GNU tar is reading the ancient v7 tar format just fine. Neat, eh?

    You might find the modern "file" command can still recognize the v7 a.out binary format too:

        $ file usr/bin/compress  
        usr/bin/compress: a.out little-endian 32-bit executable not stripped
    
    Unix version 7 remains a sort of lowest common denominator almost half a century later.
    • snovymgodym3 days ago |parent

      Wasn't Xenix just Unix V7 ported to x86? (Albeit originally 16-bit x86)

  • leoc3 days ago

    xv6 the MIT 'spiritual port' (so to speak) of Version 6 Unix probably deserves to be mentioned there as well, as while it's not actually a historic Bell Labs Unix it will better meet some people's needs. https://pdos.csail.mit.edu/6.828/2012/xv6.html https://pdos.csail.mit.edu/6.828/2025/xv6.html

    • accrual3 days ago |parent

      Good mention! If one wants to study Unix in an academic sense then xv6 is a great starting point. IIRC, many course studies start with xv6 and gradually adding new capabilities to it.

    • zvmaz3 days ago |parent

      Videos that go through the xv6 source code: https://www.youtube.com/playlist?list=PLbtzT1TYeoMhTPzyTZboW...

  • actionfromafar2 days ago

    I can't pick up the caper (due to the customary backlog of insane projects), but IMHO someone™ should port RetroBSD¹ to more microcontrollers. There's even a C compiler² running on device!

    There's a UNIX shape void in the embedded world. Todays microcontrollers routinely come with several megabytes of RAM.

    1: https://github.com/RetroBSD/retrobsd

    2: https://github.com/RetroBSD/retrobsd/tree/master/src/cmd/sma...

    • blippage2 days ago |parent

      There's also Fuzix, which is Unix-like. https://fuzix.org/

      Supports Arm M0 (Raspberry Pi Pico), ESP32 and a variety of others, including Z80.

  • hn_acc13 days ago

    At work at the time (I was an intern), in 1993, we ran SCO Unix on a 25 MHz 386sx with 8 MB and another 6 MB on an add-in card on the ISA bus. And while the compilation with Motif was a bear (1 hour for a 1 MB executable), the actual app was reasonably snappy.

    I can't imagine how FAST that system would feel with modern hardware.

    • lproven2 days ago |parent

      > SCO Unix on a 25 MHz 386sx with 8 MB and another 6 MB on an add-in card

      OK, SCO Xenix not SCO Unix, but I deployed production Xenix boxes with 4MB of RAM on 80386DX processors.

      It ran well and supported 4-6 users no problem. As I recall, one customer had 8 users and they needed a RAM upgrade. I think, dimly now as this wasn't my department, it was eye-wateringly expensive. Something in the region of £5,000 to £6,000 (at the time, $10K+).

      We did deploy one box with just 2 MB of RAM, but that didn't work well once a few users on terminals logged in. They had to upgrade the RAM.

      FWIW these were 32-bit 386 machines, but with no CPU cache – the lower-end IBM PS/2 Model 80 variants of the time, with 16 MHz and 20 MHz CPUs. (The top-end 25MHz Model 70 had a small SRAM cache for the CPU. It cost over £10,000 with no screen, keyboard or mouse, and my Acorn Archimedes A310, which cost me £800, absolutely smoked it: it was about 4x as fast.)

      That's when I knew Arm would eventually eat x86: in 1989. It's finally happening now.

      But I was running PC DOS and DOS software in a window on my ARM desktop in 1989, in pure software emulation, and it was sluggish but usable. CPU was equivalent to a 2-2.5 MHz 8086, but disk performance was better than a screaming fast SCSI disk, so it balanced out.

      • jhallenworld2 days ago |parent

        I did the same, but with Tandy 4000s.

        >That's when I knew Arm would eventually eat x86: in 1989. It's finally happening now.

        I had kind of the reverse feeling: when the 486 came out, I knew those expensive SPARC and MIPS workstations were all doomed.

        • lprovena day ago |parent

          > I did the same, but with Tandy 4000s.

          Never saw one of those. Tandy computers did exist in the UK, and even here on the Isle of Man there was a single Tandy's store. (They weren't called "Radio Shack" here.) But while they sold lots of spares and components and toys, they didn't sell that many computers.

          > I had kind of the reverse feeling: when the 486 came out, I knew those expensive SPARC and MIPS workstations were all doomed.

          Well, yes. Flipside of the same coin.

          Expensive RISC computers were doomed. Arm computers weren't expensive back then: they were considerably cheaper than PCs of the same spec. So for a while, they thrived, then when they couldn't compete on performance they moved into markets where they could compete on power consumption... which they then ruled for 30 years.

        • pjmlp2 days ago |parent

          Ironically Bill Gates was big into UNIX, see his Xenix interview, and had they not gotten lucky with the whole MS-DOS deal, maybe they would have kept Xenix and who knows how that would have turned out.

          Xenix was also my introduction to UNIX.

          However due to our school resources, there was a single PC tower running it, we had to prepare our examples in MS-DOS using Turbo C 2.0, and API mocks, and take 15m turns at the Xenix PC.

          • lprovena day ago |parent

            > had they not gotten lucky with the whole MS-DOS deal, maybe they would have kept Xenix and who knows how that would have turned out.

            Oh, absolutely, yes. It's one of the historical inflection points that's visible.

            My favourites...

            • MS wanted to go with Xenix but DOS proved a hit so it changed course.

            • DR had multitasking Concurrent DOS on the 80286 in 1985, but Intel's final released chip removed the feature CDOS needed, so it pivoted to FlexOS and RTOSes, leaving the way open to MS and OS/2 and Windows.

            • MS wanted OS/2 1.x to be 386-specific but IBM said no. As a result, OS/2 1.x was cripped by being a 286 OS, it flopped, and IBM lost the x86 market.

            • Quarterdeck nearly had DESQview/X out before Windows 3: a TCP/IP enabled X11-based multitasking DOS extended that bridged DOS to Unix and open systems... but it was delayed and so when it appeared it was too late.

            * GNU discussed and evaluated adopting the BSD kernel for the GNU OS, but decided to go with Mach. Had it gone for the BSD kernel, there would have been a complete working FOSS Unix for 386 at the end of the 1980s, Linux would never have happened, and Windows 3 might not have been such a hit that it led to NT.

            I got whole series of articles out of this, titled in honour of Douglas Adam's fake trilogy about god...

            #1

            https://www.theregister.com/2024/08/28/where_computing_went_...

            #2

            https://www.theregister.com/2024/08/29/where_computing_went_...

            #3

            https://www.theregister.com/2024/09/04/where_computing_went_...

            With apologies to Oolon Colluphid. ;-)

    • anthk2 days ago |parent

      I tried EMWM with Motif based tools (from Vim to Emacs, EMWM, XFile, Ximaging, Classic-Colors (and even tried to write a simple UI for Mplayer) under a 10-15 year old n270 based netbook.

      https://fastestcode.org/emwm.html

      It ran really fast. Also, if Dillo ran snappy under a 486 (today so-so except for a slight delay because of TLS, but bearable once the page it's rendered), Dillo today runs at light speeds. This on my n270 netbook under OpenBSD. With NetBSD, it would run slightly faster.

    • ForOldHack3 days ago |parent

      To quote Scotty: "we going nowhere mighty fast."

      Motif? What version of SCO UNIX?

    • WesolyKubeczek2 days ago |parent

      1 MB executable was huuuge in those times, wasn't it?

      • lproven2 days ago |parent

        Inconceivable!

        My eval box for my work Xenix deployments was an 80286: an IBM PC-AT with 512 kB of RAM. Everything worked.

  • blankx323 days ago

    simh deserves the credit here

    • anthk2 days ago |parent

      Simh can still run modern NetBSD under Vax. Go figure.

  • cortesoft3 days ago

    Is 'ancient UNIX' a term of art, or should I be offended?

    • jonjacky2 days ago |parent

      Severo Ornstein called his memoir of the 1950s - 1970s Computing in the Middle Ages. Ornstein worked on SAGE, TX-2, LINC, and the Arpanet IMP among other things, before moving on to Xerox PARC.

      https://worrydream.com/refs/Ornstein_2002_-_Computing_in_the...

    • LukeShu3 days ago |parent

      While exact definitions vary, it's a term of art for Research Unix ≤ V7, perhaps plus or minus a version, perhaps including contemporary derivatives.

    • 3 days ago |parent
      [deleted]
    • shaky-carrousel3 days ago |parent

      I'm a Stargate fan, and I call everything created before 1980 Ancient Technology. I like how it sounds.

      • preisschild2 days ago |parent

        The Ancients had cool tech. Probably all running on Unix :P

    • fl73052 days ago |parent

      Some of us are ancient enough to have been born before the last person walked on the moon.

      • lproven2 days ago |parent

        Some of us are working day jobs in tech and remember the first guy.

    • cryptonector3 days ago |parent

      Relatively speaking, any operating system from the 70s is "ancient".

      • pjmlp3 days ago |parent

        What about from the 60s? Archaic?

        https://www.unisys.com/product-info-sheet/ecs/clearpath-mast...

        • anthk2 days ago |parent

          Anything with non keyboard input = prehistoric.

        • aap_2 days ago |parent

          Is it at all possible to get a peak into that world as a curious person?

          • anthk2 days ago |parent

            http://ibm1130.org/emu/

            https://opensimh.org/simdocs/ibm1130_doc.html

          • pjmlp2 days ago |parent

            Unisys not, but the one predating UNIX,

            https://multicians.org/simulator.html

            • aap_2 days ago |parent

              With Multics i'm familiar enough, i meant unisys specifically.

              • pjmlp2 days ago |parent

                Not for free,

                https://www.unisys.com/client-education/mcp-clearpath-server...

                However you can get into the documentation for free,

                NEWP manual, the systems language,

                https://public.support.unisys.com/aseries/docs/ClearPath-MCP...

                https://public.support.unisys.com/aseries/docs/ClearPath-MCP...

                Overall documentation,

                https://public.support.unisys.com/aseries/docs/ClearPath-MCP...

                The original system back in 1960's,

                https://en.wikipedia.org/wiki/Burroughs_Large_Systems

    • throwawaysoxjje3 days ago |parent

      I’d call basically anything before the mid 90s ancient, even though I was there and using it at the time, just because of how much of the way we use computers now has changed so drastically.

      • anthk2 days ago |parent

        Amiga WB, Macs, Atari GEM, RiscOS... not that different.

        • throwawaysoxjje2 days ago |parent

          How many of the operating systems that you listed remain as ways we use computers?

          Even Macs were an entirely different codebase that didn’t even have memory protection or preemptive multitasking, which very much changed how you used it.