Hacker News Comments on
Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this book.
True to form, Cutler had a break with DEC, and they gave him a carte-blanche VAX "skunkworks" with Prism/Mica.
DEC eventually shut this down, which prompted his departure for Microsoft. This is unfortunate for DEC, as they eventually poured the company into their Alpha RISC processor, which did not live as long as DEC hoped. Prism might have been a superior design.
At this time, Microsoft was maintaining a UNIX kernel in their Xenix product, so they knew a good kernel engineer when they met one. Microsoft was the leading UNIX vendor in the early 80's.
Cutler famously disparaged the UNIX kernel (his notable saying was "Get a byte, get a byte, get a byte byte byte" to the tune of the finale of Rossini's William Tell Overture).
Microsoft dumped their Xenix onto SCO about this time.
What is more interesting to me was Cutler's involvement with Azure. He must have had some sway over CBL-Mariner, Microsoft's RPM-based Linux distribution.
Much of Cutler's earlier work is documented in the "Showstoppers" book:
The book doesn't really delve into the Xenix decisions, if I remember correctly.
Without Cutler, Microsoft would likely have ended up on a BSD kernel, as Apple did.
⬐ bluejekyllApple didn’t end up on a BSD kernel. They started on Mach (from NeXT) and then made it more performant with XNU by not being so pedantic about microkernels.
BSD is just a supported kernel ABI.
Edit: I just found these docs, so I suppose it’s a bit more complicated that I’m stating, I.e. there are portions of the FreeBSD kernel directly in macOS https://developer.apple.com/library/archive/documentation/Da...⬐ p_l⬐ formerly_provenMacOS X essentially started by updating the NeXT core to latest OSFMK distribution, which was hybrid system (bsd server integrated into kernel space) powering the BSD alternative to SystemV - OSF/1 (most famous of them being DEC OSF/1 aka Digital Unix aka Compaq Tru64). They applied bits of FreeBSD to the bsd server code and over time improved its concurrency, but considerable portion of XNU is code that is called by bsd server but not part of bsd server (IOKit, among other things)⬐ chasilI only know what I've read.
"XNU was a hybrid kernel derived from version 2.5 of the Mach kernel developed at Carnegie Mellon University, which incorporated the bulk of the 4.3BSD kernel modified to run atop Mach primitives..."⬐ jbverschoor4.3BSD is not FreeBSD⬐ fluidcruftAfter NeXTStep was adopted by Apple, they hired a bunch of the FreeBSD core developers and updated the BSD service and userland using FreeBSD. Apple was actually already messing around with Mach prior to that with MkLinux so there was some initial speculation that they might port to MkLinux rather than update NeXT's Mach+BSD hybrid.⬐ p_l⬐ teh_klevThe code updates are very limited, though. To the point that for one's own sanity it's better to assume userland is 4.3BSD unless marked otherwise (been burned by this myself in code that assumed every BSD had changes from ~1994 NetBSD)I think you're replying to the wrong comment.⬐ bluejekyllThis is from the link I provided: “The BSD portion of the OS X kernel is derived primarily from FreeBSD, a version of 4.4BSD that offers advanced networking, performance, security, and compatibility features. BSD variants in general are derived (sometimes indirectly) from 4.4BSD-Lite Release 2 from the Computer Systems Research Group (CSRG) at the University of California at Berkeley.”> Cutler famously disparaged the UNIX kernel (his notable saying was "Get a byte, get a byte, get a byte byte byte" to the tune of the finale of Rossini's William Tell Overture).
I'm pretty sure that had to be in reference to STREAMS, because the original UNIX I/O model certainly is not byte-oriented. So basically, entirely irrelevant.⬐ chasil⬐ chasilMaybe I should have used this one instead?
"Unix is a junk OS designed by a committee of PhDs." -Dave Cutler...I just checked for Xenix in G. Pascal Zachary's "Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft."
Xenix is not in the index, which really detracts from the motivations behind the story.⬐ foobarian> Microsoft would likely have ended up on a BSD kernel
IIRC their TCP/IP stack was FreeBSD's at least for a while⬐ p_l⬐ voidfuncBerkeley was paid to port TCP/IP to unix and as far as I know, part of the deal was that the code should be available to quickly port TCP/IP to more systems including non-BSD.
Thus considerable portion of Operating systems at one point or another used BSD4.3-derived network stack to detriment of network API evolution (sometimes updated with later code), some over time developing their own implementation.> What is more interesting to me was Cutler's involvement with Azure. He must have had some sway over CBL-Mariner, Microsoft's RPM-based Linux distribution.
He was involved with Red Dog (the modified Windows host that powers Azure).
He's not involved with CBL-Mariner team at all to my awareness. Mariner is mostly about solving a supply-chain problem at Microsoft... we have a ton of internal teams all using different flavors of Linux and packages have historically come from all over the place. With CBL-Mariner we are basically trying to unify on that and own the package build and distribution portion as well. There isn't much reason for a kernel designer to be involved in that as its a well-understood problem (and entirely different domain) and we already have internal upstream Linux kernel contributors (which is how produce -azure supported kernels).
Reminds me of the book Showstopper and the personal stories in - its about the creation of Windows NT. Pretty interesting how things where not so differnet some 30 years ago
In case anyone is interested: https://www.amazon.com/Show-Stopper-Breakneck-Generation-Mic...
⬐ dmixInteresting, so it took 5yrs, $150-million, and 250-employees to get NT shipped. Adding this one to my reading list!
Windows NT was originally going to be OS/2 NT. Due to the architecture of NT, it could support many different APIs.
Due to the success of Windows 3.0 and the lack of OS/2 success, Microsoft wisely decided to expand the Windows API to the Win32 API and have it be the default API.
The book Show Stopper, has a good account of the early days of NT.
It is interesting read.
⬐ sedatkOriginal NT contained an OS/2 subsystem layer too, like WSL today. It allowed running of OS/2 1.x apps.⬐ temacWSL is vastly different from the old-school NT subsystems. Both in the technology and in the result. And rightly so, because while SFU&co was in some way more integrated, it effectively was a separate platform from anything else, and who want to support that? Arguably the OS/2 subsystem did not have this problem because the environment/ecosystem to support was way smaller, and it was making existing binaries made for this system work. So on that last point, yes WSL is similar to the OS/2 subsystem; but it could not have been like that in SFU because Linux was not seen as a serious competitor at the time (and well, it actually was not...); and the price to pay now that co-evolution did not happen is a more segregated environment.
Yes from scratch. Names matter little.
From your source: "Microsoft's internal project name for the new OS was OS/2 NT, because Microsoft's intention was for the new OS to succeed OS/2 yet retain the OS/2 API as its primary interface."
Note how Russinovich talks about a "new OS".
The NT (kernel) never had any OS/2 code in it, it was a totally different project. The first target processor architecture for NT wasn't even x86, it was MIPS.
OS/2 in NT was merely a subsystem layer next to DOS and Posix, somewhat like today there is the Linux subsystem layer in Windows 10.
A good source is this:
⬐ kjs3Agreed, I don't mean 'fork' in the sense they took the code and went their own way, I mean 'fork' in the sense they took all the IP and lessons learned and reimplemented an OS/2 they had sole control over.
"retain the OS/2 API as its primary interface"
Linux isn't Unix.
KJ⬐ newnewpdro> The first target processor architecture for NT wasn't even x86, it was MIPS.
I thought it's pretty well established now that the NT in the name was named after the target architecture: Intel i860 "N10", not MIPS.⬐ kyberiasYou're right. My point was, however, that it wasn't an x86.
If you're a Cutler fan you may enjoy Showstopper, an account of the creation of NT.
⬐ azinman2Thanks for the rec, looks interesting.⬐ trentnelsonIt's a great book. Motivated me to switch industries and relocate to Seattle as an NT kernel programmer.
If you like history like this, you should also read “showstopper: the breakneck race to create Windows NT” (1). It profiles Cutler’s team as they go through the period described briefly in this article to make Windows NT an actual contender to the Unix-based OSes.
⬐ jpalomakiAnd another one about the .net: https://www.amazon.com/Breaking-Windows-Fumbled-Future-Micro...⬐ j_s⬐ yuhongDon't forget the OS/2 2.0 debacle, which is an important part of the story and is so bad it is one of my favorite topics.⬐ ghaffShowstopper is one of my favorite product development accounts. The other classic is Soul of a New Machine, which has a hardware focus. I worked with many of the folks in that book, albeit a few years after the event chronicled.
In a similar sort of vein, "Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft" is a great recaps of the initial Windows NT days with David Cutler and his 200+ ex-Digital OS engineers.
It was published in 1994 (so covers up to Windows NT 3.5 and touches on Chicago/Win95) and features a lot of info gleaned from 1:1s the author had with Gates, Cutler and a host of other executives.
(The design decisions made back then between 89-93 for NT are what enabled things like 'Bash on Ubuntu on Windows' to take place today.)
Joe Armstrong's paper on the history of Erlang (of which he was one of the authors) is superb (though it's less about corporate culture than about the language): http://cobweb.cs.uga.edu/~maria/classes/4500-Spring-2010/pap...
There's The Mythical Man-Month: http://www.amazon.com/The-Mythical-Man-Month-Engineering-Ann...
Showstopper, the book about the development of Windows NT, is great: http://www.amazon.com/Show-Stopper-Breakneck-Generation-Micr...
⬐ hitekkerThank you kindly. I knew about the mythical month, but the others are completely new to me.
Thanks for the comments. I am absolutely certain of the NT back-story. However, you can read the whole story from another source, Show-Stopper, a book by G Pascal Zachary from the Wall Street Journal (1).
When Cutler was hired in 1988, both OS/2 and Windows were failing in the marketplace. The problems arose after Windows 3 sales started to take off in 1990.
Microsoft tried to get IBM to accept "OS/2 NT" as a replacement for the 16-bit OS/2, which was dead in the water. It refused, IBM and Microsoft divorced, and NT got rejigged for Windows compatibility instead of OS/2 compatibility.
Remember that Microsoft got its power from IBM: it would have been nowhere if IBM hadn't used its DOS and Basic in the IBM PC. IBM then resented Microsoft for "stealing" a small part of IBM's rightful monopoly.
Microsoft would go to any lengths to hang on to the IBM connection, which Ballmer called "riding the bear". The in-house Microsoft strategy for IBM meetings was BOGU (for Bend Over, Grease Up). Hence OS/2.
You may recall that, at once time, Microsoft saw Unix as the potential replacement for DOS. It did Xenix, which was the most popular Unix of its day. However, way back then, IBM had an implacable hatred for Unix and for AT&T, and owning OS/2 EE (not available from Microsoft) was the cornerstone of its plan to bring the PC industry under IBM's control (OS/2 EE, PS/2, MCA, SAA etc).
⬐ rasz_plAfter divorcing Microsoft, IBM tried the same thing with Apple in project Taligent.
Some that I liked:
- The Soul of a New Machine: http://www.amazon.com/The-Soul-A-New-Machine/dp/0316491977
- Show Stopper! : http://www.amazon.com/Show-Stopper-Breakneck-Generation-Micr...
- Dealers of Lightning: http://www.amazon.com/Dealers-Lightning-Xerox-PARC-Computer/...
- Where Wizards Stay Up Late: http://www.amazon.com/Where-Wizards-Stay-Up-Late/dp/06848326...
⬐ LarryMade2I'd add in that list the New Hacker's Dictionary edited by Eric S Raymond http://www.amazon.com/The-New-Hackers-Dictionary-Edition/dp/... - (aka the Jargon File http://www.catb.org/jargon/html/ ) It includes many computing terms invented over the years with their meanings and origins. You can learn a a bit about computer history by readin it.⬐ ctrijueque'Hackers' is avalaible as a free ebook too:⬐ grkvlt"The Soul of a New Machine" is an excellent book. It is about the creation of the first 32 bit minicomputer hardware, complete with descriptions of ADVENTURE (aka Colossal Cave) and the "Maze of twisty passages all alike" and memorable lines such as "I am going to a commune in Vermont, and will deal with no time period shorter than a season" said after much work on gate delays and intstruction timing iassues...⬐ cschmidtI thought Hackers and Soul of a New Machine were both fantastic.⬐ 0xdeadbeefbabeDealers of Lightning because you might learn some new words, and did you know they had to fight to get the laser printer to the world?⬐ deutroniumI'll second Hackers Heroes of the Computer Revolution, I found that a really fascinating book.⬐ veddoxAbsolutely. It does a great job of showing the spirit of the early hackers at MIT, even though it's not really a technical book.⬐ NoneNone⬐ ritchieaHackers was a fun read but I don't think it's really an answer to the original question asking about computing history and expressing a concern that our field has a short memory. The OP's complaint was that most history stops at Turing and everything in Hackers is about MIT post-Turing.⬐ duaneb> The OP's complaint was that most history stops at Turing and everything in Hackers is about MIT post-Turing.
Before Turing, it was a handful of people obsessed with computing things efficiently. That history is difficult to extract from the hardware pre-Turing.
The principle architect of VMS was David Cutler, purportedly the best engineer at Digital at the time (80s), and best OS designer in the industry.
Digital dropped the ball in the late 80s with regards to management of Cutler and his team, canceling his PRISM project and leaving him and his team disgruntled.
Elsewhere in Seattle, a chap named Bill Gates was flush with billions of cash and knew that the shelf life of DOS was limited; if Microsoft were to succeed, they needed a new, robust, reliable and high-performance OS that they could "bet the company on".
Gates got word that Cutler was disgruntled at Digital, and a mutual party set up a meeting. Cutler was dismissive of Microsoft's technology stack at the time (DOS and some office apps) -- he was a hardcore OS engineer, and DOS was a toy.
Gates persisted, ensuring Cutler that he would have the opportunity to build the next generation of OS from the ground up and essentially unlimited resources at his disposal to do it. Cutler eventually agreed, and the NT kernel project was born.
⬐ nbevansDave Cutler is the real stuff of legends. Obviously this is my opinion but I admire him and his work far far far FAR more than anything Linus Torvalds has done.
Arguably, Linus' greatest work was Git, not Linux. Linux is, architecturally, a piece of shit! Actually, wait, so is Git. Mercurial does everything Git does and does it far better and more elegantly. So yeah, wait... one wonders where Linus gets all his fanatics from!⬐ tempodox⬐ CountSessineThis is the kind of remark that always gets me downvotes. I couldn't agree more with your opinion about git. I guess the attraction of git comes mainly from the fact that most of its users are too inexperienced to know any better. And then, git makes any old random directory a “repository”. That's waaaay cooler than to have to get a repo from a central server and having to integrate your commits with it...
[Edit: Clarification]⬐ trentnelsonHeh, after reading Show Stoppers and Just For Fun, I actually think Cutler and Linus are actually very similar and would potentially get along in real life if it weren't for the epic technology divide.I actually just read Show Stopper recently. The author is very non-technical and can't really explain the engineering details behind what he's writing about, but if you know something about basic OS design and concepts, that's ok. And the human stories - the stories behind the developers working on the project - are fascinating.
Reading the book and learning the story behind NT's development, it's just amazing that such a good OS came out of that process - they released years after their initial projections and were rushed the whole time. But of course the really good parts of NT - the kernel, the object manager, the pager, async IO, the threading model - were things Cutler and his cohorts had been working on for years, first with VMS, then with PRISM, and then finally in NT. They had YEARS to ruminate about those things before they ever arrived at Microsoft.
The bits of NT that aren't so well-regarded - the registry, NTFS, the graphical shell, csrss.exe and the 'microkernel' design - were completely new and developed in much less time and with less practical experience behind them than they really deserved.⬐ trentnelsonCan't sing the praises of Show Stopper high enough either! Finished it about a month ago and absolutely loved it -- it was great when paired with this: https://github.com/tpn/pdfs/blob/master/Windows%20Research%2...
I sent a tweet to the author saying I was really enjoying the book when I was about half way through it and he actually e-mailed me to say thanks. How nice is that!
Three I'm familiar with, all recommended:
'Gates', Stephen Manes 
'Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft', G.P. Zachary 
'Microsoft in the Mirror', Karin Carter 
But I agree with the parent that 'Programmers At Work' is a great book.
If you liked this article, you should read Show Stopper. It's out of print, but there are ample used copies via Amazon.
⬐ voltagex_Seems to be everywhere as an eBook.
http://ereads.com/ecms/book_title/Showstopper (warning, will set affiliate codes on Amazon links)⬐ mschaef"FoxTales" by Kerry Nietz is also a good read. Kerry talks about his experiences joining FoxPro development as a freshout college grad. I never cared all that much for FoxPro/xbase, but the book is a good read.⬐ tokenroveIt's not quite at the level of Soul of a New Machine, but I still think every programmer should read this book. A great story from the trenches. It gave me so much respect for Dave Cutler, and confirmed so many things I suspected about Microsoft at the time.⬐ _shYeah? My reading of that book was that there was such an inhuman marriage/life destroying crunch getting NT out the door that nobody covered themselves in glory, much less showed themselves worthy of respect.
And it explained to me, in clear terms, why Windows was such a buggy pile of shit. It was created of its culture.
Speaking of Cutler, if you haven't read it, I highly recommend the book "Show Stopper!", which describes the early days of Windows NT.
> IIRC Microsoft had a completely separate team working on Win NT initially, lead by David Cutler.
If you're interested in this, I highly suggest you read "Show Stopper!". It provides some interesting insights into Microsoft's early days with NT.
That interview incident has always seemed at odds with a subsequent book by the reporter - http://www.amazon.com/Show-Stopper-Breakneck-Generation-Micr... - which is quite a sympathetic view of the Windows NT deathmarch.
I highly recommend Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft http://www.amazon.com/Show-Stopper-Breakneck-Generation-Micr...
Fun drama like a C++ programmer spending months to get a simple window to appear on screen (e.g. building the Win32 API). Dave Cutler from DEC throwing things.