11 comments

[ 3.9 ms ] story [ 36.1 ms ] thread
I've spent a considerable amount of time porting various Unix C software to Xenix 286. My main task has been to identify and correct the implicit assumptions that pointers and integers are 32-bit, as opposed to 16-bit, and to ensure that there are no integer overflows. Some software was well-written, utilizing portable types and macros, while other software was a mess.
Was this part of a hobby project or did you do this for work?
It was for work. I worked for a small ISP and they tried to use 286 machines as terminals and mail servers. So I ported stuff like CNEWS, UUCP and bunch of related stuff. It was around 1994.
> the ability to change the switch operator from / to - like XENIX/UNIX, and the ability to change the path separator from \ to /

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."

I had Xenix 286 installed at work on a 286 with 4M memory. Was very nice, but very expensive. Too mad it was not much cheaper.
For UNIX, I think it was about on par, but for an OS for X86 it was crazy. Had it been cheaper, I think history may have been quite different.
"By the end of 1984, Tandy was the largest UNIX systems vendor of their day"

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.

I never personally used Xenix, but I did use SCO openserver & unixware, back in the day working for a billing company.

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.

An amazing history of Microsoft, MS Dos,Xenix, logica, and SCO! Thanks
My first sysadmin job ( along with webmaster and HTML/CGI programmer introduced me to UNIX and Xenix in particular. I immediately started spelunking around the system with my root account. I soon discovered that something seemed odd with the use of system resources. Poking some more I discovered some “hidden” folders. Turns out someone hacked the ftp server and setup a warez and porn distribution. (Possibly it could have been the former sysadmin who had set it up). I notified higher ups, removed the content and removed the ftp server.

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.

“Despite this reduction in scope for MS-DOS 2.0, it did carry many bits of XENIX. The system adopted I/O redirection via less-than and greater-than symbols, piping, a hierarchical directory tree, file handles […]”

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.