
Dave Cutler’s five-decade-long quest for quality (2016) - tosh
https://news.microsoft.com/features/the-engineers-engineer-computer-industry-luminaries-salute-dave-cutlers-five-decade-long-quest-for-quality/
======
scardine
For anyone interested in the history behind the NT kernel I recommend a book
called "Show Stopper!: The Breakneck Race to Create Windows NT and the Next
Generation at Microsoft" by G. Pascal Zachary - really enjoyed it.

I think the Windows NT kernel is a very underrated piece of technology - the
reason it was unstable in the beginning is due to a corporate top-down
decision: the hardware of the time was limited so they included GDI stuff in
the kernel (crappy code not written by Cutler's team).

~~~
muststopmyths
>I think the Windows NT kernel is a very underrated piece of technology - the
reason it was unstable in the beginning is due to a corporate top-down
decision: the hardware of the time was limited so they included GDI stuff in
the kernel (crappy code not written by Cutler's team).

Err, no. The reason it was unstable in the beginning were choices like having
a "MUST SUCCEED" kernel memory pool which caused a bugcheck if the system
could not allocate from that pool. Random kernel components allocated from
this pool and if you opened too many handles (sockets for example), you'd get
a bluescreen because an unrelated driver was trying to allocate memory for
some other activity.

There were probably other similar choices that I don't remember now. It _has_
been 25+ years.

And let's talk about the NT Driver I/O model. The most highly complex, over-
designed POS I have ever seen. _And_ this design was "polluted" for
performance out of the gate (Fast I/O path, for example). It took Microsoft
_years_ to reliably and safely cancel pending I/O in the kernel. Remember the
days when a random peripheral driver could hold on to an IRP and cause
bluescreens all over the place because the process it was doing I/O for exited
? It was hard for internal Microsoft people to write good drivers, let alone
OEMs in the wild with a fraction of the learning resources at their disposal.

NT was based on the microkernels that were fashionable in those days (e.g,
Mach from Rick Rashid et. al). As with most academic ideas, when microkernels
met the real world they had to be adapted.

Win32K came about because GDI performance in NT was crap. There were other
things that were similarly pushed into the kernel already. I believe a classic
microkernel would also have networking modules in user mode, for example.
DirectX in the kernel (hated by the purists back in the day) is inarguably
responsible for NT being able to supplant Win9x in the consumer PC market.

The NT kernel evolved over the years to be something that actually met the
needs of Microsoft's customers. I would argue that's the real achievement, and
not all of that can be laid at the feet of "Cutler's team".

I second the recommendation for "Show Stopper" :-)

~~~
filereaper
I can't really comment about mentions on the I/O model or the early
instability.

We should give credit to the early architectural decisions made by Cutler
which allow for niceties like the Windows Subsystem for Linux (WSL) that came
about recently.

I third the recommendation for "Show Stopper" as well. :-)

~~~
trhway
>We should give credit to the early architectural decisions made by Cutler
which allow for niceties like the Windows Subsystem for Linux (WSL) that came
about recently.

i think most - 99.999% - credit here goes to Linus :) Given the modern power
of Linux the WSL would have happened anyway - independently of whether early
NT architectural decisions help it or preclude it.

~~~
chasil
For the Linux subsystem, sure.

For the POSIX, Win32, and OS/2 subsystems that existed at the birth of NT, the
kernel capability was all Cutler, and Linux was in no position to contribute.

Showstopers explains the NT kernel personalities.

~~~
foobiekr
I really enjoyed ShowStopper when I read the original release in 1994.

In particular, I really admire the people who worked on that project, because
they had a lot of field-tested reasons for the things they were doing.

But the whole subsystems concept basically cleaved the logical domains in a
way that was obviously, even at the time when I read it, not going to extend
well in the future. While the POSIX and OS/2 stuff can be seen as a kind of
hubristic base-covering (the one kernel to end all kernels), it should not
have made the cut in a disciplined engineering organization.

------
lacey
Three hours of interviews with Cutler for the Computer History Museum:

Part 1: [https://youtu.be/29RkHH-psrY](https://youtu.be/29RkHH-psrY)

Part 2: [https://youtu.be/SVgSLud50ss](https://youtu.be/SVgSLud50ss)

------
alpb
When I used to work at Microsoft, my manager (pretty high level person, not a
middle-manager) used to tell me: Dave Cutler is one of the biggest assholes in
the company and most people don’t like him but the company has to put up with
him because the cost of losing him to another competitor (like Google) would
be too much from competition standpoint.

Given the fact that Dave Cutler would basically be peers with Jeff Dean and
Sanjay Ghemawat who had key contributions to multiple fields in the computer
science, this makes sense.

Instead of hearing a story by a random Microsoft press corp reporter, or his
management (like Steve Ballmer), I actually would like to hear stories about
Dave Cutler from his subordinates.

~~~
kyberias
What could possible be the purpose for you to tell us that your former boss
thinks Dave Cutler is "asshole". There is zero people in the world that need
that information.

~~~
chasil
Cutler is famous in his derision of early UNIX.

[https://en.wikipedia.org/wiki/Dave_Cutler#Attitude_towards_U...](https://en.wikipedia.org/wiki/Dave_Cutler#Attitude_towards_Unix)

The quote most often heard is that "UNIX is a junk OS designed by a committee
of Ph.D.s."

Showstoppers goes into some detail about his career goal "to get UNIX."

Whether this is is purposeful or not is likely subjective. It is, in my
opinion, informative.

~~~
kyberias
Are you saying that his attitude towards unix is the same as "being asshole"?

------
wglb
Great article about a very significant accomplishment. Few of us get a chance
to write an operating system--Dave wrote three. VMS was about as solid as you
can imagine.

At the time, I wondered if there weren't too many features in VMS and now NT.
But that is always the tension, isn't it?

One interesting fact that the article doesn't cover is that MS had to pay
Compaq, interitor of DEC, something like $60 million as the result of hiring
Cutler. There are very significant similarities in NT with VMS. All in all, it
was certainly worth it.

~~~
eismcc
As in, WNT = VMS + 1

~~~
wglb
As in VMS = RSTS + 1

~~~
icedchai
You sure you got the joke? V + 1 = W, M + 1 = N, S + 1 = T

~~~
wglb
Ach! I did not.

------
foobiekr
As an aside, since it's getting on time for me to move on from my current
employer, are there any companies doing these kinds of hardcore engineering
projects any more outside of the defense industry?

I have spent most of my life (until recently) doing systems work (sometimes
but not always big-iron embedded) and I kind of wish companies were still
investing in ~30 person teams for big engineering projects. I've always wanted
to work on a Windows NT ... but no more routers.

------
diroussel
I find the persimitic locking model of NT handles to a fundamental design flaw
in NT. is this something that came from VMS.

Sure the unix model of ‘user must handle errors’ is a pain, but it leads to
more flexibility in the long run.

~~~
ratsmack
It didn't. I was admin on a VAX 11/780 back around 1980. One day I noticed two
directories contained the same files and assumed they were duplicate do I
deleted one copy to open up some disk space (we were using RM80 disks). Then I
noticed that the files had disappeared from both folders, because they were
hard linked.

I was like "oh shit" because they were system files. I called support and they
helped restore the files from tape and then I rebooted. So I can honestly say
that VMS is very similar to Unix in that respect.

~~~
kyberias
Having hard links in the file system has nothing to do with whether handles
can be shared.

------
acqq
Nitpick, reading this published in 2016:

> At the time, some questioned why Microsoft developed a 64-bit system; today
> most computers are 64-bit systems and even our phones will soon have a
> 64-bit operating system.

I've had to refresh my memory: the first 64-bit iPhone was released on
September 20, 2013. It was "we have 64-bit since almost 3 years ago" for Apple
in 2016.

------
FearNotDaniel
(2016)

~~~
dang
Thanks—added above.

Discussed at the time:
[https://news.ycombinator.com/item?id=11504102](https://news.ycombinator.com/item?id=11504102).

------
nbevans
Dave Cutler is a better OS engineer than Linus Torvalds. Fact.

~~~
sctb
Could you please try to increase the quality of your comments? We're here to
learn something substantive, and one-liners don't deliver.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

~~~
nbevans
Eh? It was a worthwhile comment written in a tongue in cheek style. Just look
at the conversations it spawned.

------
anth_anm
Shame NT is so buried under 12 layers of crap that people write it off and
demand that we just go entirely for a Linux monoculture.

------
magwa101
NT was a huge disappointment. To wit, they've never had a shell that even
approximates Unix sh from years ago.

~~~
nxc18
Are you kidding? Check out WSL - they've got the full bash working just like
it does on Linux.

~~~
diroussel
With lots of caveats and gotchas.

See comment from Microsoft guy linked here.
[https://news.ycombinator.com/item?id=18783525](https://news.ycombinator.com/item?id=18783525)

