Rant: Suggest common term for systems like [MS Windows], [Apple OSX], [GNU/Linux], .?
Disclaimer: I'm not a skilled programmer, nor an expert on Operating System technology, so please consider the basic point and excuse/correct technical fallacies.
Something is seriously fsck'd up in terminology land. For the sake of this rant, let's define the terms Operating System Kernel Distribution UAE (placeholder) Operating System The technical definition of an Operating System usually goes along these lines (As in certain books about Operating Systems that I own): "An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs." -- en.wikipedia.org It is my understanding that what an Operating System is designed to do, is automate the Operation of hardware allocation and program loading. That is, an Operating System removes the need for a human software Operator, jamming in a new punchcard of software for every task, hence the term Operating System. It is a piece of memory-resident, general purpose meta software, the mother of all software, the supervisor. This interpretation of the term would correspond to the following examples: Linux MS Windows™ NT™ kernel Apple™ Mach kernel GNU Hurd BSD kernel and aligns with the following expression: A: "Enter the Linux Operating System!" (, which is often used for convenience, not (IMO) because it is thought to be technically correct.) The definition fails to align with the following expression: B: "The Windows Operating System is better than the OSX Operating System, which is better than the DOS Operating System, which is worse than the BSD Operating System". With this expression enters a new idea of the term Operating System (lets instead temporarily call this degenerated "Operating System" a UAE - a User Application Environment). Consider the following list: MS Windows Apple OSX Firefox OS Any GNU/Linux distribution (Linux + GNU tools) The Debian Linux distribution An LFS build These products/packages/stacks all provide a basic software foundation in which to run common userspace software out of the box. They are UAE's. They are more than a "kernel" - more than an Operating System. Kernel The kernel (of a UAE) is equivalent to an Operating System. While the kernel of something is usually thought of as residing in the center of that something, this type of "kernel" is not really at the center of anything. It is rather the software boundary of the UAE to the hardware - a vertical bottom position. (A Linux) Distribution Distributions of the Linux Operating System include Debian Arch Manjaro just GNU/Linux (Often a subset of bigger distributions) Now, all distributions (including a proper LFS) provide UAE's. Most also provide their own central software repositories for easy installation and use of packages with that particular distribution. This is also true, in a sense, of proprietary UAE's like MS Windows, Apple OSX and Google Android. Apart from the software part, UAE providers also offer various forms of support. They could be hosting a community wiki, a user forum, offer paid professional support, or "free" professional support with purchase of the product (Windows). We see that a UAE and its associated services, if any, generally consists of a heck of a lot more than just an Operating System. Lets consider a few common Operating Systems and their associated UAE's. The Linux Operating System doesn't dictate what the complete UAE looks like; it's just an Operating System. It may be used in any and all ways. Even the Operating System (as released from kernel.org) can be modified to your specific needs; it's not a black box. The MS Windows Operating System (The NT kernel) is shipped only with the MS Windows UAE. The Operating System and its associated UAE is a black box. Components can not be exchanged freely for other components. All behaviour is dictated up to the appearance of desktop icons (or at least close to that level). The top level of Apple's OSX UAE is a black box. But the Operating System is free and open source software based on the BSD Operating System. Summary: The Operating System is the "kernel" of a UAE. The kernel metaphor is strange; the Operating System does not reside in the center of a UAE, but at the bottom of it, or possibly around it. Problems: The term UAE fails to capture the common denominator of foundation platforms like those in the title: [MS Windows], [Apple OSX], [GNU/Linux]. Are those to be called Software Foundations? Is GNU/Linux then a Free Software Foundation? Oh, never mind... The term "kernel" is misrepresentative IMO. The Operating System is not a minor part of a UAE, it's the bedrock of it. It encapsulates all else. It's a piece of software completely different in nature from the rest of the UAE. It's vertically aligned at the bottom. Is it possible, instead of renaming the Operating System as the "kernel", to rename the UAE as something else than "Operating System" (this is already taken!)? Now that Linux is colloquially referenced as an Operating System (which is technically correct), can't the community use this to restore its true meaning, and come up with a common term for UAE's (other than "distributions", which colloquially only applies to Linux based UAE's and their associated services)?? Thank you for reading, and bearing with me. |
I don't think we need to cloud things over with another layer of terminology or change the meaning of commonly understood terminology. I don't see how adding a "User Application Environment" TLA makes any difference in how people perceive whatever they use.
|
edit Yes, another layer of terminology is a necessary evil in this idea, and possibly the strongest argument against the idea. On the other hand:
The new terminology captures the lowest common denominator of every Linux distribution; the Linux Operating System. It helps people to see that, for all that matters, all Linux distributions are very much the same thing. Calling 300 Linux distributions 300 different Operating Systems scares people and is technically incorrect. The phrase "The Linux Operating System" is already in use, for different reasons. Nobody knows what a "kernel" is anyway. It's just that the consequence of reserving the term OS to the "UAE kernel" (my half-baked suggestion of a term) is that we need to come up with a term for the complete package. UAE sucks, but maybe there is something better, more accurate, more catchy than "distribution", which denotes not only the system/UAE (kernel space + user space), but the services around it as well. |
No, another layer of terminology is absolutely and completely unnecessary. The basis for every Linux distribution already is the combination of Linux kernel and F/OSS/GNU/whatever_else user land without the need for another acronym. There's users that don't (need to) realize they use Linux (and I don't necessarily mean the obvious smartphone OS, it could be a Cloud service, an ATM, a router, TV, IP camera or space / medical / industrial equipment as well) and they don't need to have any concept of what "Linux" or a "distribution" is: they are free to use the product as it is. As for the other users, the ones that chose to use GNU/Linux, they too are free to use their Linux distribution of choice as it is. (I can only hope they made an informed decision.) Getting the most out of Linux means learning about concepts, Open Standards, history and lore. That's a Good Thing, not something to be blithely acronymized because it isn't "catchy" or buzzword-compatible enough...
|
Quote:
|
Quote:
|
Quote:
Ok; Forget about "catchy". I'll settle with "descriptive". |
Quote:
I notice wikipedia conflates the definitions too (the layer diagrams on the respective pages have kernel and operating system sitting in the same position, between applications and hardware). |
Quote:
|
No the kernel is one part of an operating system.
|
Quote:
|
Quote:
Absolutely, if you define an Operating System to be "Kernel" + "A loose set of user-space apps", then Linux is clearly not an Operating System. But there is no technical justification for such a definition. That term (OS) is only being hijacked because there isn't any good *single* umbrella term for * A Linux™ distribution. * MS Windows™ * Apple OSX™ And these types of bundles are compared ad nauseum; they clearly need an umbrella term. Hijacking the term Operating System is wrong. It is only a manifestation of the following isolation between Operating System developers and the users of the Operating System: Human users only interact with the Operating System via user space programs. We do not perceive the existence of the actual Operating System (by design!) except in rare cases of raw OS (or the "kernel-of-what") text output and panics. So we are tempted to assume that the user space programs themselves are, in fact, the Operating System. (And the "kernel-of-what" is just some minor detail designed to make this predefined set of apps magically work, lord knows how.) This is wrong. Wrong, I say! :tisk: All this would be harmless, *but* I firmly think it creates a sense of fragmentation in the general user's mind where none exists. Linux is Linux. Linux "fragmentation" (as in Linux end user application incompatibility) exists not at the OS level, (per se!) but mostly because of the differing set of user space libraries available on each machine. Add those, and you're good to go, essentially. How else can we explain that a ton of proprietary applications released for Ubuntu or Mint, also work in Arch? Why the Unity desktop environment works in Arch? You have a closed source application written using raw Windows NT system calls? Then yes, you're out of luck running that on Linux or BSD. And *that's* the real fragmentation in OS world. All you guys know the dirty details already, what is "User Space" and what is "Kernel Space", what is an API, what is a system call... You know the ins and outs of your computer, you probably don't care what people call it. But as for me, I had to go a long time before realizing that * Choice of distribution matters very little in terms of available applications or configurability. * The popular definition of OS seems mostly based on a technical misunderstanding. And I am not pleased with this. |
I've always liked a term that IBM sometimes uses: "System-Control Program (SCP)."
To me, that term goes straight to what the software in question actually does, without setting strict boundaries upon what falls into vs. out of its scope. Truth is, there are lots of variations on this theme, but they're all basically the same thing: it is the software that "controls the system." |
Quote:
Quote:
It appears that SCP could be compared functionally to a frugal Linux dist (you can actually interact with it). Using it that way would mean that a System Control Program is actually a set of different binaries (with the OS being one of them). Or perhaps you meant that Linux would be labeled SCP (instead of either Operating System or kernel) here. |
An OS is not a kernel - and that's what makes the rest of your points... pointless.
|
All times are GMT -5. The time now is 06:03 AM. |