Don’t miss reading Part 3 here
Part 4: The 1980s
Luckily, I escaped to Sun Microsystems in 1982, where my life was all about device drivers…
And networking. And drivers. And more drivers. And protocols. Like NFS.
Early Sun systems were based on Intel’s Multibus (I) for I/O. There were two approaches to Multibus cards: all-in-hardware, which could be complex, or “intelligent” using some 8 bit processor to do a lot of work. What I learned is that it is hard for an all-hardware device to be slow, whereas iit’s really easy for an intelligent device to be slow. But the market for intelligent boards tended to be larger, because an intelligent host operating system was rare!
We had to look at various intelligent networking cards which were all either too slow or too complicated to integrate with the UNIX OS. More subtly, the cards which weren’t too slow today would be too slow when the next processor generation came out. So I developed great dislike for SmartNICs, or FEPs, because they were always too slow.
I have a paper describing some of this from the USENIX Summer 1985 conference: “All the Chips That Fit”, co-authored with my dear friend Joseph Skudlarek.
Intel came along with Multibus II – the next generation – which changed everything but pretty much required all cards to be intelligent! Fortunately, Sun had escaped to the VME bus by then. Later, Sun’s SBus cards were also mostly non-intelligent, and were deliberately tiny to avoid creeping complexity!
Did I mention protocols? I was the lead engineer for the SunLink family of products, something like 17 different products, that implemented all of the important non-TCP/IP/Ethernet protocols. IBM 3270 terminal emulation, Bi-Sync RJE, X.25, Token Ring, DECnet, SNA, OSI, … Keep in mind that the dominance of TCP/IP didn’t really happen until 1995 – with the release of Windows 95. The project I had the most fun with the SunLink Channel Adapter – connecting to an IBM channel!
Head on over to Part 5 here.