3 ms·
I've heard the argument that Linux is not actually an OS several times; but I must admit I don't completely understand it. Why is it so inappropriate to conflat
by adrianm 14y ago
I've heard the argument that Linux is not actually an OS several times; but I must admit I don't completely understand it. Why is it so inappropriate to conflate the operating system with the kernel?
Perhaps this is just the operating systems course I took in college talking, but I recall that an operating system is defined not by the programs in user space, but rather by how everything is handled behind the scenes; in kernel space.
Process management, threads, interprocess communication, memory management, the file system structure, input/output, network primitives... Aren't these responsibilities of the operating system? All of these programs and low level interfaces are provided by the operating system, and thus by Linux and not by the GNU utilities.
- riffraff 14y ago"OS" is a vague term, but for example > Process management, threads, interprocess communication, memory management, the file system structure, input/output, network primitives... Aren't these responsibilities of the operating system? they are, and they don't need to be in the kernel, which would be enough to say that a kernel is not an OS. Even ignoring stuff like user space drivers/FS/network/threads, you usually use some user space APIs to interface with the kernel. And maybe you need something to actually be able to launch programs, an init system, some login process etc.. FWIW, the definition I had in school(s) was more loose, on the likes of "the OS provides the basic functionalities to run and control programs".
- lucian303 14y agoThe OS is way more than the kernel. Device drivers for example. Compilers (while technically ran in user-land, try to build a kernel without them). Etc, etc. I don't know what they teach you at school, but I'm sure you can figure it out from here on.
- adrianm 14y ago"I don't know what they teach you in school, but I'm pretty sure you can figure it out from here on." Your statement is pretty condescending. I'm not sure what I said to deserve that. "The OS is way more than the kernel. Device drivers for example. Compilers..." Your first sentence makes a broad generalization. As far as device drivers go; the operating system provides the interface for such drivers to be programmed and work together with other devices in a way that should be transparent to the programmer. This is part of the I/O system that an OS should provide. Classic OS responsibility, but not "way more than the kernel". The interfaces are provided by the kernel. As far as compilers go, I obviously agree they are a necessary component of any extensible platform; but they are not 'technically' ran in user-land. They ARE application/user programs! They are not part of the operating system. If you insist on playing the "technicality" card here, you can't have it both ways.
- zxcdw 14y agoOperating system is more than the kernel. I do consider for example Arch and Ubuntu to be different operating systems although both use Linux as their kernel. Perhaps some people consider the kernel to be the OS and the userland to be whatever else. I am much more bent towards the thought of an actual distribution being the OS, and the underlying kernel being just one part of the OS as a whole.