Comment by RedShift1
2 years ago
I don't know why "incredibly stable" is such a remarkable thing, the whole point of an operating system and a kernel is to offer a stable API to write your applications against.
2 years ago
I don't know why "incredibly stable" is such a remarkable thing, the whole point of an operating system and a kernel is to offer a stable API to write your applications against.
>I don't know why "incredibly stable" is such a remarkable thing
It's remarkable when you look at the landscape of Linux and Mac device drivers.
Can you run non-kernel drivers for Linux 2.6 on 6.6? Can you install a device driver from 2007 on a modern MacOS? Well, many Windows 7 drivers also work on 11. That's stability.
That's kind of the point I'm trying to make here, an operating system and kernel is supposed to provide you with something stable to build on. It's its raison d'être. Should the stability of a bridge be considered remarkable? No, it's an entire engineering discipline to making stable bridges, because an unstable bridge is useless. The same goes for an operating system and kernel.
> Should the stability of a bridge be considered remarkable?
From a purely engineering perspective, most certainly.
If it isn't so remarkable why doesn't every OS do it?
I can use Windows drivers from Windows XP era. Try that on Linux.
And I can run any win32 binary, regardless how old is it. Try that on Linux.
> I can use Windows drivers from Windows XP era. Try that on Linux.
Linux has a model where all drivers should live in-tree; if we account for that, then yes, most devices that worked on Linux in 2001 will work on Linux today.
> And I can run any win32 binary, regardless how old is it. Try that on Linux.
Yes, Linux also has excellent compatibility with old win32 binaries. This is partially a joke and partially not.
A hello world driver maybe? My XP printer driver didn't work on 7, had to buy a new one.
I've often read that, but in my experience it's not true. Drivers before 7 don't work on 7+. Exes from win XP era often fail to run, even with the compatibility modes offered by the OS. Heck, the only times I used compatibility modes where as workarounds for binaries that didn't exist when XP support had already ended...
I thought that Windows 10+ after a certain build made signed drivers mandatory without safe mode or other workarounds? I know I’ve tried Windows 7 drivers for some things and ran into that issue.
I'm talking about the kernel space itself, not the APIs exposed to userland to interface with the kernel from your application. Internal APIs and behaviors are mostly identical over the past ~20 years, and any changes are usually moved to a new export. I don't think this should be taken for granted.