LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 02-18-2011, 08:23 AM   #16
Dark_Helmet
Senior Member
 
Registered: Jan 2003
Posts: 2,786

Rep: Reputation: 373Reputation: 373Reputation: 373Reputation: 373

Quote:
Originally Posted by slackist
If one wants to designate Linux as an operating system then surely it should be able to make a computer, well, operate.
Let me try and come at this from a different angle for you. I'm willing to bet you have a router sitting somewhere nearby, or at the least, you know what a router is and what it does.

So, let me ask this: does the router "operate?" Does it do something useful for the end user? Could you plug devices into a router and get a useful benefit without issuing any commands to the router? Unless you have very different routers than me in your household, your answer to all those questions should be "yes."

Now, you may want to say that you need to go through a web interface to customize settings. But don't confuse that with issuing commands to the router. Customizing settings is much more akin to changing a configuration file than issuing commands. I could add more to why the web interface is not issuing commands, but I don't want to get off track.

So, would you feel uncomfortable saying that a router has an "operating system?" There is a chunk of code that tells the router what to do, when to do it, and how to do it. If you are uncomfortable calling it an "operating system," then what would you call it?

The point is, as macemoneta has been saying, that the meaning of "operating system" depends on your perspective. Your perspective is bundled together with the concept of an user-interactive appliance/device. User interaction is not a prerequisite of an operating system. For embedded devices (e.g. routers, traffic lights, battery rechargers, etc.), a kernel is all that is necessary to qualify as an "operating system."
 
Old 02-18-2011, 08:25 AM   #17
slackist
Member
 
Registered: Feb 2004
Location: Phuket
Distribution: Slackware 14.1 and Slackware Arm
Posts: 478

Original Poster
Rep: Reputation: 41
Quote:
Originally Posted by XavierP View Post
The way it was explained to me, years ago, is this: Linux is the kernel. Gnu/Linux is the OS (that is, kernel plus tools). The tools don't run without a kernel and the kernel needs the tools.

A distro is simply Gnu/Linux (or Gnu/Hurd) packaged and made pretty.
That is the way I always understood it too.

The people at Debian's website seem to describe it that way also:

Quote:
Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.
It's a pointless argument, but I was nevertheless interested to get LQ's take on it. Thanks people.
 
Old 02-18-2011, 08:35 AM   #18
slackist
Member
 
Registered: Feb 2004
Location: Phuket
Distribution: Slackware 14.1 and Slackware Arm
Posts: 478

Original Poster
Rep: Reputation: 41
Quote:
Originally Posted by Dark_Helmet View Post

The point is, as macemoneta has been saying, that the meaning of "operating system" depends on your perspective. Your perspective is bundled together with the concept of an user-interactive appliance/device. User interaction is not a prerequisite of an operating system. For embedded devices (e.g. routers, traffic lights, battery rechargers, etc.), a kernel is all that is necessary to qualify as an "operating system."
OK, great answer, but how would one interact with the traffic light in your example, or how would the lights interact with the kernel for that matter?

Surely (and I'm not calling anybody Shirly ) there must be some intervening layer that interprets the lights and sends signals to the kernel to react upon?
 
Old 02-18-2011, 08:45 AM   #19
macemoneta
Senior Member
 
Registered: Jan 2005
Location: Manalapan, NJ
Distribution: Fedora x86 and x86_64, Debian PPC and ARM, Android
Posts: 4,593
Blog Entries: 2

Rep: Reputation: 332Reputation: 332Reputation: 332Reputation: 332
Quote:
Originally Posted by slackist View Post
OK, great answer, but how would one interact with the traffic light in your example, or how would the lights interact with the kernel for that matter?

Surely (and I'm not calling anybody Shirly ) there must be some intervening layer that interprets the lights and sends signals to the kernel to react upon?
Not required at all. Linux (the kernel) is modular and extensible. When used in an embedded application (such as a traffic light), a kernel module can be created which initializes the needed functions on load (scheduling timers, performing I/O to physical pins, etc.). The traffic application would then be part of the kernel, and it would always have an (internal) workload. This type of functionality isn't hard to implement, but most shy away because of the GPL requirement to open source kernel code. By placing the same code in an application, the GPL issue is avoided.
 
1 members found this post helpful.
Old 02-18-2011, 09:26 AM   #20
hughetorrance
Member
 
Registered: Aug 2009
Location: London North West
Distribution: x86_64 Slack 13.37 current : +others
Posts: 459

Rep: Reputation: 59
More likely that its not EPROM (erasable programable read only memory and its EEPROM (electricaly erasable programable read only memory.) LOL

ps if it was EPROM then you would have to remove the sticker and apply ultra violet light to erase it.
 
Old 02-18-2011, 09:28 AM   #21
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,898
Blog Entries: 27

Rep: Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185
Hi,

Look at;
Quote:
Definition of: kernel

The nucleus of an operating system. It is the closest part to the machine level and may activate the hardware directly or interface to another software layer that drives the hardware. The kernel orchestrates the entire operation of the computer by slicing time for each system function and each application as well as managing all the computer's resources. It typically resides in memory at all times. See microkernel, monolithic kernel, kernel space and kernel panic
Simple but a fair definition.

For wiki fans, excerpt from Linux kernel:
Quote:
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems.[6] It is one of the most prominent examples of free and open source software.[7]
Excerpt from Linux ;
Quote:
Nonproprietary operating system (OS) for digital computers. In 1991 Linus Torvalds of Finland began asking for volunteer programmers over the Internet to collaborate on the development of a UNIX-like OS for personal computers; the "1.0" release of Linux was in 1994. A true multiuser, multitasking system, Linux contained features (e.g., virtual memory, shared libraries, memory management, and TCP/IP networking) formerly only found on mainframe computers. With its source code freely available, thousands of volunteers, as well as several companies that sell prepackaged Linux products, have contributed to the OS. A reliable, fast-performing system with good security features, Linux is popular for corporate computer network and Web servers.
Notice the differences in the above three definitions for 'Linux'. Audience! Simple one liner for concept of kernel: 'the core of an operating system - must exist or os goes nowhere'.

So for a CS major to define 'Linux' as being a OS or not then one must first define the operations to be performed and how. Then the problem can be addressed via the kernel and application.
 
Old 02-18-2011, 09:35 AM   #22
macemoneta
Senior Member
 
Registered: Jan 2005
Location: Manalapan, NJ
Distribution: Fedora x86 and x86_64, Debian PPC and ARM, Android
Posts: 4,593
Blog Entries: 2

Rep: Reputation: 332Reputation: 332Reputation: 332Reputation: 332
Quote:
Originally Posted by hughetorrance View Post
More likely that its not EPROM (erasable programable read only memory and its EEPROM (electricaly erasable programable read only memory.) LOL

ps if it was EPROM then you would have to remove the sticker and apply ultra violet light to erase it.
You don't have an EPROM burner? Huh.
 
Old 02-18-2011, 09:38 AM   #23
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,898
Blog Entries: 27

Rep: Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185Reputation: 2185
Hi,

Quote:
Originally Posted by macemoneta View Post
You don't have an EPROM burner? Huh.
Cannot find the eraser lamp either! Sun would take too long!
 
Old 02-18-2011, 10:24 AM   #24
XavierP
Moderator
 
Registered: Nov 2002
Location: Kent, England
Distribution: Debian Testing
Posts: 19,192
Blog Entries: 4

Rep: Reputation: 472Reputation: 472Reputation: 472Reputation: 472Reputation: 472
Quote:
Originally Posted by macemoneta View Post
The problem with that set of definitions is Android. It's certainly a pretty packaged version of Linux, but it doesn't use the GNU tools. So the kernel is Linux, there's no OS, and it's not a distribution.
Clearly, Android is ... Android. It uses a modified Linux kernel, but as the OS does not market itself a Linux variant, beyond putting the kernel in the credits they don't have to call it a Linux variant at all.

Quote:
via Wikipedia
Android's kernel was derived from Linux but has been tweaked by Google outside the main Linux kernel tree.[130] Android does not have a native X Window System nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing GNU/Linux applications or libraries to Android.[131] However, support for the X Window System is possible.[132] Google no longer maintains the code they previously contributed to the Linux kernel as part of their Android effort, creating a separate version or fork of Linux.[133][134] This was due to a disagreement about new features Google felt were necessary (some related to security of mobile applications).[135] The code which is no longer maintained was deleted in January 2010 from the Linux codebase.[136]

<snip>

Furthermore, Greg Kroah-Hartman, the current Linux kernel maintainer for the -stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux[139] Some Google Android developers hinted that "the Android team were getting fed up with the process", because they were a small team and had more urgent work to do on Android.[140]
 
Old 02-18-2011, 11:33 AM   #25
z1p
Member
 
Registered: Jan 2011
Location: the right coast of the US
Distribution: Ubuntu 10.04
Posts: 80

Rep: Reputation: 23
To add more excerpts to the mess... err... I mean discussion.

Quote:
http://searchenterpriselinux.techtar...inition/kernel

The kernel is the essential center of a computer operating system, the core that provides basic services for all other parts of the operating system. A synonym is nucleus. A kernel can be contrasted with a shell, the outermost part of an operating system that interacts with user commands. Kernel and shell are terms used more frequently in Unix operating systems than in IBM mainframe or Microsoft Windows systems.

...

Some kernels have been developed independently for use in any operating system that wants to use it. A well-known example is the Mach kernel, developed at Carnegie-Mellon University, and currently used in a version of the Linux operating system for Apple's PowerMac computers.


I believe the answer is both.

Linux is an OS (or at least a class of related OSs), but it is also the name applied to the kernel commonly used in Linux.
 
Old 02-18-2011, 03:36 PM   #26
DJ Shaji
Member
 
Registered: Dec 2004
Location: Yo Momma's house
Distribution: Fedora Rawhide, ArchLinux
Posts: 517
Blog Entries: 15

Rep: Reputation: 106Reputation: 106
Actually, linux can operate on its own. say we have a shell sh. We put it in initrd and boot the kernel with the argument init=/bin/sh. This way you'll get a working shell with no GNU stuff.

In my opinion, a monolithic kernel is an operating system, while a microkernel is not. You can use the kernel with busybox, or with X11 and not need the GNU stuff at all. In fact most users don't use the GNU stuff directly as much as they used to. Modern utilities have overtaken the original tools in terms of ease of use and features. Today, we don't mount. We let the HAL daemon pass the information to d-bus and mount it via GNOME-VFS.
 
Old 02-19-2011, 08:37 AM   #27
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 721Reputation: 721Reputation: 721Reputation: 721Reputation: 721Reputation: 721Reputation: 721
Quote:
Originally Posted by macemoneta View Post
The problem with that set of definitions is Android. It's certainly a pretty packaged version of Linux, but it doesn't use the GNU tools. So the kernel is Linux, there's no OS, and it's not a distribution.
There is an OS.

Just becasue it doesn't use the GNU userland doesn't mean it couldn't use a different one. In this case, one custom made for Android.
 
Old 02-19-2011, 10:13 AM   #28
jlreich
LQ Newbie
 
Registered: Jan 2004
Location: Ohio
Distribution: Ultimate Edition 2.7 64bit
Posts: 17

Rep: Reputation: 1
The way I have always thought of it is the kernel is the OS. Applications add functionality for the user.

Just because it isn't attached to anything doesn't mean an engine ceases to be an engine. It may be it is of no use to someone that wants to drive a car, but it is still an engine. Plug in an ignition system, throw it in a frame with some wheels and a steering system (applications) and you have a basic vehicle (distribution).

Add in all the extras and call it the Ubuntu or Slack car, or windows, or Mac.
 
Old 02-19-2011, 02:46 PM   #29
jens
Senior Member
 
Registered: May 2004
Location: Belgium
Distribution: Debian, Slackware, Fedora
Posts: 1,405

Rep: Reputation: 244Reputation: 244Reputation: 244
Quote:
Originally Posted by macemoneta View Post
And, by computer science definition, the kernel is the operating system. An operating system is defined as the software which performs resource management, scheduling and I/O. That's the kernel.
Your definition is horribly dated and proven to be wrong.
Are you honestly claiming that a monolithic kernel can't add anything in user-pace?

Pure tech, any monolithic kernel can work as a (utterly useless) OS.
In a modern (GNU/)Linux distribution, Linux is indeed the kernel but not the full OS (not even in your definition).

How is this relevant anyway?
The OP is clearly using a gnu-linux system and not some alternative.

Last edited by jens; 02-19-2011 at 03:04 PM.
 
Old 02-19-2011, 05:26 PM   #30
Dark_Helmet
Senior Member
 
Registered: Jan 2003
Posts: 2,786

Rep: Reputation: 373Reputation: 373Reputation: 373Reputation: 373
Quote:
Originally Posted by slackist
OK, great answer, but how would one interact with the traffic light in your example, or how would the lights interact with the kernel for that matter?

Surely (and I'm not calling anybody Shirly ) there must be some intervening layer that interprets the lights and sends signals to the kernel to react upon?
A user (meaning a living, breathing person) would not interact with the traffic light aside from observing its state (i.e. red, green, yellow). The lights wouldn't interact with the kernel either--they are passive. So that begs the question: what would interact with the kernel? In the simplest example: a timer.

At my first job, we were working with PowerPC processors. The PowerPC had some interrupt pins. When a signal to any of those pins was activated, the processor would stop what it was doing (as quickly as possible) and "service the interrupt." I imagine virtually every processor out there has at least one such interrupt pin.

So, to tie this back to the traffic light, you have a timer of some sort (crystal oscillation, radio receiving NIST timing signals, a simple counter, whatever). When the timer reaches a certain value, the interrupt pin is activated*. The kernel is responsible for identifying what caused the interrupt and switching control to the appropriate driver to service the interrupt. In this case, identifying what caused the interrupt is easy: the timer--only one component is capable of causing the interrupt. Servicing the interrupt may be as simple as writing values to two locations in memory: (1) to change the state (i.e. which color is currently lit) and (2) to disable/clear the interrupt until the next timer event.

* - Both of these activities (i.e. comparing the timer against a certain value and activating the interrupt) can be implemented directly in hardware--no software necessary.

All of the above creates a traffic light that displays each color for a fixed amount of time. It could be refined to change how long each light is displayed, to change the display time of each color depending on the time of day, to respond to pressure sensors buried beneath the roadway, etc. Where to implement the added capability--in hardware or software--is a design decision, but some things (such as the pressure sensors--an external source of information) must include some some hardware-level changes at a minimum.

So, I think that answers your last two questions at the same time: that the lights don't interact with the kernel, but a timer does, and the interaction doesn't require any intermediate software at all--just straight hardware signals.

Quote:
Surely (and I'm not calling anybody Shirly )
Then you must be calling all of us "nobodies!" or you think you're talking to yourself.


Lastly, if I may be so presumptuous, the reason your question has caused so much back and forth is because defining "Linux" as a kernel or an operating system depends on your definition of "kernel" and "operating system." And has been shown in this thread, "operating system" is open to some interpretation. As I stated in my first response, I think you were coming at the question from a background that an operating system must include some element of user interaction. And I think jens falls in that camp more or less.

The purpose of my traffic light example was to illustrate a situation that doesn't have user interaction, but would also fit your concept of a device with an operating system. A diagram of which, in ASCII art, might be represented as:
Code:
                |---- User Interaction (X) ----|

+---------------+------------------------------+
|   Kernel (K)  |          User space          |
+---------------+------------------------------+

|---------- Operating System (K + X) ----------|
Where, depending on the role of the device, X > 0 (desktop computer, smartphone) or X = 0 (traffic light). So, again depending on the role of the device, this implies that an operating system can include the kernel and "user space" tools, or an operating system can be limited to the kernel alone (in which case the two terms would be synonymous/reflexive).

Last edited by Dark_Helmet; 02-19-2011 at 05:32 PM.
 
1 members found this post helpful.
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Tracing Intruders connecting to our system in Redhat Linux operating system vkunasani Linux - Software 4 02-15-2010 07:23 AM
two kernel in one operating system kaushalsingh Linux - Newbie 9 12-06-2009 04:35 PM
'Operating system not found' Any operating system installed wont work. TechniSlave Linux - Newbie 55 02-09-2009 12:02 PM
Why Linux is best Operating System for Learning/Doing System Programming ? ubaid_t General 6 03-21-2004 03:10 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 01:09 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration