Citat:
Apatrid: Sundance, Windows je mikrokernel.
Hm, ne bih se bas slozio. Evo sta Rusinovich veli o tome:
Citat:
Is Windows 2000 a Microkernel-Based System?
Although some claim it as such, Windows 2000 isn't a microkernel-based operating system in the classic definition of microkernels, where the principal operating system components (such as the memory manager, process manager, and I/O manager) run as separate processes in their own private address spaces, layered on a primitive set of services the microkernel provides. For example, the Carnegie Mellon University Mach operating system, a contemporary example of a microkernel architecture, implements a minimal kernel that comprises thread scheduling, message passing, virtual memory, and device drivers. Everything else, including various APIs, file systems, and networking, runs in user mode. However, commercial implementations of the Mach microkernel operating system typically run at least all file system, networking, and memory management code in kernel mode. The reason is simple: the pure microkernel design is commercially impractical because it's too inefficient.
Does the fact that so much of Windows 2000 runs in kernel mode mean that it's more susceptible to crashes than a true microkernel operating system? Not at all. Consider the following scenario. Suppose the file system code of an operating system has a bug that causes it to crash from time to time. In a traditional operating system or a modified microkernel operating system, a bug in kernel-mode code such as the memory manager or the file system would likely crash the entire operating system. In a pure microkernel operating system, such components run in user mode, so theoretically a bug would simply mean that the component's process exits. But in practical terms, the system would crash because recovering from the failure of such a critical process would likely be impossible.
Citat:
Taj papir prica o pisanju drajvera za Windows u C++, ne odnosi se na spageti upetljavanje u monolitnom kernelu gdje se pita sto je starije, kernel kod ili podrska za C++ koja treba da bude dio tog istog kernela.
Ovaj linusov komentar se i odnosi na pisanje drivera za kernel mode :)
Sto se tice samog kernela, iako je vecina NT kernela napisana u cistom C-u, velik dio komponenti je objektno dizajniran. "file" user-mode objekt je apstrakcija "file" objekta na razini kernela, objekti koriste formalna sucelja za prijenos parametara i pristup podatkovnim strukturama...uglavnom masa stvari koja bi se jako dobro znala uklopiti u OO dizajn. Mislim da ima istine u onome sto DT veli da MS nije imao spreman C++ kompajler u pravo vrijeme.