Linux is not an Operating System

Linux is not an Operating System

Posted by Michael Anckaert on Dec 28, 2007 in Uncategorized22 comments

This is a blog reply to the post made by Alex on his blog The tech and other cents. Alex has written a post on the fact that more and more the media are referring to Ubuntu and not to Linux in general. While I can understand Alex’s fear that this may lead to the larger public forgetting about other Linux distributions, I don’t quite agree with his opinion. I’ve often discussed about this topic with (tech savy) friends and I always stick to my point that Linux is not an operating system.

Heh, quite a oneliner for a geek like me isn’t it? It’s actually quite logical to say that Linux isn’t an operating system. I’d even go as far as to say that Linux shouldn’t be mentioned, although this would be provoking without a need.

Linux is a kernel for an operating system. Ubuntu is the operating system. That is, in short, the gist of it. Without Gnome, X.org and other applications the Linux kernel is nothing more than a fine piece of compiled bits and bytes. You don’t see the Apple fans claiming they use Darwin, they use Mac OS X. An operating system powered by the Darwin kernel, the Aqua graphical user interface and other programs.

Likewise I don’t think anyone should talk about Linux distributions. The more advanced ‘distributions’ have so many customizations that we should refer to them as Operating Systems. It’s no problem that there are 200 different operating systems that use the Linux kernel. This will of course lead to the demise of some operating systems based on Linux, something that I don’t think is a bad thing.

I think Alex has to stop focusing on Linux and it’s time for him to chose one or more operating systems. This is by no means an attempt to downplay the importance or greatness of the Linux kernel, I’m just trying to put the light on what Linux really is, just a kernel.

It’s great that there are so many Linux-based operating systems that are doing what they do, but we have to differentiate and not fear it like Alex says. What’s so great about Open Source is that it’s open, no matter what operating system you use, you’ll never end up f*cked like you would with Windows or Mac.

22 comments

» Comments RSS Feed
  1. Well, GNU+Linux an OS. But most people doesn’t understand the GNU, so they say Linux. But imho Ubuntu (, Red Hat, SuSE, etc.) is not A SEPARATE OS,it is a distribution of GNU/Linux.

  2. It’s actually pretty complicated. GNU/Linux is indeed an OS, but so is Ubuntu. Ubuntu is GNU/Linux + Gnome (and other stuff). It all depends on how you define an operating system. Linux alone isn’t an OS, it is if you add the GNU programs.

    I think in the early days, people referred to distributions because companies and people just took software and distributed it. Now everyone adds customizations and new software, scripts, configuration tools. So it keeps getting more differentiated. A Debian system is very different from a Red Hat system, I don’t think you can still call them distributions.

  3. Yes, the kernel is GNU, Linux is the OS. Ubuntu is the particular distribution of the OS. That might be compared to the different versions of Windows XP (home, professional, enterprise) or Vista (ultimate, home, etc).

  4. Common usage in language does not always follow or care about the technical definition of what an term is. Although your point that Linux is not an operating system is historically and technically correct, it falls short on evolving and accepted usage. No other global term fits to describe the wide and varied number of operating systems that all use the Linux kernel other than Linux itself! People perceive that Linux is at the heart of the operating system and generically call the operating system Linux.

    Linux has evolved into having multiple definitions–not at all unusual or unexpected in our ever-evolving languages and dialects!

    Now, Linux has contradictory definitions: 1) It is not an operating system, but a kernel. 2) It is an operating system, of which many distribution use the (namesake) Linux kernel.

  5. @ender:
    You might want to switch that around. The kernel is Linux, GNU is an os (But only if combined with a kernel, such as Linux) and Ubuntu is a distribution. So whats your point? Ubuntu and Redhat are a lot more differentiated than WinXP home and pro. And you don’t see windows fanboys claiming they run Vista/Win32/Explorer. Here is the breakdown:

    Linux + GNU is one operating system

    Linux+GNU+Gnome+Xorg+countless customizations by canonical = Ubuntu, which is ANOTHER operative system.

    I’ve never seen Linus Thorvalds out there insisting we use the term linux in general instead of the specific names of the systems we use. (I have seen RMS out there saying we should say GNU though. A move that caused me to loose a lot of respect for him.)

    Anyone that complains that another system is too popular and wants to make the case that we shouldn’t call that system by name only comes across as a whiner. All the people who care know where those systems come from. If people are so afraid of not getting attention and credit from every single new user out there then I can only say I’m sad for those people and their social skills.

    Sorry about directing all of this at you ender. The second half was aimed at the community in general.

  6. GNU/Linux is an operating system. Its true the linux kernal itself is not, but all Linux distros are GNU/linux people just use Linux for short.

    “Linux is a kernel for an operating system. Ubuntu is the operating system. That is, in short, the gist of it. Without Gnome, X.org and other applications the Linux kernel is nothing more than a fine piece of compiled bits and bytes.”

    Using this argument youre saying that the GUI is the operating system. Wouldnt that make gnome the OS rather than ubuntu as there are many distros ( and superior ones at that ) that use gnome, Xorg, and most of those same applications as ubuntu.

    GNU/Linux is the operating system, PERIOD.

  7. Greg, I didn’t mean to imply that the GUI is the operating system. I should have added Bash (or any other shell) to my list but I thought I had it covered with ‘other applications’.

    Simply calling Ubuntu a distribution would be wrong in my opinion. Ubuntu (or Red Hat, SuSe, …) is much more than just a software distribution. It’s a computer operating system that uses the Linux kernel, GNU software and other Free Software. So I think it’s become obsolete to talk about Linux distributions when you get such a complete package, though I can of course understand the historical meaning of this term.

    I’d also want to point out to theCroc that Richard Stallmans ‘It’s GNU/Linux, not Linux’ may sound a bit fundamentalist, it’s actually a valid point. RMS was actually trying to say that it’s not very nice to keep reffering to Linux distributions when it’s actually a GNU/Linux distribution, a collection of GNU software that runs on the Linux kernel. Again, a valid point but maybe a bit overcalled.

  8. Technically, a kernel, plus user space programs to support execution of processes (and I would include the shell in this category along with loaders), constitute the operating system. If you have a computer science education, as I do, this is what you have been taught. An operating system is software that manages processes and system resources.

    Now, in practical terms, even knowing that, I still refer to Linux, Ubuntu, FC 3, Windows XP, Mac OS X, and others as operating systems in casual conversation, even though they consist of, and I may be referring to, user land software that goes beyond that which meets the above definition of an operating system.

    For the most part, I don’t lose much sleep over this. Context dictates what I mean. When I say that Linux the operating system supports, say, demand paging, it is usually the technical definition of an OS that I am referring to. When I say my favorite operating system is Mac OS X, it is the more broad, casual context that is implied.

  9. @masuran:
    It’s true that it seems unfair to pass credit to only one contributor. Which is why I’m all for only using the distribution name. If we are obligated to give credit to everyone in every single instance it would become impossible to talk about operative systems. Instead we should give credit in due places at due times for all the different parts. Most users couldn’t care less and would just be confused if every major contributor was credited as early as the name. Instead those who wish to learn will find out how it works. The rest will happily go on using Ubuntu or whatever distribution they have without knowing a whole lot about where the different parts come from and their family trees.

  10. What’s in a name? Would that which we call a rose, not by any other name smell as sweet?

    Ubuntu alone is, in my opinion the best bet for an alternative to Windows, if only for its superior hardware support, but whatever the combination of kernel, apps, gui etc. and whatever one decides to call it, it all falls into one category: “Not Microsoft”

    And that’s a good thing :-)

  11. I have ran Mandriva and loved it. Replaced that PIII computer with a P4 “Self assembly”. As soon as my new DVD R/RW comes in, I will be Loading Windows XP and Linux Ubuntu,Using Vcom Partition Comander.
    As I read your opinion of Operating Systems, I am reminded of the argument my friend and I used to debate. Was it the Chicken?,The Egg?,The Red Chicken?,The Black Chicken?, The Green Egg?,The Brown Egg?,The White Egg?,The spotted Chicken? What really came first was the NEED,… to get the internet information in the minds of the populations of the earth, and, Thanks to those who are assisting each other with the likes of UNIX,Linux,etc. Instead of taking advantage of proprietary works, in order to become the richest person. Enough opinion bashing, I still have “How to”s to read. Bye!

  12. The discussion of language usage or terminology isn’t a binary one.

    Just do a Web search on “Linux operating system”, and you will readily see its common usage, even at authoritative Web sites. The context of common practical usage of the term “Linux” is not limited to the kernel, although the kernel is the common denominator among all Linux distributions.

    There are those that would say that Ubuntu isn’t an operating system, but rather a Linux distribution or distro.

    Consider the global, all-encompassing term for all of these distros. Linux is the most practical term in common usage without being specific about how X was implemented or who named their customized version of Red Hat, SUSE, Ubuntu, or whatever.

  13. One more stir of the pot yields what posters here may know but some readers may not:
    GNU is a recursive acronym - meaning initials within initials standing for Gnu is Not Unix, meant to differentiate these applications and utilities and shells, etc. that work like their counterparts but that were coded independently of them.

    One interesting example is the Bourne Shell developed from work done by Stephen Bourne for Unix and called sh, other examples being the Korn Shell or ksh and the C Shell or csh (reference to the C programming language and a play on words as if seashell). Well, continuing the word play the shell used in GNU/Linux is the Bo(u)rn(e) again shell or bash!

    Quick aside that you’ll find amusing if you haven’t heard it already: Arrogant and young Microsoft speaker is addressing programming professionals on features of their Unix environment, and when he got to the discussion about their use of a modified Korn Shell, or ksh, questions from the audience were typically blown away. After a couple of condescending dismissals of one questioner’s queries and comments another frustrated and impatient audience member stood up and loudly suggested that before the presenter make a further fool of himself, he should understand that the guy he repeatedly dismissed was David Korn! A biological impossibility occurred whereby the presenter immediately shrunk to half his original height, along with spontaneously acquiring, ahh…humility.

    Finally, GNOME stands for GNU Network Object Model Environment, so it is indeed another fruit off the GNU tree, about which you should not say Linux + GNU + GNOME.

    Along with all this minutiae and lacunae comes the admonition to pronounce GNU as guh-new, and GNOME as guh-nome, and to meticulously observe the letter’s case. If you want to sound snotty and Finnish, be sure to pronounce Linux as lee-nucks after lee-nuss Torvalds.

    On next week’s show, we’ll be discussing the X Window System. That’s right…it’s not X Windows, although the job of windows managers is to support each and every X Window.

    Damn…I feel all…unclean - like some prissy librarian or something…

    Frabnk

  14. Maybe this debate is also useful although I do not understand the issue that Linux is not an OS.

  15. Calling Linux an Operating system is a little like calling a diesel engine a bus. Perhaps the best thing would be to clarify that Ubuntu is a Linux Compatible Operating System, just as Fedora is a Linux Compatible Operating System, as is Mandriva, PCLinuxOS, SUSE, Redhat, and the 65,536 other Linux Compatible Operating Systems.

    What is truly amazing is we have 65,536 different operating systems based on the same core software, and that generally are binary compatible with one another. I type this on an Ubuntu based machine, it’s come along way since I loaded an early Slackware onto a 386 with 5.25″ floppies.

  16. Historically, what has been defined as the operating system is just the basic set of I/O implementations to get the hardware to work. Somewhere along the line it became expected that the OS have more than a 0 and 1 API. On to assembler and don’t look back!

    Fast forward to 2007 and some milksop wants to slap a GUI on it before they call it an OS! Poppycock, I say!

    So is Linux an OS? Of course it is; it operates daily in mobile and other embedded devices without so much as a console. Is Linux, alone, a desktop operating environment? Not by any modern definition.

    And this seems to be the crux of the issue: understanding the difference between an OS and a computing environment. Linux is an OS. GNU adds function, from low-level utilities to high-end graphics, to that OS. In that composition lies the art of the distribution, the distilled essence of the operating environment.

  17. During my days at the Technical University as the computer science student I had the “Operationg Systems” course, where the inside workings of the systems were discussed. Namely, the memory management, file systems, interrupts, security, networking, processes management and scheduling. Which overall led to the sole purpose of the OS, running the programs. The mentioned elements are the building blocks of the OS from the scientific point of view and this fits perfectly with the Wikipedia definition of an operating system for example. It’s even consistent with the classic book “Operating Systems: Design and Implementation” by A. Tanenbaum and A. Woodhull.

    Given these facts I’d say that Linux in fact *IS* an operating system, and Debian, Ubuntu, RHEL, Fedora, Mandriva, Slackware and a multitude of other well-known brands *ARE STILL* in fact Linux distributions.

    I too know that the current end-user view of an OS is that it consists of the bunch of software, a whole stack, that is present inside the computer after installation. The old adage that Linux is a “just a kernel” only blurs the water. And the GNU project doesn’t make it any simpler, their programs can be recompiled to work atop many kernels, be it *BSD, OpenSolaris, UNIX variants or even NT kernel (ever heard of Cygwin?). And even the goal for GNU is “to develop a complete Unix-like operating system which is free software: the GNU system”.

    The impression that Windows NT / Windows 95 brought is that the software has to provide the graphical interface and include lots of programs to be called an operating system. Are you sure this impression has not infuenced your opinion in a way?

  18. All technicalities aside, frankly most of the general purpose distributions out there are so similar that calling them different operating systems and basically ignoring that they have almost everything in common seems kind of silly. The biggest distinction seems to be between the Debian-based group and the RPM-based group, but even that’s starting to erode. Everyone uses very similar kernel, very similar GNU tools, very similar GNOME and/or KDE, very similar major software (OpenOffice, Firefox, GIMP, yadda yadda).
    What really differentiates?
    –Slightly different install. Irrelevant once done installing.
    –Slightly different package management GUIs. But not very different. And often shared–many distros use Synaptic, even some RPM-based ones.
    –Slightly different system management GUIs. Although, for instance, PCLinuxOS uses the ones it inherits from Mandriva, and Ubuntu-related ones inherit from Ubuntu, and there are some that go with Gnome and KDE which are thus common to many.
    –Very slightly different handling of device drivers, for reasons I don’t really understand because basically device drivers come with the kernel. But this is gradually going away.
    –Different default theme at installation. Until you change it, that means they will look somewhat different when you install them. But this also changes from release to release of the same distribution, or even in different sub-flavours of the same release (e.g. in Mandriva, Free vs. Powerpack vs. One)

    And that’s about it. For these minor distinctions, you want to say Ubuntu is a *different operating system* than Debian? Come on.

  19. [...] that it was just a complaint about Ubuntu being talked about so much. Later, though, I read this response which argues that Linux should not be thought of as an OS at all. Instead, the post says, Ubuntu [...]

  20. - Well, what was the FSF before Linux came? A bunch of hippies with some high ideals about free love and free software, like a bunch of vegetarians that still needed to eat meat. Whatever great stuff they had - and they had great stuff; don’t understand me wrong - still needed a commercial kernel in order to run. And in fact, Hurd still isn’t running. Torvalds came along and did what needed to be done: he wrote a free kernel. And then the FOSS community had a complete system and could move forward. This movement started with Linux. Hence, the system became Linux.

    - What was Debian before Linux came along? Just a couple of youngsters (DEBra & IAN) having something better to do than burning disks and testing software. You can only start a distribution when a complete system is there, not before.

    - What was Canonical before Debian? Nothing. They didn’t have anything to build a system on. I think they could have used Slackware as well, but they didn’t. It was Debian. And they turned it into Ubuntu.

    So, everything put together it is a historical injustice to “rename” Linux into Ubuntu. It’s like saying that Microsoft invented the PC, so why not call every PC a “Windows”? Even if it is running Linux!

    Hans Bezemer

  21. Hi Masuran

    Thanks for the comment. I actually got in total more than 200 of them, so I just came to yours :-) sorry for the delay.

    So, first thing first - I have chosen Operating System (linux-based I mean) a long time ago, and that is being Gentoo Linux. I use it on all my computers, and I”m pretty happy with it.

    Second - I don’t hate Ubuntu Linux. In fact, I like it. And all the point I was trying to make, was just misusing the terms and meanings they bear.

    In addition, that was just personal opinion, nothing more. I wasn’t trying to make a web tremble ( though it did ) ….

    An most of all, I just want to be clear: I really want Linux (or whatever you want to call it) to succeed, and I don’t mind if it happens through the efforts of Ubuntu (or Canonical).

    That’s about it. I think now that whole the argument was speculative and just all about the spelling and naming. And that’s stupid, of course.

    But hey, at least it brought some visits to my blog.

    Thanks again :-) and I’ll keep watching your blog.

  22. According to many tech specialists, an operating system consists of five different aspects:

    1. Processor Manager
    2. Memory Manager
    3. Device Manager
    4. File Manager
    and finally,
    5. User Command Interface

    So as long as all, and I mean every one, of these aspects are identical in two systems, they would for both technical and end-user purposes be considered one operating system.

    Keep in mind, as almost every engineer knows, especially software engineers, there is usually a very tight bufferzone when we define the word “identical”. If a process instructions is just but one bit off, the entire system would probably more times than not immediately crash or worse. Accordingly, we can’t be too forgiving when deciding if two systems are considered to be using two operating systems. So for this issue, I would say that even if the differences are only 30 percent of the time (and that is probably being a little lenient), then they would considered two distinct operating systems.

    Here is a quick summary how Linux flavors would compare in this context:

    1. Processor Management
    Processor Management covers all processing areas, such as process schedulers, process states, and features such as forking. So far for most issues, I would consider all flavors of Linux to be using very similar systems for process management.
    1 point for stating they are identical.

    2. Memory Manager
    Keep in mind that this area covers both primary and secondary (ie hard drive) memory. For most Linux distributions, the memory manager would be consider basically the same. However, there is one crucial difference that arises and that is secondary memory management. There are many - many - differences as to where pieces of code and data are kept on the hard disk. While the basic structure of /etc /dev /usr /root /mnt etc. is the same for all variants, I would say it ends there. For example, one flavor could keep its library files in /lib, others could keep it in /usr/lib, and others may still keep it in /usr/local/lib. The same goes for binary files, is it in /bin, /usr/bin, or /usr/local/bin? Are scripts in /etc/init.d or /etc/rc.d? /opt/ or /usr/share/?

    Although this issue seems fairly minor and trivial, in my experience, it can get quite annoying when the need to deal with a file comes up.

    So for memory management, I would give 1 point to the say that different flavors are different operating systems.

    3. Device Manager
    Again, although for the most part, all Linux flavors share the same device management there are very contrasting differences. For example, while I would say most flavors are using Alsa, are they implementing KDE’s artsd, or how about the Jack project? These difference change very much how the user and other parts of the operating system deal with the sound architecture. The same goes for device files. Is it /dev/sda1 or /dev/hda1? /dev/media (as in Ubuntu) or /dev/mnt?

    For this area of an operating system, I would tend to say there are more different that similar. This may sound drastic, but differences stand out much more in our context. To be fair for this area, I will stay neutral.

    4. File Manager
    Whether you are using Ext2, Ext3, or Reiser file system, for all Linux flavors, the file manager is identical. Unlike Windows, you can mount all of these file systems and use them with all the standard features and structure, such as permissions, linking, etc.

    So 1 point for being similar.

    5. User Command interface
    This area probably differentiates different flavors the most. While the CLI and X Server is standardized, it really stops there.

    One flavor relies more on CLI while others use the GUIs. And the ones who use GUIs, is it Gnome, KDE, or XFCE?

    This area stands out the most as being different between the many flavors of Linux. Hence, one point goes to the side that says they should be considered two different operating systems (because this is such a crucial area that deals both with other areas of the operating system and the end-user, I should probably give two points to whoever wins this area, but I’ll stay fair).

    The standing is:
    1. Process Manager. Same: 1 Different: 0
    2. Memory Manager. Same: 0 Different: 1
    3. Device Manager. Same: 0 Different: 0
    4. File Manager. Same 1 Different: 0
    5. User Interface. Same 0 Different 1.

    Final Score: Same: 2 Different: 2

    So being different for at least 2 of the 5 areas of an operating system, which constitutes for 40 percent, I would fully agree with the author of this article that different flavors should definitely be considered distinct operating systems.

    Comparing this to a look at Windows XP versus Vista, I would say that the major difference is just the user interface, so it would be only 1 out of 5 difference between XP and Vista.

Leave a comment