The History of Xenix
abortretry.fail
abortretry.fail
I first learned about this from an article in the March/April 1984 issue of the newsletter published by Carousel Microtools (a company that implemented Kernighan/Plauger Software Tools from the book of the same name).
"Fortunately there is a way to suppress this confusion altogether. PC-DOS and MS-DOS version 2.x share a feature that is little known and which IBM never mentions."
A few days later the server crashed hard. Opened it up. The hard disk was leaking fluid. Notified the higher ups. Found myself in a taxi hauling the server of considerable size and weight to a taxi. We went to a contracted Xenix support center. Tney said there was nothing they could do to recover files. Stuffed in a replacement drive, installed a fresh version of the OS. Said they would send the broken drive to a different company. Hauling it back, get it setup. Two days later, the ftp site was up and running again.
I repeated what I did the last time. Then I sat down to read and understand the system at a far deeper level than I had so far.
The source code for MSDOS 2 is available and the file descriptor stuff appears to be in https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/... and XENIX2.ASM. It stands in contrast to the File Control Block API which MSDOS 1 (née 86-DOS) modeled after CP/M’s API.
My high school had I think the TRS-80 Model 16B with I thought 8-12 terminals attached. It was primarily used for a COBOL class, replacing a Burroughs mini and punch cards.
We had a bank of modems wired up, and the system would maintain SSH tunnels to remote sites, then use UUCP to transfer nightly batch-reports to a centralized location for processing.
My memory is hazy, but I remember having a hard time getting the system running on new hardware, and kernel updates were always a scary thing to apply - no change there I guess.
Even at the time though Linux (Debian) was starting to replace these machines due to cost grounds.