Is it just / ?
I kid. But really, besides “its all a file”, if you take away the gui, is the only difference the syntax ? How libraries interact? How disks are mounted ?
If we stripped all ms’s junk out and made windows open source, would we still prefer linux?
When you get to a very basic level, is one of them more efficiently coded?
From my basic understanding: Windows has a microkernel hybrid style architecture. It’s kind of like microservices. Instead of all resources being shared within a system process, You get a lot of tiny services all making calls to each other and the main kernel.
This introduces a lot of overhead because variables need to be sent and requested between processes. And they don’t simply share them in the same memory.
Linux on the other hand has most services under one monolithic kernel and they can all access the same memory. So there is no need for all of that intercommunication between services.
At least that’s my basic understanding and if I’m wrong (which I probably am), then somebody on the internet will now correct me.
You’re right in some ways; Windows is closer to a microkernel than Linux, though it doesn’t perfectly adhere to the philosophy of - there’s supposedly weird things like drawing calls in the Windows kernel that should be in microservice, I’ve heard
However, I wouldn’t necessarily call microkernels a detriment; in fact, Linux is a bit of an odd duck for going monolithic - modern Apple operating systems also run on a microkernel. Monolithic is an older architecture, and there are worries about the separation between components and system resilience e.g the webcam driver can’t crash the whole kernel.
In practice, it’s less of an issue, and there really aren’t any open source microkernel operating systems that are practical for production desktop and server use, which has a microkernel though there are certainly solutions for embedded systems.
QubesOS is built on Xen hypervisor, which uses a microkernel design, but Linux is then run in multiple VMs on top of it, which makes it more of a technicality in my eyes. RedoxOS also runs on a microkernel and is certainly intended as a desktop operating system, but its hardware support is limited; GNU Hurd is even more limited in that respect and not really usable.
See xkcd, press upvote