COHERENT: a Unix clone for PCs

COHERENT was a Unix V7 clone for PCs developed and distributed by Mark Williams Company between the 1980s and the early 1990s. For $99.95 you got an operating system that ran well on a 286 system or above.

It was a good and reasonably complete Unix implementation that was easy to set up, use, and manage. I have fond memories of COHERENT which was the first Unix I used on a machine I owned. I installed it on my 386 laptop with 2 MB RAM and a 40 MB hard disk, half allocated to COHERENT and half to DR-DOS.

COHERENT came with a wonderful thick manual I read cover to cover many times and referenced continuously. This book, one of the best software manuals I’ve ever seen, is what made me grok Unix and the Unix philosophy.

The COHERENT manual is available online and still makes for a good introduction to the basics of Unix.


There’s a mention of COHERENT in a Commodore context over in an older thread:
Commodore’s Z8000 machine running Unix


Can one assume that you have small model for the C compiler 64Kb code and data
and 64Kb text files?

1 Like

Yes, the C compiler of COHERENT supported only the small model.


And to think we that thought that was the cat’s pajamas back then.
How much money did I waste on a home computer, just because the only
option was the PeeCee, and now Windows.

There are big dumps of the coherent sources and working trees released some time after the end of MWC. Most stuff is there although it seems a few things like the linker are partly incomplete and had 3rd party (Intel ?) code.

Small model is pretty much unavoidable until you got to the 386 version of the system because you can’t dynamically relocate large model programs on an 8086 which means you break things like swapping.


My canonical go to source (no pun intended) has been Mark Williams Company sources, which also has the current licence. Robert Swartz (father of Aaron, for those in the know) is the current copyright holder.

Coherent 3.X (‘286 version) was my first “personal” Unix (in that I got to spend copious amounts of playing around time with, rather than clients’ machines), and still holds a soft spot in my heart. I spent a summer reverse engineering the kernel back, initially into assembler, then into C code to a point where it could be recompiled (from memory I was looking for a syscall that was documented, but never realised). Then a few years later, I threw out the MFM drive it sat on, thinking it was junk (realisation dawned a few months after).

Another fun fact: Dennis Ritchie paid MWC a visit on behalf of AT&T looking for copyright infringement (a role he states he was uncomfortable with), but ultimately concluded Coherent was more homage that clone. Mark William's Coherent operating system

Coherent 4.0, the 32 bit version, came out around the time Linux was gaining momentum, which ultimately killed it (that, and a bug in the IDE driver that caused a kernel panic that went unacknowledged for longer than it should have, causing angst amongst the user community). By the time I was able to afford a 386, I’d hopped on the Linux bandwagon as well.

The compiler was amazingly fast, and something I keep meaning to go back and revisit (I think it’s in the source dump). While the compile chain had a separate assembler, I believe it wasn’t used by C phase, and instead it generated object code for linking directly from the AST. Shades of Turbo Pascal.

I seem to have found a mostly uncorrupted chunk of organic memory. :slight_smile:

1 Like

I should add that Fred Butzen’s documentation was fantastic (I’d been aware of his work previously), and one of those few emails that I regret losing was some brief correspondence with him.

Alas, the referred to in that article seems to have bitrotted (although still available via Wayback). I had it in my personal stash of Coherent links.