• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Linux and drivers...

So are the drivers part of the kernel in linux or are they just run in kernel mode or what, how does it work?

What happens when a new driver is installed? Is the kernel then modified with that driver added to it?

Dosent it mean that if a driver misbehaves it will bring down the whole OS? Like DOS based windows would do with its monolithic kernel.
 
Like any other modern OS, Linux has a distinction between user mode drivers and kernel mode drivers. If something can be run in user mode it usually is, and only those drivers that need kernel access run at that level.

As for how Linux drivers work, it's not unlike Windows. Kernel mode drivers are loaded as modules as necessary, and effectively become part of the kernel while they are loaded. The fact that Linux is a monolithic kernel combined with the fact that it has neither a stable API nor ABI for modules means that the module system isn't quite as robust as Windows' driver system, which is why most drivers are OSS and developed in concert with the kernel itself. This is also why new hardware will typically require a new kernel, as the driver needs to be created (and is done so against the latest kernel), but those driver modules can't be used on older kernels.

And yes, a misbehaving driver can bring down the whole OS. Linux is a monolithic kernel (like DOS), but this has no bearing on whether a driver can bring down the OS. Bad drivers will bring down microkernel and hybrid kernel OSes too. Any time you have code running in kernel mode, you can bring down the system if you try hard enough.
 
Last edited:
Back
Top