2 ms·
This comment feels like it was written by someone who hasn't done much Windows development (which is fine!). The kernel changes a lot over time, introducing ent
by kevingadd 6y ago
This comment feels like it was written by someone who hasn't done much Windows development (which is fine!). The kernel changes a lot over time, introducing entirely new driver models (see https://en.wikipedia.org/wiki/Windows_Display_Driver_Model#History https://en.wikipedia.org/wiki/Windows_Display_Driver_Model#H... for an example), OS-wide features, etc. Things like thread scheduling or timer granularity can and will change (see https://randomascii.wordpress.com/2020/10/04/windows-timer-resolution-the-great-rule-change/ https://randomascii.wordpress.com/2020/10/04/windows-timer-r... for a recent example)
Let's not forget about massive stuff like the whole Windows Subsystem For Linux, which was literally an entire separate process type alongside Win32 processes, with its own set of syscalls etc. Added and then deprecated (and probably eventually removed entirely) over the span of years.
Maintaining a stable kernel ABI is no doubt a big investment, but it's possible and doesn't have much to do with whether your kernel is a microkernel or not. Lots of Windows drivers these days are user-space which helps maintain compatibility and stability.