LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   General (https://www.linuxquestions.org/questions/general-10/)
-   -   Rant: Suggest common term for systems like [MS Windows], [Apple OSX], [GNU/Linux], .? (https://www.linuxquestions.org/questions/general-10/rant-suggest-common-term-for-systems-like-%5Bms-windows%5D-%5Bapple-osx%5D-%5Bgnu-linux%5D-4175500741/)

salantrax 04-06-2014 05:17 AM

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.

unSpawn 04-06-2014 05:43 AM

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.

salantrax 04-06-2014 06:07 AM

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.

unSpawn 04-06-2014 09:05 AM

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...

ntubski 04-06-2014 10:00 AM

Quote:

Originally Posted by salantrax (Post 5147519)
This interpretation of [Operating System] would correspond to the following examples:

Linux
MS Windows™ NT™ kernel
Apple™ Mach kernel
GNU Hurd
BSD kernel

All of the things in that list are kernels, so clearly your interpretation is wrong.

salantrax 04-06-2014 11:47 AM

Quote:

Originally Posted by ntubski (Post 5147612)
All of the things in that list are kernels, so clearly your interpretation is wrong.

No, I think you misunderstood. My point is that when I talk about a kernel, I technically mean an Operating System (and vice versa). This would mean that every item in that list is an example of a full fledged Operating System. Any user program (using system calls to the OS to control hardware), including system programs that abstract system calls and more, is beyond the functionality of the Operating System itself.

salantrax 04-06-2014 12:11 PM

Quote:

Originally Posted by unSpawn (Post 5147590)
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. [...] 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...

I see what you are saying, and I disagree. Getting terms right from the start scares away less users and helps them compare Linux based platforms to platforms based on other Operating Systems. Maybe that's the term; software platform. :)

Ok; Forget about "catchy". I'll settle with "descriptive".

ntubski 04-06-2014 02:49 PM

Quote:

Originally Posted by salantrax (Post 5147655)
when I talk about a kernel, I technically mean an Operating System (and vice versa).

Uh, why not just say kernel when you mean kernel, and Operating System when you mean Operating System? Wouldn't this make things simpler for everyone?

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).

salantrax 04-06-2014 03:15 PM

Quote:

Originally Posted by ntubski (Post 5147724)
Uh, why not just say kernel when you mean kernel, and Operating System when you mean Operating System? Wouldn't this make things simpler for everyone? [...]

Because they are equivalent. A "kernel" is, as I understand it, the technical definition of an OS. An Operating System provides an execution environment for user space, via system calls. It separates and abstracts hardware from software. It handles processes, memory allocation, CPU time, device handling. Calling an OS a "kernel" begs for the question: "kernel" of what? That's where the missing term comes in.

Germany_chris 04-06-2014 04:06 PM

No the kernel is one part of an operating system.

ntubski 04-06-2014 04:08 PM

Quote:

Originally Posted by salantrax (Post 5147731)
A "kernel" is, as I understand it, the technical definition of an OS.

What is the difference between an operating system and a kernel?

salantrax 04-24-2014 05:24 AM

Quote:

Originally Posted by ntubski (Post 5147752)

I know the colloquial use of "Operating System". (And the above is a poor definition at that). :confused:

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.

sundialsvcs 04-24-2014 07:54 AM

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."

salantrax 04-24-2014 09:25 AM

Quote:

Originally Posted by sundialsvcs (Post 5158346)
I've always liked a term that IBM sometimes uses: "System-Control Program (SCP). [...]"

Interesting! :) Never heard of that term. Do you know if IBM uses the term SCP generically, or just for this particular product?

Quote:

The System/3 (1969) ran a disk-based batch operating system called SCP (5702-SC1). IBM introduced for the S/3 an online program called CCP ("Communications Control Program.") which was started as a batch program. The IBM System/32 (1975) ran a disk-based operating system called SCP ("System Control Program.") The IBM System/38 (1978) ran an operating system called CPF ("Control Program Facility") that was much more advanced than SSP and not particularly similar.
-- en.wikipedia.org page

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.

cynwulf 04-24-2014 10:12 AM

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.