Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are a number of issues, like ignoring the role of VMS, that windows 3.1 had a registry, the performance problems of early NT that lead to the hybrid model, the hype of microkernels at the time, the influence of plan 9 on both etc...

Cutler knew about microkernels from his work at Digital, OS/2 was a hybrid kernel, and NT was really a rewrite after that failed partnership.

The directory support was targeting Netware etc...



And don't forget Alternate Data Streams for NTFS! Made specifically for Mac OS.


Also Richard Rashid - the project lead for Mach at CMU - joined Microsoft in 1991.

Which is kinda interesting - Rashid went to Microsoft, Avie Tevanian went to NeXT/Apple.


Rashid went to Microsoft _Research_, which is quite different.


What exactly was "hybrid" about the OS/2 kernel? "Hybrid" has always been basically a made up concept, but in OS/2 it seems especially bizarre to apply it to what's obviously a monolithic kernel, even one that bears a lot of similarity with older unix.


Real systems rarely can pass idealistic academic ideals.

Balancing benefits and costs of microkernel and monolithic kernels is common.

It looks like Google SEO gaming by removal of old content is making it hard to find good sources, but look at how OS/2 used ring 2 if you want to know.

Message passing and context switching between kernel and user mode is expensive, and if you ever used NT 3.51 that was clearly visible as were the BSoDs when MS shifted to more of a 'hybrid' model.


You can even call Windows/386 or 3.x "hybrid", and in my opinion it would be more accurate to call Windows/386 a hybrid kernel than calling NT one. There's a microkernel that manages VMs, and there is a traditional, larger kernel inside each VM (either Windows itself, or DOS). The microkernel also arbitrates hardware between each of the VMs, but it is the VMs themselves that contain most of the drivers, which are running in "user space"!

In comparison Windows NT is basically a monolithic kernel. Everything runs in the same address space, so there's 0 protection. Or at least, in any definition where you call NT a hybrid kernel then practically any modular kernel would be hybrid. In later versions of NT the separations between kernel-mode components this post is praising have almost completely disappeared and even the GUI is running in kernel mode...


AFAIK, Windows 3.1's registry was only to store COM class information. It was just another type of single-purpose configuration file.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: