linux.md: update

This commit is contained in:
tocariimaa 2025-02-10 18:32:20 -03:00
parent 4cfaee9bde
commit e7d960e718

View file

@ -5,13 +5,13 @@ the defacto kernel of the GNU project, as [Hurd](hurd.md) wasn't ready yet and 3
issues regarding its source code. Linux wasn't affected by this because it was an independent, clean room implementation of Unix
(similar to Minix, the system Linus took inspiration from).
Unlike the [BSDs](bsd.md), Linux is not a full operating systems on its own so it is coupled with userland tools, most commonly
Unlike the [BSDs](bsd.md), Linux is not a full operating system on its own so it is coupled with userland tools, most commonly
[GNU](gnu.md) or [Busybox](busybox.md) to form a fully functional operating system. This is also the origin of whether to call it GNU/Linux or just Linux
(but it wouldn't apply to non-GNU distros like Alpine).
Being Linux a monolithic kernel, this made it prone to bloat and indeed it got bloated, with device drivers having the most
lines of code in the entire kernel source tree. Since these drivers run on ring 0, it adds a huge attack surface, including
the fact that a failing driver can crash the whole system and almost 400 [syscalls](syscalls.md) for each architecture.
the fact that a failing driver can crash the whole system. It has almost 400 [syscalls](syscalls.md) for each architecture.
By default and being strict, Linux is not fully free as it contains binary blobs (a form obfuscated proprietary software)
for device drivers. Projects like [Linux-libre](https://www.fsfla.org/ikiwiki/selibre/linux-libre/) remove such blobs, making Linux fully free software.