BigEd wrote: ↑Sat May 14, 2022 6:43 am
Great links... for more on NT, and Cutler, and many recommendations of the popular book "Showstopper" on the NT dev story, see
here.
Interesting
recollection about Dave Cutler in that thread. I was reading various
memos from the time when DEC was trying to respond to the likes of Sun, pursuing their PRISM architecture and Mica operating system strategy, and the whole "I know better"
attitude and complaining about management reminds me of various Peter Bondar messages in Acorn's final phase. See also
his resignation story and
this attempt at humour ostensibly sent from his Microsoft account.
Although the well-known remark by Lyndon B. Johnson about J. Edgar Hoover (if my recollection of history is correct) might also apply to the above, that recollection about Cutler rather complicates things. People have presumably argued that when DEC did get Alpha out the door, it was "almost exactly PRISM", but I think that this rather diminishes the achievements of delivering Alpha. And despite
MicroPRISM being
fabricated and tested, anyway, one has to wonder how long it would have taken to have actual products on the market. Meanwhile, DEC was losing customers and revenue with a less than credible strategy: quite astonishing that a company seen as dominant at the start of the decade would be on the defensive at the end of the decade and acquired by the end of the following decade.
BigEd wrote: ↑Sat May 14, 2022 6:43 am
(I think I'd argue that 'microkernel' is a very strong label, and once you've brought any service into the kernel (removing the switch to userspace and losing the process isolation) you no longer have a microkernel. Although you might have something which is not all the way to a monolithic kernel.)
(Wikipedia
has more on the iOS kernel,
XNU.)
I don't want to even appear to comment definitively about microkernels, but there is the argument that only operations that actually need to be performed in a privileged mode should be in the kernel, with everything else making use of those services residing outside and operating in an unprivileged mode. I suppose there is a certain amount of discretion - the code in the kernel will obviously include supporting instructions, managing data structures for instance, that are not inherently requiring elevated privileges - but things like graphics drivers are generally regarded as belonging outside a microkernel: they are drivers, after all.
Microkernels are used on phones, if we may bring this closer to the topic again, with one L4 variant being shipped on billions of them, apparently. If you want another tale of missed opportunities, corporate greed, and so on, you can read the
recollections of one of the people responsible.