Linux is a modern operating system. Unix was a precursor operating system (and for bonus points Multics was the precursor to Unix). Both Multics and Unix were made by companies and sold with their hardware, as was the norm for operating systems in the previous century. Only MacOS, another successor from Unix, is still sold under that business model.
In the 1990s, a new business model surfaced, where hardware companies made hardware and operating system software companies made software, Unix was at the forefront of this change. Increasingly, the operating system software market moved to “open source”, where much of the operating system code is widely available for all. This allows many “forks” in the Linux family tree, as specific distributions were tailored to specific users but share the basic core infrastructure.
One part of that core infrastructure is the kernel, the code that provides the services used by the other parts of the operating system. Perhaps file I/O and network I/O need common control blocks to conduct their I/O operations and signal to the scheduler when a process blocked for I/O is ready to run; the kernel provides that control block functionality.
Operating systems have kernels, and other things as well. It’s unlikely that you’d ever want to use just the kernel, and write all the other code yourself, that would not be cost effective. The whole point of open source is to only write the code that’s your unique secret sauce, and share all the other generic code to reduce the maintenance cost.
Latest Answers