3 ms·
Drivers need to do things that are inherently unsafe. The driver responsible for you harddrive needs to instruct the SATA controller to copy a piece of data fr
by zaarn 9y ago
Drivers need to do things that are inherently unsafe.
The driver responsible for you harddrive needs to instruct the SATA controller to copy a piece of data from disk to a specified memory location.
The kernel has no understanding of the process without the driver and is therefore incapable of preventing abuse.
You can somewhat prevent this using various methods but those cost performance.
And keep in mind the abstraction itself already costs performance and this doesn't even allow easy extending of the abstraction if necessary.
While microkernels that do run everything in userspace are nice in theory, you usually pay in CPU cycles compared to kernel-mode drivers.