From: unruh on
On 2010-02-17, Aragorn <aragorn(a)chatfactory.invalid> wrote:
> On Tuesday 16 February 2010 17:40 in comp.os.linux.misc, somebody
> identifying as unruh wrote...
>
>> On 2010-02-16, jellybean stonerfish <stonerfish(a)geocities.com> wrote:
>>
>>> On Tue, 16 Feb 2010 07:40:08 +0100, Magnus Warker wrote:
>>>
>>>> I lately talked to a collegue who said that Debian, Ubuntu and SLES
>>>> are different "operating systems". I said that there is only one
>>>> linux (at www.kernel.org) and that these are just distributions with
>>>> different packages and package management solutions. But he insisted
>>>> that there are also different operating systems.
>>>>
>>>> Well, I know that SuSE makes changes to the kernel for some reasons.
>>>> Could it be that he meant such things that make a unique operating
>>>> system? What dou you think?
>>>
>>> I think that the different linux distros are different OSes. The
>>> [...
>>
>> It is like the definition of a species. If members from the different
>> groups can reliably mate (ie produce fertile children) it is the same
>> species.
>
> That's become a questionable criterion now, Bill, given that certain
> scientists have recently started combining human and cow DNA in order
> to produce stemcells for the growth of replacement organs. One of
> these days, we might actually see a Minotaur showing up somewhere at a
> cocktail party... :p
>
>> If you can run programs from the one on the other, they are
>> the same operating system. You can.
>
> On that I agree. And since most source code for UNIX application
> software can be made to build and install on GNU/Linux, I am inclined
> to corroborate Ken Thompson's statement that GNU/Linux is a de facto
> UNIX, Open Group SUS validation or not. ;-)

No, I meant that the binaries ran on each other's systems.
Now, sometimes different distros will stick config files in different
places and compile them into the programs, but that is a minor
difficulty.

>
>>> ...] linux package is only the kernel of the system. If you look at
>>> http://en.wikipedia.org/wiki/List_of_operating_systems you will see
>>> a different view, that linux is the OS and there are multiple
>>> distros.
>>> On the wiki page, GNU is also listed as an OS. The GNU OS does not
>>> need to use the linux kernel. It can also use the hurd kernel. Does
>>> using the linux kernel with a GNU OS make the OS a linux OS?

No idea what GNU OS is supposed to be. An operating system without a
kernel is not an operating system.


>>
>> Gnu is not an OS. It is a group of user programs.
>
> Shhh, don't let Richard Stallman hear that, Bill. :p
>
> GNU actually *is* an operating system - kernel plus userland - but it
> just so happens to be that most of the GNU implementations only make
> use of its userland component, because as good as this userland
> component is, the GNU-proper microkernel design still cannot be
> sufficiently trusted for use in a production environment, let alone
> mission-critical stuff.

IF you attach a different kernel, then it is a different operating
system. The operating system is not the userland programs.


>
>> Hurd is an OS.
>
> Well, by your definition this is not even true, then. Hurd is basically
> a UNIX services server set which runs on top of a microkernel design,
> and at the moment this microkernel is still Mach, but research has been
> made at supplanting that with any of the newer microkernels, such as
> L4. RMS has always stated that "choosing Mach was his biggest
> mistake".

Fine.
>
From: Aragorn on
On Wednesday 17 February 2010 18:03 in comp.os.linux.misc, somebody
identifying as unruh wrote...

>>> On 2010-02-16, jellybean stonerfish <stonerfish(a)geocities.com>
>>> wrote:
>>>
>>>> ...] linux package is only the kernel of the system. If you look
>>>> at http://en.wikipedia.org/wiki/List_of_operating_systems you will
>>>> see a different view, that linux is the OS and there are multiple
>>>> distros.
>>>> On the wiki page, GNU is also listed as an OS. The GNU OS does not
>>>> need to use the linux kernel. It can also use the hurd kernel.
>>>> Does using the linux kernel with a GNU OS make the OS a linux OS?
>
> No idea what GNU OS is supposed to be. An operating system without a
> kernel is not an operating system.

The GNU project was aimed at being a complete operating system; kernel
plus userland. Thus, when the Mach/Hurd microkernel structure is
combined with the userland portion of GNU, you would indeed get such a
complete GNU operating system, just like FreeBSD, NetBSD, OpenBSD and
DragonflyBSD are all different royalty-free rewrites of BSD Lite, but
different somehow.

The GNU part used on top of the Linux kernel is not a complete GNU
system; it *is* only the userland. Therefore, you could posit that
Linux is the operating sytem, but any implementation of the Linux
kernel with a libc from another UNIX variant would no longer be binary
compatible with GNU/Linux. Yet, (g)libc is a userspace component, not
a kernel component.

Therefore, GNU/Linux, as misfortunate a choice for an operating system
name it may be, is the actual operating system. Change the kernel and
it's a different operating system. Change the userland - including the
libc - and it is again a different operating system. It's the two of
them combined that make GNU/Linux into GNU/Linux. And at the grander
scale, they're all UNIX, of course.

And thus, extrapolated again to the question of the original poster,
GNU/Linux is the operating system, and the various distributions are
only different configurations of it.

Embedded solutions which use the Linux kernel but do not use the GNU
userland are Linux-based operating systems, but are not by definition
binary compatible with the GNU/Linux we all know and love. But then
there's yet another factor involved there, i.e. that embedded devices
usually have a different processor architecture than the x86 systems
most of us use, and thus this too would prohibit binary compatibility,
but then again, that doesn't change the nature of the operating system,
as a GNU/Linux binary compiled for x86 will not run on, say, SPARC or
S/390 either.

So the bottom line is that what constitutes "the same operating system"
involves userland source-code compatibility, not necessarily binary
compatibility. You can compile userland source code for GNU/Linux on
an x86 equally well in GNU/Linux on said SPARC or S/390 - provided that
it really *is* genuine userland code, of course.

The only way that I know of in which you could actually develop totally
platform- and operating system-independent code would be by means of
bytecode, such as Java. But we all know how well that performs. ;-)

--
*Aragorn*
(registered GNU/Linux user #223157)
From: André Gillibert on
Magnus Warker <magnux(a)mailinator.com> wrote:
> I think there exist different definitions of the term 'operating system'. If
> you focus on the core functionalities like process and memory management
> and things like that, you reduce it to the kernel itself.
>
> But even if you include the whole userland into the definition, I cannot
> really see notable differences between the popular distributions. The
> biggest differences may lie in the package management system.
>

Indeed, that's why one could use the term "GNU/Linux operating system".
Are GNU/Linux distributions the same OS?
I think you may first answer:
Is Windows 2000 Professional the same OS as Windows Server 2003?
Both systems are based on a different version of the same kernel, and
share much architecture and programs.

Depending on the definition of OS, one could say they are different
versions/flavors of the same OS, or that they are two different sibling
OS.

Now, I claim that Windows 95 and Windows NT 4.0 are different OS,
because they don't share much more than a common API.

For Linux, the same reasoning can be applied, a Linux 2.4/uClibc
embedded system is not the same OS as a GNU/X.Org/GNOME/Linux 2.6.32
system.

Is Ubuntu 9.10 the same OS as Fedora 12 ? It depends on definition.

> However, let me concretise the initial question and the context: Consider a
> data center providing many services some of which are based on linux
> systems, i. e. there is a set of services (applications) and each service
> is built on top of a linux system. Now ask the question: How many linux
> distributions are needed for the data center to work?
>
> Well, I think, if the answer is more than one, then the data center has a
> problem. If you have applications designed for "linux", but you need Debian
> for the first, SLES for the second and Ubuntu for the next, and if you
> *really* need them, then the applications must be either poorly designed or
> the vendor limits support to certain operating systems. In any case you
> have a problem.

Yes. Similarly, applications designed to run on Windows XP should
ideally run on Windows 2000 and Windows 9x/Me, even though they're
Win9x/Me is a different OS.
And, yes, there are applications that don't run properly on Win9x/Me as
there are sloppy Linux applications that don't work with too old or too
recent libraries and programs (e.g. Gentoo portage depends on exact
versions of bash and python). Fortunately, it's usually possible, on
GNU/Linux systems, to add all required libs and programs.

--
André Gillibert
From: Keith Keller on
On 2010-02-18, Aragorn <aragorn(a)chatfactory.invalid> wrote:
>
> Therefore, GNU/Linux, as misfortunate a choice for an operating system
> name it may be, is the actual operating system.

It should be noted that not everyone has chosen "GNU/Linux" as the name
of their linux-based distribution/OS. According to Wikipedia (which may
or may not be true), Linus himself has disclaimed the moniker:

http://en.wikipedia.org/wiki/GNU/Linux_naming_controversy#Opinions_supporting_.22Linux.22

> Embedded solutions which use the Linux kernel but do not use the GNU
> userland are Linux-based operating systems, but are not by definition
> binary compatible with the GNU/Linux we all know and love.

I love OpenWRT too! :)

--keith

--
kkeller-usenet(a)wombat.san-francisco.ca.us
(try just my userid to email me)
AOLSFAQ=http://www.therockgarden.ca/aolsfaq.txt
see X- headers for PGP signature information