linux.md: new article

This commit is contained in:
tocariimaa 2025-02-10 18:29:50 -03:00
parent 5301ac8164
commit 4cfaee9bde

28
articles/linux.md Normal file
View file

@ -0,0 +1,28 @@
# Linux
Linux is a Unix-like almost libre kernel created in 1991 by Linus Torvalds. Famously he announced it on [Usenet](usenet.md)
where he just called it "a side project" and not something "professional". After being released, Linux grew quickly and became
the defacto kernel of the GNU project, as [Hurd](hurd.md) wasn't ready yet and 386BSD couldn't be released earlier due to legal
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
[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.
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.
Another issue is the forced inclusion of [Rust](rust.md) into the kernel (but as of writing this, 2025, it appears to be failing) and subsequently
the forced removal of seasoned kernel developers in basis of them being "old" and "refusing" to learn Rust. [SystemD](systemd.md) is another
issue on its own, pushed by Red Hat and other tech corporations.
A tarball with the source of the first version, 0.01 can be found here: <https://mirrors.edge.kernel.org/pub/linux/kernel/Historic/>.
## See Also
- [BSD](bsd.md)
- [Unix](unix.md)
- [Bloat](bloat.md)