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.
@Suiseiseki because it's not. far from that. OS is Linux. it deals with all the hardware and does all unseen but important system tasks, there're also user layer software that is often written by GNU and other developers. and useless-d is just like a cancer tumor that penetrated into all user layer sybsystems with its metastases and devours and undermines the software from inside. it could be really easy to get rid of it at early stages and some distributives did this at once. but after letting it grow some ones came to a point that removing of the tumor will be very difficult and painful operation, with heavy patching of nearly everything,
@iron_bug >so OS is the kernel If an operating system is the kernel, then there's no point writing that instead of just writing kernel.
On some ancient computers all you needed was a kernel and the program you wanted to run to have an operating system, but those days are no more.
My knowledge isn't yet complete, but I don't continue errors, no matter how popular, or even if they are spread by people who do know better - something that doesn't operate by itself will never be an operating system after all.
windows is an OS, but you'll get something even more non-functional if you try running the NT kernel by itself.
I use the GNU OS, with GNU Linux-libre as my kernel.
Clang+LLVM and musl could not have been written without GNU and GCC.
GNU is that large, it currently consists of 387 packages and more will be added.
@Suiseiseki >An Operating System is a *system* of software that allows you to *operate* a computer. that's a lamer definition. I'm a system programmer, I professionally work with systems for whole life. and OS is the software that works with hardware, CPU scheduling, processes and provides API (system calls) for user layer. but you don't know such things as kernel level/user level, system calls, etc. and I know because I wrote drivers and so on. so OS is the kernel, exactly. not anything else. Windoze also has its own kernel, it's bloated and buggy but it also has it's API. and I worked with different OSes and wrote system software. and what you call "OS" it's a user level toys, it's really named ditribution. Linux distribution is kernel, some package utility (not all distributions have packets, though, but the most), base toolchain used to build up kernel and libc and a set of user layer software. on Linux GNU can present in user layer. but they have their own kenel Hurd. I really haven't dealt with it so cannot say much about it. but it exists and such system is usually GNU/Hurd but it may contain non-GNU user layer too, I suppose. nobody is binded to use GNU as a software of his choice, there're many other vatiants. so your knowledge is limited and you spread disinformation. so if the Linux kernel is used the operating system is Linux. well, that's simple. then next. GNU is some user space software. but you can build Linux based distributive with any software you like. not necessarily GNU. on my distributive (I build it from sources, myself) from GNU I have only compiler gcc and a couple of utils: binutils and maybe some little utils, I can't say becsuse they're a few. the rest 90% of user layer software is not GNU. I use musl as c library. so the software is not "GNU/Linux" or whatever, or you should write all developers in like Linux/musl/i3/whatever.../GNU. because GNU is just a part of it all, and not that much. and yes, I can use different compilers, gcc is needed for kernel. but it can be bullt by other compilers too. so it's easily possible to create Linux distribution without GNU at all. just a note. I'm a programmer with over 30 years of writing in C. and I know what I say very well.