Thread: Linux for GNU/Linux is not correct?

  1. #1
    Registered User
    Join Date
    Mar 2009
    Posts
    48

    Linux for GNU/Linux is not correct?

    Hi
    I've been reading <advanced programming in the UNIX environment> 2nd edition and had a problem of understanding the following words:
    Code:
    For example, Linux is the kernel used by the GNU operating system. Some people refer to
     this as the GNU/Linux operating system, but it is more commonly referred to as simply 
    Linux. Although this usage may not be correct in a strict sense, it is understandable, 
    given the dual meaning of the phrase operating system. (It also has the advantage of 
    being more succinct.)
    I just don't understand why calling 'Linux' for the GNU/Linux operating system is not correct. This section also told me at the very beginning:
    Code:
    In a strict sense, an operating system can be defined as the software that controls the 
    hardware resources of the computer and provides an environment under which programs 
    can run. Generally, we call this software the kernel
    That is to say, in a strict sense an operating system is the kernel. So if Linux is the kernel used by the GNU operating system, why simply 'Linux' is not correct in a strict sense?

    Thanks in advance!

  2. #2
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Maybe the two "strict sense"s are not the same "strict sense".

  3. #3
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    I think Cyberfish is right:
    There is the kernel - which is the "proper operating system". But just like the engine in a car, it doesn't do that much good on it's own. In the car case, you also need a gearbox, a chassis, three or four wheels, several body panels, at least one door, some seats, and many other things to make a usable vehicle. A Linux Distribution (which is how I would call the DVD or downloadable package) is a "car". The kernel is the engine. That is about 1-3MB of binary code. The rest of the DVD content (or downloaded content) is the body panels, gearbox, etc, etc, to make something that is usable.

    Just like the "Windows Operating System" consists of a kernel (which is a few megabytes), and a lot of drivers, applications and services. These all work together. The ACTUAL OS is small, but the whole system is large.

    Most of the "OS" that is disitributed to a user is not the kernel - it is stuff that tell the kernel to perform some task, such as read a command from a shell-prompt and execute that command, or a Web-servier that receives requests for pages, and send back the HTML code to display something in your web-browser. Very little of what a web-server does is happening in the kernel - a little bit happens there: the kernel reads the HTML or PHP content from the filesystem, and sends small portions out on the network port. But a large portion is the web-server doing whatever it has to do (asking to read a file, interpreting PHP code, looping around asking to send a small chunk of HTML out on the network until all the content has been sent).

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  4. #4
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    And activists such as Richard Stallman want you to call it GNU/Linux. As it gives the proper credit. Which is well justified, but RMS is a fat troll, so that's one reason NOT to call it GNU/Linux.

  5. #5
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Considering that the Linux kernel would have very little additional functionality if you remove code produced by GNU, I would tend to agree with Mr Stallman. He is certainly a character ... Troll, I'm not so sure.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  6. #6
    Registered User
    Join Date
    Mar 2009
    Posts
    48
    "the engine in a car", pretty explanation. According to the context, I think cyberfish is rigt. Thank matsp and zacs7, making me more clearer conceptually.

  7. #7
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by password636 View Post
    That is to say, in a strict sense an operating system is the kernel. So if Linux is the kernel used by the GNU operating system, why simply 'Linux' is not correct in a strict sense?

    Thanks in advance!
    Imagine you had a system with a Linux kernel and nothing else. Not much of an "operating system" is it?

    That said, I think the debate is kind of silly. GNU Hurd is still nowhere near completion and probably will never reach that point. Without the Linux kernel, the GNU suite would not really be of much use. GNU needs Linux as much as Linux needs GNU. GNU/Linux is certainly a proper thing to call it. The problem is... I don't really care.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  8. #8
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by zacs7 View Post
    And activists such as Richard Stallman want you to call it GNU/Linux. As it gives the proper credit. Which is well justified, but RMS is a fat troll, so that's one reason NOT to call it GNU/Linux.
    RMS is an ideological maniac with not a single whit of pragmatism in his soul...

    He's also a genius and a major contributor. I can't bring myself to disrespect the author of Emacs, a tool I rely on every day.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  9. #9
    apprentiCe
    Join Date
    Oct 2008
    Location
    Hyderabad,India
    Posts
    136
    Code:
    printf("%c%c%c%c%c%c%c",0x68,0x68^0xd,0x68|0x4,0x68|0x4,0x68|0xf,0x68^0x49,0x68^0x62);

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Random number + guessing game trouble
    By Ravens'sWrath in forum C Programming
    Replies: 16
    Last Post: 05-08-2007, 03:33 AM
  2. Some common Linux Questions???
    By code2d in forum Tech Board
    Replies: 4
    Last Post: 12-28-2006, 02:17 AM
  3. Is Linux Really A Programmers OS?
    By SourceCode in forum A Brief History of Cprogramming.com
    Replies: 43
    Last Post: 04-07-2003, 09:24 PM
  4. linux vs linux?
    By Dreamerv3 in forum Linux Programming
    Replies: 5
    Last Post: 01-22-2002, 09:39 AM
  5. Linux X server installation
    By Unregistered in forum Linux Programming
    Replies: 3
    Last Post: 01-18-2002, 02:18 AM