LinuxQuestions.org
Visit Jeremy's Blog.
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-19-2011, 04:37 PM   #31
DJ Shaji
Member
 
Registered: Dec 2004
Location: Yo Momma's house
Distribution: Fedora Rawhide, ArchLinux
Posts: 517
Blog Entries: 15

Rep: Reputation: 106Reputation: 106
Lightbulb


Quote:
Originally Posted by jens View Post
Pure tech, any monolithic kernel can work as a (utterly useless) OS.
A monolithic kernel sure can work as fully functional OS. Think of it as a static binary, but only built into the kernel. It would be very dangerous to use kernel space for user stuff, but it can definitely be done. What you will get is a fully functional system into a single package - the kernel. Just how functional it is depends on how much you make it
 
Old 02-20-2011, 01:17 AM   #32
slackist
Member
 
Registered: Feb 2004
Location: Phuket
Distribution: Slackware 14.2 and Slackware Arm
Posts: 479

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

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.
I wasn't exactly coming from the position that an OS must have user interaction, although perhaps in our traffic light example the timer could be considered a user as it is interacting with the hardware via the kernel?

Your examples and the other ones given in the thread are quite illuminating, it all seems to depend on the POV.

Perhaps from the traffic light's POV its OS is the timer and the kernel, from the timer's POV its OS is the kernel.

The idea of having the timer added as a part of the kernel is interesting, but it kind of sidesteps the question imh(umble)o. In that case one starts with the premise that a kernel is an OS and if anything else is needed to make the machine operate (thereby contradicting the original premise) you simply add it into the kernel to avoid having to say there is anything doing the job except the kernel.

*marches stridently into reductio ad absurdum territory* Stretching this further we could add a browser and its supporting stuff to the kernel and then state we were surfing the web without a browser/with only a kernel. Although it would be a royal nuisance having to recompile the kernel every time the No-Script add-on was updated!
 
Old 02-20-2011, 03:19 AM   #33
Dark_Helmet
Senior Member
 
Registered: Jan 2003
Posts: 2,786

Rep: Reputation: 374Reputation: 374Reputation: 374Reputation: 374
Quote:
Originally Posted by slackist
I wasn't exactly coming from the position that an OS must have user interaction, although perhaps in our traffic light example the timer could be considered a user as it is interacting with the hardware via the kernel?
My apologies, but that was the impression I got re: user interaction.

And yes, you could think of the timer as a "user" in a sense. The timer is usually a piece of hardware, but you could conceptualize it as issuing a command to the kernel once it reaches a certain value (as expressed through activating the interrupt). That could raise some definition-challenging issues, such as: if the kernel controls the hardware, how can hardware control the kernel?

And your last thoughts may not be as absurd as you might think If you were so inclined, you could add a web browser to the kernel. I would not want to see that mess of code, but you could! And that leads to the question of how to define "kernel." Others have already posted definitions of "kernel" and "operating system." But I don't think you'll ever encounter a bright line definition that says X software is a kernel and everything else is not. And if you do, I'm sure there would be people that disagree with it. The rule of thumb is that if it's software that handles low-level interaction with the hardware, it's probably kernel-esque.

So, like you said, the concepts are somewhat fluid depending on your POV and the context of the discussion.

Another topic that would probably start up some lively discussion is where should the boundary between the kernel and firmware be drawn?
 
2 members found this post helpful.
Old 02-20-2011, 04:07 AM   #34
jschiwal
LQ Guru
 
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733

Rep: Reputation: 680Reputation: 680Reputation: 680Reputation: 680Reputation: 680Reputation: 680
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.
One the other hand, many of the tools and programs in a Distribution have other licenses. BSD, expat, Nano-XML, fdlibm, SSLeay, Perl. I'd rather say Linux than GNU/BSD/Expat/Nana-XML/SSLeay/Perl/Linux. There is also the problem of GNU not being pronounceable without inserting a phony vowel between the G and N. Just saying Linux rolls of the tongue much easier.
 
Old 02-20-2011, 04:20 AM   #35
brianL
LQ 5k Club
 
Registered: Jan 2006
Location: Oldham, Lancs, England
Distribution: Slackware & Slackware64 14.2 & current
Posts: 7,914
Blog Entries: 59

Rep: Reputation: Disabled
Quote:
Originally Posted by jschiwal View Post
There is also the problem of GNU not being pronounceable without inserting a phony vowel between the G and N. Just saying Linux rolls of the tongue much easier.
Not so much a vowel as a short grunt: G uh NU.
 
Old 02-20-2011, 04:51 AM   #36
DJ Shaji
Member
 
Registered: Dec 2004
Location: Yo Momma's house
Distribution: Fedora Rawhide, ArchLinux
Posts: 517
Blog Entries: 15

Rep: Reputation: 106Reputation: 106
Quote:
Originally Posted by brianL View Post
Not so much a vowel as a short grunt: G uh NU.
That's how my girlfriend says it
 
Old 02-20-2011, 05:39 AM   #37
slackist
Member
 
Registered: Feb 2004
Location: Phuket
Distribution: Slackware 14.2 and Slackware Arm
Posts: 479

Original Poster
Rep: Reputation: 44
Quote:
Originally Posted by Dark_Helmet View Post
My apologies, but that was the impression I got re: user interaction.
No apologies are necessary or warranted, your thoughts on this topic are interesting and a very refreshing change from the flames that I received for even breaching the topic elsewhere.


Quote:
And that leads to the question of how to define "kernel." Others have already posted definitions of "kernel" and "operating system." But I don't think you'll ever encounter a bright line definition that says X software is a kernel and everything else is not. And if you do, I'm sure there would be people that disagree with it.
I agree after reading this thread, it seems to be a bit of a 'down the rabbit-hole' argument that can be dismantled to death, many different definitions of terms.

Quote:
The rule of thumb is that if it's software that handles low-level interaction with the hardware, it's probably kernel-esque.
"kernel-esque"??!? Brilliant! I am going with that term from now on!

Quote:
Another topic that would probably start up some lively discussion is where should the boundary between the kernel and firmware be drawn?
I'm going to shy away from controversial topics for a while, but I'll bear that topic in mind for future reference.. (elsewhere, of course)
 
Old 02-20-2011, 07:25 PM   #38
theKbStockpiler
Member
 
Registered: Sep 2009
Location: Central New York
Distribution: RPM Distros,Mostly Mandrake Forks;Drake Tools/Utilities all the way!GO MAGEIA!!!
Posts: 968

Rep: Reputation: 53
Defintion that is good enough for 99% of cases.

Linux is a collection of drivers referred to as the "kernel". The kernel is the nearest code to the hardware so it is seen as being remote to a user I guess and therefore is represented by its most remote part.
Drivers are code that an application uses to manipulate hardware.

An O.S is a suite of Applications that are reliant on each other that create and environment so a particular application (Firefox , Abiword etc can interact with a human through hardware, (keyboard and monitor) etc.
GPL is the Opensource software that uses these drivers.


Together they are a complete O.S that is correctly referred to as GPL/Linux.

"Linux" will not function without these Opensource applications. X ,KDE, Gnome etc.


Last edited by theKbStockpiler; 02-20-2011 at 07:35 PM. Reason: can't rember that I can't spell.
 
Old 02-20-2011, 07:38 PM   #39
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 722Reputation: 722Reputation: 722Reputation: 722Reputation: 722Reputation: 722Reputation: 722
Quote:
Originally Posted by theKbStockpiler View Post
"Linux" will not function without these Opensource applications. X ,KDE, Gnome etc.
According to some previous posts, it will.
 
Old 02-20-2011, 08:51 PM   #40
theKbStockpiler
Member
 
Registered: Sep 2009
Location: Central New York
Distribution: RPM Distros,Mostly Mandrake Forks;Drake Tools/Utilities all the way!GO MAGEIA!!!
Posts: 968

Rep: Reputation: 53
Chicken and Egg evolved at the same time into a reproductive process.

An Application could run without technically having drivers but the Application would have to have the driver code built into is so it would be less portable. The O.S is also designed so many applications or people can share the same hardware. If you are not running multiple Applications there is not as much dire need for a O.S but an Application would have the drivers as part of it's native code so drivers are more inseparable to the O.S than the individual Applications. Drivers are sort of like system calls. They just delegate duties.


Serendipity to All!
 
Old 02-20-2011, 08:59 PM   #41
justboo2u
Member
 
Registered: Feb 2011
Distribution: Ubuntu, Debian(ARM),XP,W7,CP/M
Posts: 126

Rep: Reputation: 20
Dont have the page to prove it...
but...

Debian claims it is a kernel...

**ducks for cover**

 
Old 02-20-2011, 09:01 PM   #42
justboo2u
Member
 
Registered: Feb 2011
Distribution: Ubuntu, Debian(ARM),XP,W7,CP/M
Posts: 126

Rep: Reputation: 20
Quote:
Originally Posted by MTK358 View Post
According to some previous posts, it will.
You hafta forgive him...

He grew up AFTER the 'command line'.
 
Old 02-21-2011, 01:13 AM   #43
MrCode
Member
 
Registered: Aug 2009
Location: Oregon, USA
Distribution: Arch
Posts: 864
Blog Entries: 31

Rep: Reputation: 148Reputation: 148
Sorry if it seems like I'm butting in at the wrong time, but here's the way I see it:

The "kernel" is what provides the dirt-basic system functionality: scheduling, I/O, system calls, etc. User-space applications make use of these functions (actively, as in making system calls, or inactively, as in process scheduling), but aren't a part of this core functionality.

IMO it really depends on how you define "operation" of a system. As has been stated before in this thread, "operation" from a computer's perspective means handling hardware resources, scheduling processes to run (and determining how much CPU time each one gets), etc. Using that definition, the kernel could be seen alone as the "operating system".

Now, if you define "operation" from a user's perspective, then you'd need to include the whole userland as well, since that is what the user needs to "operate" the computer to accomplish whatever goal(s) they may want/need to.

Jut my on this topic.

Last edited by MrCode; 02-21-2011 at 01:15 AM.
 
Old 02-21-2011, 05:13 AM   #44
jschiwal
LQ Guru
 
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733

Rep: Reputation: 680Reputation: 680Reputation: 680Reputation: 680Reputation: 680Reputation: 680
Quote:
Originally Posted by brianL View Post
Not so much a vowel as a short grunt: G uh NU.
uh is the "u" vowel sound. I'll also hear GehNU, GohNU and rarely GahNU.
It doesn't bother me like hearing "GeeNOME instead of "NOME".

Last edited by jschiwal; 02-21-2011 at 05:17 AM.
 
Old 02-21-2011, 07:09 AM   #45
DJ Shaji
Member
 
Registered: Dec 2004
Location: Yo Momma's house
Distribution: Fedora Rawhide, ArchLinux
Posts: 517
Blog Entries: 15

Rep: Reputation: 106Reputation: 106
Quote:
"Linux" will not function without these OpenSource Applications
If you take a look at the kernel source code, the final step in kernel bootup is (something similar to)
[code]run_init ("/sbin/init")[/quote]

Now, clearly, this is the kernel running a command in userspace. See my point? The kernel [bcan[/b] operate userspace applications on its own. It would be very easy to implement low level GDI into the kernel (and hence GNOME or KDE), but it has not been done by choice, for reasons discussed elsewhere. Due to the unfortunate "aim towards POSIX compliance" there are just certain things we don't do. Though I support abstracting the GUI from the kernel.

Bottomline, we could have built KDE (obviously not KDE, you know I mean) into the kernel, but we chose not to.
 
  


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 06:23 AM
two kernel in one operating system kaushalsingh Linux - Newbie 9 12-06-2009 03:35 PM
'Operating system not found' Any operating system installed wont work. TechniSlave Linux - Newbie 55 02-09-2009 11:02 AM
Why Linux is best Operating System for Learning/Doing System Programming ? ubaid_t General 6 03-21-2004 02:10 PM

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

All times are GMT -5. The time now is 04:31 AM.

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
Open Source Consulting | Domain Registration