Embed Notice
HTML Code
Corresponding Notice
- Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Monday, 21-Oct-2024 19:44:45 JST翠星石 @iron_bug >OS is Linux.
Wrong.
An Operating System is a *system* of software that allows you to *operate* a computer.
Linux does not operate on its own, nor is it a system; https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/main.c#n1525
The operating system is GNU/Linux, but people hate freedom so much that they give all the credit to a small part of the OS.
>does all unseen but important system tasks
Linux doesn't do all important system tasks, although it's correct that you can't see it operate.
Linux does the important system tasks of managing most of the hardware (CPU scheduling, memory mapping, usb host controller, PCIe device enumeration), running part of many drivers for hardware (filesystems, graphics drivers (note much of the driver is implemented by mesa), PS/2 and usb drivers etc), but that alone won't give you an operating system.
Many of the systems drivers are not implemented in Linux, for example FUSE drivers are userspace filesystem drivers that don't really care what kernel you use.
Before Linux there's the BIOS or UEFI and the bootloader, without those carrying out the important tasks of booting, you cannot hope to even think about loading Linux.
After the BIOS, which inits the hardware and loads the bootloader, which loads Linux, you then need other software to be able to operate the computer - after all, a keyboard driver is useless if there isn't a login shell for the user to login and a shell for the user to enter commands into.
As per the linked source, once Linux has done initing itself (rcu_end_inkernel_boot();), the very first thing it does is launch the init (otherwise it shuts down as the computer is unusable) and the init then proceeds to launch the necessary daemons that allow the system to work.
Of course, such init doesn't talk to Linux, it talks to a shell and/or a libc, which offers the functionality such init needs, only calling Linux SYSCALLs as needed.
>there're also user layer software that is often written by GNU and other developers
GNU is not merely user layer - it supplies a BIOS (GNUboot) and a bootloader (GRUB), which load before Linux.
GNU also supplies a free compiler and assembler collection (GCC) and free build systems (make, autotools, binutils, m4) and free editors (GNU Emacs, GNU nano, GNU ed), all of which you need before you can even think about writing a kernel.
GNU also supplies an init (GNU shepherd), a shell (GNU bash), a TLS implementation (gnuTLS), an encryption library (libgcrypt), archivers (tar, cpio), a parser generator (bison), games (liquidwar, ballandpaddel, gnukart), a kernel (Hurd) and even an entire OS distribution (Guix) and much, much more.
>useless-d is just like a cancer tumor that penetrated into all user layer sybsystems
systemd has penetrated even into Linux, therefore if you use it, you are using systemd/Linux, or systemd for short.