3 ms·
Windows 95 has a monolithic kernel, which supports much, but not all, of the 32-bit NT API. It provides NT-style processes and 32-bit memory management (sort o
by retrac 3y ago
Windows 95 has a monolithic kernel, which supports much, but not all, of the 32-bit NT API. It provides NT-style processes and 32-bit memory management (sort of), NT-style APIs for long file names (sort of), etc. There's also a lot of hacks, and no real kernel/userspace separation, for the extensive 16-bit compatibility. While most of the kernel itself runs in 32-bit protected mode, much of the OS was still 16-bit. That code runs in a 16-bit VM86 virtual machine, which is shared with 16-bit user application code, in a common address space. Sort of how Windows 3.x worked in 386 mode. There were procedures to call between 16 and 32 bit code, both in the kernel and in user applications. That shared address space with all the 16-bit code, is the source of a lot of the infamous instability. That dependency on that 16-bit mode is why it got called "DOS-based", similar to how Win 3.x worked in 386 mode. Part of the OS was still running in 16-bit mode, even if that 16-bit mode was being virtualized by a 32-bit protected mode kernel.