7 ms·
Someone linked this article. I am curious to the attraction of Coherent now. Anyone that used it or wrote code for it hated it. It was not compatible with any
by deviantbit 3y ago
Someone linked this article.
I am curious to the attraction of Coherent now. Anyone that used it or wrote code for it hated it. It was not compatible with any version of Unix. SRV(3,4) was what the world lived in back in the 80s/90s. It would not boot on certain machines because of issues with hard drives. We had 68k machines that used SMD drives, then later on PC it would not work with different ESDI drives. The network stack would get hung up, requiring a reboot. Even the C library w/ the C compiler it came w/ was not standard. I could go on forever.
I read this article:
https://itsfoss.com/coherent-operating-system/ https://itsfoss.com/coherent-operating-system/
It claimed, "It was an excellent UNIX option at the time..."
People are not remembering correctly. Companies would have port teams and none of them wanted to deal w/ Coherent.
- nils-m-holm 3y ago> Anyone that used it or wrote code for it hated it. I didn't! Used Coherent 3.0.0 and all later versions and wrote quite a few programs for it and ported many more. UUCP packages, news readers, wrote my own CU clone, my own mail client, etc. It was a real Unix system for $99 and fit easily on a 20MB ST-225 hard disk with plenty of space for your own stuff. I loved Coherent. Maybe in commercial software development things look different, but for me as a hobbyist it was a dream coming true.
- icedchai 3y agoI still remember the documentation that came with Coherent 4.x. It was amazing!
- nigel_bree 3y agoHey Nils, love your work - back around '90 when I joined Mark Williams I was a big Scheme fan, so your whole t3x.org site and "Scheme 9 from Empty Space" particularly puts a smile on my dial. I do think the fact that Coherent really hewed 100% to the original V6 approach based on the basic design constraints of bootstrapped minimalism was part of the charm. Doing the 4.0 release process I really pushed myself hard to get as much POSIX compatibility in as humanly possible, but the balancing act was the size-coding part - making /bin/sh still be 16-bit while having $(()) and shell functions and able to process those insane MB-sized GNU autoconf scripts that embedded >64kb here documents, etc. Another big part of why the size-coding style mattered was keeping the system comprehensible since with only a few developers everyone was spread so thin, but that's again part of the fascination. I've always wanted to give Coherent a bit of a conceptual reboot for modern x86 (particularly multicore, which means a complete new kernel) but staying to the 16/32-bit size and with a style similar to your books walking through the process of making it and how all the design choices need to interlock to make that possible is something I wish I had the free time for.
- nils-m-holm 3y agoThanks, and always good to hear stories from Mark Williams! The minimalism of Coherent 3.x indeed gave it a special place in my heart. I still have a virtual machine image of it, now even with the complete source code. A book about the internal workings of Coherent would really be cool! Why would you even need to create a new kernel? Just describe what is there. I think it would be a very interesting book (even though the audience might not be very big). Maybe you will have the time to write it some day.
- nigel_bree 3y agoThe big thing I think with any book is to aim to inspire people (especially younger ones) to create for themselves, and while there's probably a way to do that with an exegesis of the existing source I don't know what it would be. The approach you take in your books is one that I think is inspiring to people to get them trying these things on their own - which is after all where the real hard learning happens. That's particularly true because so many point design decisions made in commercial codebases like Coherent were conditional on a wider context - both technological and business - that just doesn't exist any more, and that I think gets in the way of helping younger people reaching a deeper understanding and appreciation of the design decisions made. Recontextualising that code, and re-examining those decisions in the light of the modern day is just more interesting to me, and as well provides the chance to lead people through the process of solving the design problems in a way that's narratively easier to follow. Bootstrapping forces an order on what you do that gives a particular structure to the presentation, while at the same time we have aspirations about what future elements we want to achieve that shape and give context to all kinds of decisions as we work out how to get there. After showing how to build something today, we can do a compare-and-contrast against the existing Coherent code that's more meaningful, especially because we can then measure the outcomes. Anyone can do (and lots of people do) ill-informed hand-wavy postulations about what-ifs, but the process of actually building things that do work forces your hand in ways that armchair enthusiasts miss.
- lproven 3y ago[Submitter here] > I am curious to the attraction of Coherent now. TBH I am not sure that it has one. > Anyone that used it or wrote code for it hated it. {{citation needed}} I knew a few owners. They loved it. Until Linux, Coherent was the cheapest way to get a UNIX OS on a PC. > It was not compatible with any version of Unix. That is not fair or reasonable or accurate for the time. This was a 1980s product. No 1980s Unix was compatible with any other. That's why the iBCS existed: https://en.wikipedia.org/wiki/Intel_Binary_Compatibility_Standard https://en.wikipedia.org/wiki/Intel_Binary_Compatibility_Sta... They were all different, even though all were based on some version of the same AT&T kernel or code derived from it. Coherent was so close and so compatible that AT&T believed it must have been based on stolen code and sent Dennis Ritchie himself to visit the company and check. Here are his comments from that visit: https://groups.google.com/g/alt.folklore.computers/c/_ZaYeY46eb4/m/5B41Uym6d4QJ https://groups.google.com/g/alt.folklore.computers/c/_ZaYeY4... « An anecdote: sometime fairly early after the Mark Williams company started offering their Coherent system (a Unix clone), some AT&T legal people asked me to visit Mark Williams for purposes of determining whether what they were offering was a rip-off (i.e. essentially a copy) of the currently licensed Unix done by us. I find it hard to reconstruct the date this happened, but it was a long time ago; probably early 1980s. I went to Chicago with Otis Wilson, who was then involved in Unix licensing. It was a rather strange experience. The Mark Williams company was a paint producer, and I was given to understand that the subsidiary that was doing Coherent was, approximately, a corporation arranged by a father who, approaching retirement, had more or less shut down the older business and was using the corporate name and legal setup to help his son in a new venture. Otis and I visited the offices of Mark Williams on the outskirts of Chicago and were received with courtesy and some deference. We talked to the father and the son (Bob Swartz, i.e. the guy behind Coherent). There had been communication before, and from their point of view we were like the IRS auditors coming in. From my point of view, I felt the same, except that playing that role was a new, and not particularly welcome, experience. The locale of the company was in an industrial section and it definitely retained the flavor of a the offices of a paint company being recycled. What I actually did was to play around with Coherent and look for peculiarities, bugs, etc. that I knew about in the Unix distributions of the time. Whatever legal stuff had been talked about in the letters between MWC and AT&T didn't allow us to look at their source. I'd made some notes about things to look for. I concluded two things: First, that it was very hard to believe that Coherent and its basic applications were not created without considerable study of the OS code and details of its applications. Second, that looking at various corners convinced me that I couldn't find anything that was copied. It might have been that some parts were written with our source nearby, but at least the effort had been made to rewrite. If it came to it, I could never honestly testify that my opinion was that what they generated was irreproducible from the manual. I wrote up a detailed description of this. I can't find it, probably because at the time I was advised that it was privileged lawyer/client material. Partly at the time, partly thereafter, I learned that a variety of Unix enthusiasts (several from U. Toronto) had spent time there. In the event, "we" (=AT&T) backed off, possibly after other thinking and investigation that I'd wasn't involved in. So far as I know, after that MWC and Coherent were free to offer their system and allow it to succeed or fail in the market. I suppose there's a second story about the suit by USL against BSDI and then UCB, but my own involvement was far tinier and didn't get me a trip to Falls Church or Berkeley to snoop. What advice I offered in this situation was exactly in line with that about MWC/Coherent, and as it turned out the resolution (though more costly for all) was pretty much the same. (As a capper, Bob Swartz came by Bell Labs a week or so ago, and we had a pleasant social visit.) Dennis »
- retrocryptid 3y agoYou just had to have been there. Sure Interactive made a better Unix than Coherent, but it required a 386. MINIX wasn't out quite yet. Apple's Unix required an expensive Mac. 68k based workstations were expensive. I ran Coherent on a 286 I inherited. In this era people were accustomed to platforms offering slightly different Dev tools and capabilities. When you wanted an apple ii program to run on a c64, you had to PORT it. There was no java. There was no gcc. The STL was neither S, nor exclusively T or L. C compilers were often proprietary, written by companies making hardware. And had different takes on the language. The reason that C89 is called C89 is the standard was ratified in 1989, almost a decade after coherent was first released. In '89, paying $500 for Interactive/386 made sense. But in '85, you couldn't do that, so $100 for coherent on a 286 or even 8086 was a decent alternative.
- dajtxx 3y agoFor someone who didn't earn much it was a godsend. It looked and felt enough like real UNIX that I was happy to buy it for home use. However work was all Xenix/UNIX/AIX/Ultrix/etc.