Linux - GeneralThis 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
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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".
DDX (the X driver) runs in user space and has hardware acces (even without the DRM module).
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")
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.
Indeed, you could. But as you already mentioned, we don't.
At this point we're stll relying on the X server (allowing you to add devices outside the kernel in user-space).
EDIT: How would you define the kernel in a micro design? You could turn a full GNU/Hurd system in one monolithic binary as well.
Last edited by jens; 02-21-2011 at 09:07 AM.
Reason: replaced your quote with a code tag
Actually, GTK+ now runs natively on the linux framebuffer, and we have other libraries like DirectFB which also run on the framebuffer. Even X itself has a framebuffer driver! My point is, it is still possible to implement an entire "operating system" into one huge linux kernel and not rely on any GNU or other tools. We could have a GUI as soon as the system starts up, and there would be a native toolkit for userspace applications. We could put it in today. But this abstraction gives us more flexibility and more freedom to implement userspace applications as we see fit.
As for the question that why hasn't this been implemented yet, is that Linux strives to be POSIX compliant. There is no mention of native applications running directly from the kernel.
I'm on a mobile device, and so my attempts at putting in tags and stuff would have some defects
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.
I'm from the dutch speaking part of belgium.
Just like most (dutch-speaking) people from my age, I consider Andrew Tanenbaum (micro design) and his excellent minix book as my background (my English was even worse at that time).
In short:
No, I don't think an OS must include some element of user interaction.
Yes, I do think it can.
In short:
No, I don't think an OS must include some element of user interaction.
Yes, I do think it can.
You have my apologies as well then. When I read your response, it was difficult to draw concrete conclusions on your opinion because you were framing the discussion based on what you interpreted slackist was talking about. I was hedging my bets with the "more or less."
And lastly, I don't want to leave anyone with the impression that I'm saying people who believe an OS requires user interaction are "wrong." That's not the case at all. I simply choose a different direction.
I'm from the dutch speaking part of belgium.
Just like most (dutch-speaking) people from my age, I consider Andrew Tanenbaum (micro design) and his excellent minix book as my background (my English was even worse at that time).
<snip>
Still a good book. I've got my original desk copy and still reference at times.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.