Slashdot Mirror


GNOME ORBit Ported To Linux Kernel

Lennie writes: "Some crazy people did this for fun; let's hope it stays that way. There is enough kernelbloat already (or have you been able to compile a 2.4 kernel as zImage?). Nonetheless, lots of fun I'm sure." Of all the ridiculous things, this has got to be at least three of them. Actually the worst part is that I kinda could see this as being useful. I think I'm broken.

184 comments

  1. Maybe I read a different article... by Queuetue · · Score: 3

    This isn't an attempt to get orbit running faster by moving it into kernel space. This is a functionality hack - orbit won't run in kernel space, the kernel API will be made available to corba clients.

    I'm not sure if I like it or not - the functionality is cool, but the possibility of destabilization is pretty high, and there are lots of security issues.

  2. Re:now you can by boarderboy · · Score: 1

    You don't have a clue what you are talking about. This would make the servers even more slow than they already are when running in user space. The whole point of khttpd is to deliver static pages(usually cached) without context switches. This can be done in very little time and makes static serving much faster. Tux goes above and beyond this by allowing dynamic content to be generated by using cache objects(or something like that).

    Just because something runs in kernel space does not make it faster, it just means less latency between interrupt and application response. This is why microkernel design kinda sucks, if your NIC driver is in user space, then when an interrupt happens, the kernel has to switch to user space then back to kernel space and this is why performace is very bad.

    Having GUI functionality in the kernel will not make the GUI any faster, it will just bloat(bloat==unneeded shit) the kernel and lead to frequent crashes. I do think that graphic card drivers should reside in kernel space though, that way they can handle dma/agp/interrupts without having a seperate kernel module and they don't have to worry about using a lock to make sure that only one application will use the graphics hardware at a time. I think that only the bare minimun functionabliliy to exploit the hardware is necessary though.

    Matt Newell

  3. Re:This is kinda cool... by baka_boy · · Score: 2
    Actually, embedding a JVM (or at least major chunks of it) in the kernel would be a great idea -- you'd have the whole Java security model to insulate you from sketchy code, and Java apps could get near-native performance quite easily. Of course, in 95% or cases you'd probably only want to compile it as a module, but either one would be an amazing step for cinching Linux's dominance in the entry to mid-level server market.

    Screw CORBA -- give me Java, and I can have RMI-IIOP, SOAP, etc., and much better security, portability, etc. And, it'd be something that no other OS out there has right now -- not Solaris, or the IBM *NIXes, or True64, or Win2k...actually, MacOS-X might have it; I'm not really familiar enough with its kernel architecture to be able to say how deep the Java integration goes.

  4. Re:it's about time... by boarderboy · · Score: 1

    I am beginning to hate technical discussions on slashdot because people read a few comments here and there and think that they actually know something.
    Mach-like kernels attempt to address this problem by dividing the kernel into "servers".
    I love the idea of a microkernel, but it is innefficient by nature and this has been proven time and time again.
    Other kernels address it by using languages that have better support for modularization (SML, Java, etc.)
    Modularization can be done very efficiently and fairly easily in plain C. I think that C++ could be used in the kernel, but misuse of it's features would lead to disaster.
    Matt Newell

  5. It's called optimisation by acb · · Score: 2

    An ORB should be part of the kernel; HTTP should not. HTTP support should be implemented as an object that is installed, as needed; the kernel should not need to be recompiled to change its functionality.

    Should NFS run entirely in user space as well?

    In an ideal world, the pure Platonic form of the ideal kernel would not have HTTP. However, in the real world, where mundane things such as performance intrude, there are often good reasons for such compromises. A user-space HTTPD incurs a performance hit as data needs to be copied between kernel space and user space. A kernel-space HTTPD can just send the file buffers out through the network. (Which is why Windows NT is apparently faster than Linux at some web serving tasks.)

    The only places where optimisation does not intrude on elegance are purely academic proof-of-concept projects, which never have to see the real world.

  6. Re:Port what ever you frickin' please by otis+wildflower · · Score: 2
    Here's what you do to get a bootable install on an ATA/66 (HPT366 in my case):
    • Install your favorite distro on the secondary master ATA/33 device (hdc)
    • Install your favorite kernel version with static support for your particular controller
    • I used 'boot from offboard chipset' or whatever option in the kernel IDE config, but that may have not been necessary.
    • put your kernel in the right place and setup lilo to boot it. Keep in mind that once you do the following BIOS steps your system will call your primary ata66 master hdc, which is how you built your system ;)
    • Move your drive over to your primary ATA/(66|100) master
    • Disable your secondary IDE controller in your BIOS
    • configure your 'external' bootable device into your bios boot list and set the external device as the ATA66 (rather than SCSI). YOu can see that I did this on an abit board ;)
    • reboot


    You should then get your lilo prompt and be able to boot directly onto your ATA66 drive. Then go into root and hdparm your system til it bleeds ;)

    btw, my ATA66 hdparm settings for a Maxtor 30GB 7200RPM HDD:

    hdparm -c1 -d1 -W1 -m16 -X68 /dev/hdc

    (somewhat agressive, but it is a toy bp6 w/2x400 oc'd to 533 ;)

    [root@server linux-2.4.0test10]# hdparm -tT /dev/hdc

    /dev/hdc:
    Timing buffer-cache reads: 128 MB in 1.11 seconds =115.32 MB/sec
    Timing buffered disk reads: 64 MB in 2.76 seconds = 23.19 MB/sec


    (btw, the sensors package really rr00xx on the bp6...)

    Your Working Boy,
  7. Re:Kernel "bloat" by alienmole · · Score: 2
    It's scary, Win2K uses more than 15MB of non-pagable kernel memory. That's just wrong.

    Regardless of what Win2K does, I have a problem with this idea of impeding technological progress by placing arbitrary limits on something like kernel size. Why is 15MB bad while some lesser amount is OK? All you're really saying is that from an economic perspective, right now, you consider that OS's should require less RAM for their kernel. Back in 1985, you would have presumably been criticising any OS that took up more than say 100K of memory, and I would have been similarly pointing out the flaw in your thinking.

    Don't fall into the trap of spouting variations on the statement "640K should be enough for anyone!" (alleged Bill Gates quote.)

  8. Re:This is actually pretty cool. by Benley · · Score: 1

    While this may not be exactly what you're looking for, you might try DS3 for modem sharing. Or, something that I suspect is more what you're after is MSREDIR, a serial port redirector that is designed to let multiple people share multiple modems (an implementation of RFC 2217).

    As for sound card sharing, while I haven't looked into this very much, it is probably not difficult to do it using the EsounD daemon. I think I may have tried this before using xmms to play across the network to a remote host. Quite cool if you ask me.

  9. What's your problem? by DrXym · · Score: 1
    I'm not sure I understand why people are so critical of projects like this. It's not like you would be compelled to include this stuff in your kernel, so how does it affect stability?

    On the contrary, you would have to grab the patch (since it's unlikely to be part of the kernel tarball), apply it, find the config option to enable it and rebuild. If you had done all that it is because you want to include it and probably with a very good reason.

  10. Re:But is this really bloat? by Col.+Panic · · Score: 2
    I have yet seen no good remarks why this wouldn't be a Great Way to get the kernel more modular. Someone have an answer?

    Well, at least as it stands ...

    Security is completely unimplemented. Someone could use corba interfaces to read any file on your system, for example (if the CORBA-FileServer module is installed). Thus, this is really more for prototyping and development than actual real world use.

    I don't know how difficult it will be to secure this, but I suspect it will be a daunting task.

  11. Re:why not? by scrytch · · Score: 3

    > The initial reaction here seems to be that this is a bad idea. But what's wrong with bringing a object request broker architecture to an essentially monolithic kernel?

    Nothing, but they didn't bring an architecture to the kernel, they just ported ORBit to it. Grafted it in with duct tape and baling twine, really. I don't even see anything valuable coming out of this as a side effect, such as a generic userland/kernel IPC interface like STREAMS or FreeBSD netgraph, just some libc compatibility macro hacks ... *shudder*

    Oh well, everyone's entitled to their own fun projects.

    --

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  12. More even! by Benley · · Score: 1

    Look, I even found more stuff for you! Check out mdmpoold. From the website:

    mdmpoold simulates the serial port of your linux box as serial port of your windows box over a network. Therefore your windows programs can use all types of serial devices connected to or simulated by your linux-box.

    Nifty!

  13. MOD THIS GUY UP I'M OUT OF POINTS :-) by LennyDotCom · · Score: 1

    Please ;-)

    --
    http://Lenny.com
  14. Re:This is kinda cool... by alienmole · · Score: 2
    I hope you're not suggesting we embed the JRE into the kernel! That would be grotesque, despite the niftiness... No! No niftiness! Don't tempt me! Back!

    Heh!

    But you've got it wrong - don't embed the JRE in the kernel. Rather, build the kernel on top of a VM. Of course, it would have to be a better VM than the JRE, otherwise you'd just end up with JavaOS - it would need better support for low-level operations, and a number of performance issues would have to be addressed - e.g. support for offset-based method dispatch a la C++ vtables, in addition to the more dynamic runtime lookup (for all I know, MS .NET does this - scary thought.)

    When, in a few years time, you're running a 2GHz Crusoe using its native microcode with 1GB of post-Rambus high-bandwidth RAM, hooked to the Internet over gigabit fiber, this won't seem so farfetched.

  15. Tell it ain't so by hph · · Score: 1

    You can now write device drivers in perl.
    Well that sent me screaming and running..

    1. Re:Tell it ain't so by Gerald · · Score: 1

      This isn't the first time this sort of thing has been done. Check out the Perl Filesystem.

    2. Re:Tell it ain't so by shokk · · Score: 1

      Ya! Just because oatmeal can fit into an aqualung doesn't mean you should breathe it.

      --
      "Beware of he who would deny you access to information, for in his heart, he dreams himself your master."
  16. Re:why not? by QuantumG · · Score: 1

    hey! Can you see me through this thing?

    --
    How we know is more important than what we know.
  17. Re:This Is Actually Cool by Peter+Dyck · · Score: 1
    That's the NT way and total madness.

    You saying that "as long as the pieces are stable" is like saying "as long as people won't lie". An admirable goal but it won't happen.

    Kernel should be small, clean and fast. That's the only way to make a stable system. Kernel should be only a very thin abstraction layer over the bare metal. All the rest of the OS (drivers, shells, GUI) should be in the user space.

  18. Re:Kernel "bloat" by booch · · Score: 2

    The theory about what to put into a kernel is "only what is completely necessary, and nothing more". The reason for that is that kernel code runs with special priveleges, and if it gets out of control it can take down your whole system. Therefore we want to put as little in the kernel so that we have less chance of the system crashing. So if something can be done in user-space, that's where it should be done.

    --
    Software sucks. Open Source sucks less.
  19. This could be useful. by psicE · · Score: 1

    You know, if we were all running the GNU Hurd and this was just another server, it would actually be pretty useful. :)

  20. This project is VERY interesting by drnomad · · Score: 1
    Although I have a hunch that this project is still immature, this could open a new era in scalability.
    Suppose system calls get standardized, like 'onclick' in HTML is standardized, it does mean that an Apple can communicate with a PC without much trouble.
    CORBA at kernel/low level means new infrastructure, applications could come, and Linux becomes more scalable than it already is!

    No, I don't think these people are crazy.

    1. Re:This project is VERY interesting by linuxmop · · Score: 1

      Yeah, no one has ever tried to standardize syscalls before! I mean, god! Oh wait, POSIX.

  21. Wrong end of the stick by StrawberryFrog · · Score: 1
    > Besides, not everyone wants to use GNOME... Not to mention, the benefits of including GUI components in the kernel are unproven at best.

    Right, and it's a good thing that this hack doesn't do that in any way, shape or form

    --

    My Karma: ran over your Dogma
    StrawberryFrog

    1. Re:Wrong end of the stick by Shelrem · · Score: 1

      Umm, actually i wasn't commenting on this particular hack. I wouldn't like to see this become an integral part of any normal end-user software (ie GNOME), and i wouldn't like this to be an option regularly compiled into kernels for a couple reasons, but i do think that it might be well used for academic work and testing. All in all, i think it's a clever little hack.

      My objection was to the post i directly replied to. The one stating that more of the GUI should be included in the kernel, and in fact, GNOME-specific parts should be included. I think this would be completely ass-backwards, especially when you see all the other modern OS's heading for Microkernel land where only the MOST basic parts are in the OS. Anyway, i think i summed it all up well previously.

      -benc

  22. huh? by ErikZ · · Score: 1

    What the hell is 'Gnome Orbit'?

    --
    Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
    1. Re:huh? by Ur@eus · · Score: 1

      it is 'GNOME ORBit' :)
      Seriously it is a very hight speed implementation of the OMG CORBA specification, created to give the GNOME project a very fast CORBA implementation. You find more information on the RH Labs homepage.

    2. Re:huh? by chrisvr · · Score: 1

      Spend some time away from AOL for a change :-) OMG (Object Management Group) is the standards body that develops CORBA.

  23. Re:why not? by Fobi · · Score: 1

    so is OmniORB and TAO and Visigenic

  24. The horrible thing is... by Q*bert · · Score: 2
    The endo-kernel, however, runs its OS in micro-kernel userspace processes

    Actually, the Hurd is disturbingly like that... it pushes all kinds of functionality traditionally relegated to the kernel into user space, so individual users can run their own filesystems and the like. I think RMS likes the idea because it allows users almost complete freedom to hack their environments, right down to the kernel itself. Personally, when it comes to OS fun, I'd much rather buy a machine of my own than time-share the Hurd with a bunch of maniacal user-space kernel hackers...

    Vovida, OS VoIP
    Beer recipe: free! #Source
    Cold pints: $2 #Product

  25. Re:Kernel "bloat" by be-fan · · Score: 2

    640K for a kernel? That's huge! I'm not against progress. What I am against is putting features into the base system. The problem is that the kernel should only contain features everyone uses. I'm against putting stuff like NFS in the kernel (although that's probably the only place to put it) much less something like ORBit. Technological progress is fine, but do it in userespace.

    --
    A deep unwavering belief is a sure sign you're missing something...
  26. Kernel Bloat == Bad by jesseraf · · Score: 1

    Why put something in the kernel that doesn't need to be in the kernel, and is just going to open a bunch of security issues later on.

    Anyone who's read "Secrets and Lies" knows what this is leading into. Linux becoming as bad as windows.
    Cheers.

  27. Re:But is this really bloat? by ThisIsSuchACoolNick · · Score: 1
    I agree, does GNOME ORBit implement the whole CORBA spec?

    I have yet seen no good remarks why this wouldn't be a Great Way to get the kernel more modular. Someone have an answer?

    On a side issue, I for one, would not hesitate to pay in speed if it means that the kernel becomes more flexible.

    Of course, we could always base it on SOAP given that we already have such great http support in the kernel...

    --
    I have a cool sig too.
  28. Re:Win2K memory use by be-fan · · Score: 2

    Damn, you're right. Win2K does use about 2MB of non-pagable kernel memory. I saw the 20MB kernel memory, remembered that BeOS and Linux kernel memory is nonpagable, and forgot that NT runs non-kernel apps in kernel space.

    --
    A deep unwavering belief is a sure sign you're missing something...
  29. well... by vsync64 · · Score: 1
    They've already got an Web server in the kernel... Next step is to put a GNOME-enabled Web browser there. Whee!

    --

    --
    TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    1. Re:well... by Stephen+Samuel · · Score: 1
      Next step is to put a GNOME-enabled Web browser [in the kernel]. Whee!

      Bwahaha! Microsoft, here we come! (and the DOJ thought it already had problems...)
      `ø,,ø`ø,,ø!

      --
      Free Software: Like love, it grows best when given away.
  30. Excellent. by pb · · Score: 5

    That is very cool.

    With this, and khttpd and the frame buffer support and just a few other patches, I might not have to run in userland ever again!!

    Just like DOS!!! ;)
    ---
    pb Reply or e-mail; don't vaguely moderate.

    --
    pb Reply or e-mail; don't vaguely moderate.
    1. Re:Excellent. by gsf · · Score: 1
      Actually, Linux is a DOS App. I know, because Loadlin is a protected-mode program that runs Linux from DOS! DOS lets the program do whatever it wants. I mean, it's the running program, right?
      Yeah, but you're expected to be able to return to DOS after playing the game. Which causes no end of annoyances... Saving the pointer to the INT9 handler, hmph
      In other words: Linux is a buggy DOS app. It can't even return to DOS.
    2. Re:Excellent. by johnnyb · · Score: 2

      Actually, the whole point of the HURD is so that the application developers _can_ do gee whiz stuff. Like implementing filesystems. The HURD allows code NOT PREVIOUSLY POSSIBLE WITH OTHER KERNELS.

    3. Re:Excellent. by Hard_Code · · Score: 2

      Um, Unix wasn't designed for speed. Fast Good. Doesn't matter how fast your whizbang kernel is, if everything breaks every revision because there are no safe and clean interfaces (even if they are not published) between components. These days performance is cheap...handling complexity is the real problem. I think we will see, and are already seeing, the Linux kernel become more modular purely out of the weight of the great amount of complexity a humongous monolithic kernel supporting so many features has. Don't program to the computer, program to the human (developer, administrator, or end-user). Clever hacks die fast.

      --

      It's 10 PM. Do you know if you're un-American?
    4. Re:Excellent. by be-fan · · Score: 2

      I would be eager for the HURD, except...

      The HURD is not designed for speed. That immedietly makes the OS crap in my view. I would really like it if the HURD was sort of like an OpenSource QNX, fast, robust, elegant, but its turning out to be decidedly not. That's why I don't really see what HURD brings to the table. Its not like no other OS runs drivers in usermode (several do), its not like no other OSs have a translator-like filesystem (Plan9 seems to), its not like no other OS offers UNIX compatiblity in a microkernel (take your pick.) What exactly does the HURD have that hasn't been done already?

      --
      A deep unwavering belief is a sure sign you're missing something...
    5. Re:Excellent. by pb · · Score: 1

      I suppose you could just store the low 640k-1MB or so somewhere else (say, the highest 1MB), and just not tell the kernel about it (set memsize to one less whatever is detected). Then, at shutdown, have it try to copy that back. :)

      And yes, I try not to use Windows, but I just got a new computer, and I figured I'd test out all my hardware. Playing DVDs under Linux doesn't work yet, at least with my drive. Incidentally, I've heard that one way to solve *that* problem is to try playing them under VMWare...

      User-mode Linux sounds cool, but is it that mature already? I might try it sometime, but... not yet. Also, I know Plex86 isn't there yet, because I've tried it. Heck, I couldn't even get Bochs to boot Win98, and that's supposed to emulate everything! :)
      ---
      pb Reply or e-mail; don't vaguely moderate.

      --
      pb Reply or e-mail; don't vaguely moderate.
    6. Re:Excellent. by Cloud+9 · · Score: 1

      What exactly does the HURD have that hasn't been done already?

      Hurd is going to be the free alternative with all of the features you mentioned. As in, GNU/HURD? At the time of its inception, there were no other truly Free operating systems available.

      --
      Karma: Dyn-o-mite!(mostly affected by Jimmy Walker reading your comments)
    7. Re:Excellent. by vsync64 · · Score: 1
      Except that DOS provided a very minimal set of services. It was actually quite nice, because with the appropriate software (DOS extenders, anyone?) you could get the OS to load files and then get out of your way. Very little overhead, very little that you had to worry about walking over.

      In this case, things are getting built into the kernel. Of course, DOS has no concept of userland/kernel space, but I'm sure there's a difference in principle somewhere. :-) In a protected-mode operating system, though, there are differences. The kernel runs in ring 0 (user programs are in ring 3 on Intel and ring 1 pretty much everywhere else), and so anything in kernel space can break everything. This is why NT has so many problems -- random third party binary drivers in ring 0.

      I'm really quite eager for the Hurd. It will allow different portions of software to access certain pieces of hardware or software with kernel priveleges, without compromising the entire system.

      And yes, I know you were joking and going for a first post, but I love talking about systems in the more abstract sense...

      --

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    8. Re:Excellent. by DickBreath · · Score: 3

      The HURD is not designed for speed. That immedietly makes the OS crap in my view.

      Do you mean that they are not taking speed into account at all? Or maybe that they are completely ignoring any concerns for efficiency?

      Or do you maybe mean that they simply are not making speed their number one concern?

      Could it be that speed (or perhaps efficiency), while important, is not the only factor to consider (as so many here seem to think it is) -- that in some circumstances it might reasonable to sacrifice some efficiency for other factors such as maintainability -- ease of implementing new deamons, etc. The age old sacrificing some comptuer resources for human producitivity.

      How much of a difference are we talking about here? A few (or some number of) percent, or an order of magnitude?

      --

      I'll see your senator, and I'll raise you two judges.
    9. Re:Excellent. by be-fan · · Score: 2

      I'd be fine if the diff was a few percent or so, but its not. I'd describe HURD as glacialy slow. While having speed be the numero uno priority is not necessary for all OSs, it should definately be in the top three. Depending on the OS, the order of priorities should probably be simplicity/elegance, speed, then nifty-features. While the HURD nails the nifty part, it misses the other two. Secondly, its not exactly as if speed and maintainability are opposed to each other. A system designed for speed and efficiency breeds small, simple code without gimicky features. Do less, do it well, and do it fast should be the mantra for all OS designers. Leave the gee-whiz stuff to the application developers.

      --
      A deep unwavering belief is a sure sign you're missing something...
    10. Re:Excellent. by Petrophile · · Score: 1

      Unlike, say, NetWare as a DOS app, which can return to DOS.

    11. Re:Excellent. by pb · · Score: 1

      Actually, Linux is a DOS App. I know, because Loadlin is a protected-mode program that runs Linux from DOS! DOS lets the program do whatever it wants. I mean, it's the running program, right?

      Like I said, Linux has the framebuffer driver. But you hit upon the key point: "third party". One reason why Linux can be so much more stable than NT is because all the kernel programs are developed together, with source. It's much harder to track down a rogue, third-party, binary-only driver.

      Case in point: after removing my TV Card, my SB Live! card doesn't work at all. Under Windows, the card gets detected, and then the system locks. Hard. Under Linux, the drivers try to load, and then fail, but the system keeps going. The same is true for Alsa as well, though, so go figure...

      The Hurd looks like it has a lot of potential. But it also has a lot of maturing to do, as well. I like the design of RT-Linux, myself; I think a lot more could be done with a model like that.

      And yes, I was joking, and going for first post, *and* I love talking about systems, in general. :)
      ---
      pb Reply or e-mail; don't vaguely moderate.

      --
      pb Reply or e-mail; don't vaguely moderate.
    12. Re:Excellent. by pb · · Score: 1

      Hell yeah, So obviously NetWare is far superior to Linux. :)

      However, if this CORBA stuff is done right, eventually we'll be able to run DOS entirely in kernel-space anyhow!

      If they really have as little security as they claim, then this will give us a nice performance boost for some tasks, (no bothersome scheduler or swapper, say) and better backwards-compatibility than DOSEmu! (I can run Cubic! I can run the Second Reality Demo, perhaps with sound! Yay!)
      ---
      pb Reply or e-mail; don't vaguely moderate.

      --
      pb Reply or e-mail; don't vaguely moderate.
    13. Re:Excellent. by vsync64 · · Score: 1
      Actually, Linux is a DOS App. I know, because Loadlin is a protected-mode program that runs Linux from DOS! DOS lets the program do whatever it wants. I mean, it's the running program, right?

      Yeah, but you're expected to be able to return to DOS after playing the game. Which causes no end of annoyances... Saving the pointer to the INT9 handler, hmph.

      Now there's a challenge for you: making LOADLIN return to DOS after you shut down Linux. It shouldn't be nearly as hard as something like Plex86, since you don't need to virtualize or anything, just save a bit of data for when you're finished.

      Case in point: after removing my TV Card, my SB Live! card doesn't work at all. Under Windows, the card gets detected, and then the system locks. Hard. Under Linux, the drivers try to load, and then fail, but the system keeps going.

      Ugh. I had a Hauppauge WinTV board, which you'd think would be pretty much guaranteed to work under Windows, right? Ha. It worked fine in Linux on the first try, but under a fresh Win98 with no other extraneous hardware, it would reboot 1 second after starting the TV display.

      Incidentally, I don't use Windows at all now. Luckily, I'm not really a gamer, so I don't have the normal conflict of interest thing.

      I like the design of RT-Linux, myself; I think a lot more could be done with a model like that.

      Heh, lots of people are gushing over the possibilities of user-mode Linux. Linux -- it's a Web server, an ORB, an embedded system, and a mainframe, all in one!

      --

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
  31. Re:This Is Actually Cool by dozer · · Score: 1
    It wouldn't be the first OS to more closely tie the GUI to the kernel.

    That's true. Don't you love it when Java Swing causes your entire NT box to hang? Let's emulate that on Linux as well.

    There's alot you can't do with a GUI in UNIX because of the rift between userland and kernelland.

    Like what?? (besides another 3 FPS in Quake)

  32. Re:Linux supports ATA/100 by szo · · Score: 1

    Give me some details and URLs, please!
    Thanks!

    Szo

    --
    Red Leader Standing By!
  33. Re:Corba != GUI by RyanMuldoon · · Score: 1

    ORBit never has relied on GNOME. It uses glib, but that's it. It is already decoupled from any GUI. It is just a fast CORBA ORB.

  34. Re:This Is Actually Cool by be-fan · · Score: 1

    BeOS has the GUI entirely in userspace. Hell, the better part of the driver runs in userspace. In QNX, the driver runs ENTIRELY in userspace, it's just another process. Userspace is not what is causing bad Linux GUIs, its the fundemental problems of X and non-user-oriented design. Before trying to put stuff in the kernel, think about how much faster stuff would be without X. About how much cleaner stuff would be if GNOME were designed to be simple rather than kitchen sink complex. The real problem is that Linux GUI's are doing "cool" things as opposed to useful things.

    --
    A deep unwavering belief is a sure sign you're missing something...
  35. Making life harder by Sylvestre · · Score: 1

    So what we're doing here is making life in userland harder... just because you're an OK app programmer doesn't mean you're an OK kernel programmer. It's this type of hackery that made NT4 so.. uh, stable. "Move it to the kernel!" We're on crack if we think Linux will be immune to the stability issues that Windows has just because we're open source.

    Plus, since Linux (the kernel, yes) doesn't ship with a kernel debugger, how the heck can we expect people to submit bug reports?

    1. Re:Making life harder by tomreagan · · Score: 2

      Well, I mean, to be honest, you don't have to run it.

      I would just advise you that rather than bitch and complain, just don't run it. Problem solved, no need to get worked up.

    2. Re:Making life harder by Gorgonzola · · Score: 2

      On the contrary. This might help stripping down the Linux kernel to its very bare bones and having all services in user space, communicating with the kernel and each other through CORBA. Having Orbit in the kernel still wouldn't make such a kernel as a microkernel, I suppose. Think of all those heated discussions about formalising internal kernel API's. Having CORBA at your disposal might solve this as well.

      --
      -- Spelling and grammar errors tend to be a sign of erroneous thinking.
    3. Re:Making life harder by shokk · · Score: 1

      Just wait. A few more of these and Linux will run slow and bloated too. Sounds like we're moving backwards compared to other OS options.

      --
      "Beware of he who would deny you access to information, for in his heart, he dreams himself your master."
  36. Re:Kernel "bloat" by be-fan · · Score: 2

    The kernel is in non-pageable memory. As such, if you kernel takes up 20MB of RAM, that's 128-20=108MB of RAM that you actually have. It's scary, Win2K uses more than 15MB of non-pagable kernel memory. That's just wrong.

    --
    A deep unwavering belief is a sure sign you're missing something...
  37. ! Userspace by Cyclopatra · · Score: 1

    $ insmod gnome using module /lib/modules-2.4.0/gnome.o $ insmod evolution using module /lib/modules-2.4.0/evolution.o

    --
    "We can't all, and some of us don't." -- Eeyore
  38. Re:why not? by netpixie · · Score: 1
    Some people might say that ORBit wasn't the best ORB out there. If you're going to bloat the kernel, at least do it with a nice implimentation.

    mutter... OmniORB ... mutter.

    -------------------------------------------

  39. Non-C code in the kernel? by be-fan · · Score: 1

    This coming from a group of people who think C++ is too bloated for the kernel? Yes, I can see it now, the VFS written in Perl! Take that Verio.

    --
    A deep unwavering belief is a sure sign you're missing something...
  40. why not? by jilles · · Score: 5

    The initial reaction here seems to be that this is a bad idea. But what's wrong with bringing a object request broker architecture to an essentially monolithic kernel? It seems to me that if it can perform well, the added modularity might actually be a huge step forward and might be a nice alternative next to the existing module architecture (sort of a primitive object request broker). One of the immediate advantages is that C is no longer required (but still allowed) for doing kernel programming.

    But then, i'm not a kernel hacker.

    --

    Jilles
    1. Re:why not? by CAIMLAS · · Score: 1
      They already have this. It's called "Mandrake". It's also called compiling your own kernel, for i386 systems. You don't really see much benefit, if any, above i586 optimizations. (obviously for x86 stuff... no idea about ppc procs, etc)

      -------
      CAIMLAS

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    2. Re:why not? by Art+Tatum · · Score: 1
      It seems to me that if it can perform well

      That's really the question. Or rather, if it behaves well.

    3. Re:why not? by ddent · · Score: 1

      I think what the bad idea reaction is that some people are starting to feel that linux (the kernel) is getting too bloated, and think it would be more beautiful if we were micro-kernel-ish... arguments for both sides, but essentially it all boils down to where we draw the line. Hmm, wonder what it would be like to have netscape in the kernel *cough*.

    4. Re:why not? by vsync64 · · Score: 2
      Yes, but Linux wasn't intended to be a microkernel, or even a production-quality OS, or really as anything more than Linus and his buddies to hack on. It serves its purpose well. Linux is my favorite OS to play with, because it's so mix-and-match and it seems to get drivers for new toys the quickest (except for USB...bah).

      However, what makes Linux so great for this also makes it worse for other applications. FreeBSD, for example, is IMHO much better at being a server due to various technical features of its implementation, as well as the general feel of the OS. It's also probably better for non-hacker users who don't want to go pick out the best fingerd and ftp and whatnot for themselves.

      I don't understand why people don't appreciate heterogenity. We had a DB guy at work complaining that Linux was "broken" because he was used to Solaris's memory allocation, and he thought that was the One True Way. Yes, Linux's memory allocation can cause kernel panics and OOM errors in a few extreme cases, but the vast majority of time it's more efficient.

      If you don't like the way a system works and the situation isn't conducive to patches, fork it or choose another system. If you're looking for a microkernel, the Hurd would probably be a better choice than Linux. And it'll be available for production use RSN!

      The beauty of an open environment is that you can choose the system that best fits your needs, rather than being locked into one system.

      --

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    5. Re:why not? by Anonymous Coward · · Score: 1

      Well, make it at least CORBA compliant first. duh!

    6. Re:why not? by Kingpin · · Score: 1


      Heard! If Linux is to rock the desktop, users would like to see some performance. I think this could be a standard feature which can be enabled at kernel (re)compilation time - as could tons of other stuff. I really cannot see anything bad in this, as it doesn't pilfer with the genericity of the kernel. RedHat already has various installation options, eg. workstation/server/custom - why not make various kernel "levels" depending on what the user requests.

      --
      Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
      Geocrawler error message.
    7. Re:why not? by QuantumG · · Score: 2

      like the charter for WinNT?

      --
      How we know is more important than what we know.
  41. Now, now, no need to get snippy by Anonymous Coward · · Score: 1
    When I first heard of this project, I knew the /. crowd would get their panties in a bunch. Good heavens! Someone trying something really different and (gasp!) possibly innovative? Can't have that.

    I'm not saying this ORB-in-the-kernel thing is a good idea or a bad one. My point is that in open source aren't we supposed to be open minded and experiment with software, let it evolve, and use the best ideas to build a better system? Or do we want to stay in our little niches and iterate over things like the KDE/GNOME "war" a few thousand more times?

    I'd much prefer to see some oddball projects like this one pop up, if only to make people think about other possibilities. I give the people on this project credit--I never would have thought of doing this with an ORB.

  42. make clean && make dep && make rbzImage by Ipsilon · · Score: 1

    Where rbzImage stands for Really Big zImage.

    When will mozilla be included in kernel?

    --

    The opinions in this comment are subject to GPL, you can copy, modify and redistribute freely (as in speech).

  43. Re:HURD by Scott+Wood · · Score: 1
    One of the fundamental units of a Microkernel architecture is a uniform network/port based communcations subsystem.

    That's one way of implementing a microkernel, but it's hardly the defining feature. A microkernel is simply a system in which only minimal functionality is placed in the kernel. As a result, you need a better IPC mechanism than is present in most monolithic kernels, but as long as it's effective, it can take any form.

    I don't know a lot about it

    So perhaps you shouldn't be stating opinion as fact, hmm?

    but it has NOTHING to do with CORBA.

    One can implement a microkernel using CORBA as the primary means of IPC.

    Certainly CORBA services might run as any other Microkernel service but this would be hurrendously slow to use_as the primary means of inter-proccess communication.

    I suppose you can provide us with a link to a paper where this has been thoroughly examined? Or are you just spouting nonsense again?

    If the ORB is in the kernel (if it's not, then it's not really the primary means of IPC now, is it?) and designed to take advantage of that situation (through the use of virtual memory manipulation and direct access to the address space of both processes) then it should be able to provide adequate performance, and a small performance loss can easily be made up for with a dramatic increase in flexibility.

    Even if you don't want to use RPCs, you can still use things like CORBA to formalize the structure of the messages that you pass and abstract the details away from the programmer.

  44. Re:next logical step by chegosaurus · · Score: 1

    > You suppose that it should be done without
    > showing any obvious reason, or what the benefit
    > would be?

    Err, joke?

  45. Re:boo hiss by blank · · Score: 1

    linux isn't bloated. even if it is, you can unbloat it by not compiling what you don't need in. the kernel can be made realitively small.
    i don't see how the 2.2 kernel is more unstable than the 2.0 kernel or the 2.0 kernel is more unstable than the .99 kernel.

    it's gotten bigger, to better handle things like SMP, but i wouldn't call that being bloated. the solaris kernel is far bigger than the linux kernel and i haven't heard anyone say that's bloated. it's also far smaller than the win2k kernel.

    i also don't see a lack of direction with linux, they keep making the kernel better for SMP, small appliances, workstations, networking, you name it.
    just like windows.

    --

    bah. start over

  46. WTF are you replying to? by enterfornone · · Score: 2

    Can't be my comment, because I didn't say anything that disagrees with what you wrote.

    --

    --
    enterfornone - logging in for a change
  47. Re:Kernel "bloat" by oconnorcjo · · Score: 1

    The kernel's job is to be a manager. It is supposed to delegate time, memory, and hardware sharing to all programs that need/request stuff. The more stuff that is not essential to the delagation of those responsibilties, slows down the kernel to HANDLE those responsibilities. A word processor that was built into the kernel may be the best damn word processor in the world but it would slow down the kernel from doing its real responsibilities. YOU might not even LIKE the word processor (though it be the best in the world). You might like EMACS better and then you have a kernel that is running something you will never use but is slowing down the performance of what you ARE using. Almost any program in "userland" can be replaced with something else but a kernel can not be replaced. So we only want "essential/important" things in the kernel.

    --
    I miss the Karma Whores.
  48. grr by Anonymous Coward · · Score: 1

    As the poster pointed out, it's a fine goal to make a "balanced" operating system as you've described. However, we already have literally hundreds of operating systems that do just that, and a much better job. So, again, what's the point of the HURD?

    1. Re:grr by DickBreath · · Score: 2

      Perhaps I'm just unaware, but is there a free OS (other than Hurd) that strikes a better balance (than Linux) between efficiency and the other things, such as maintainability, ease of implementing new drivers, daemons, etc.?

      And implicitly, I also mean, that has any actual resources committed to it?

      --

      I'll see your senator, and I'll raise you two judges.
    2. Re:grr by be-fan · · Score: 2

      FreeBSD. That UNIX.

      PS> If not better, then certainly as well.

      --
      A deep unwavering belief is a sure sign you're missing something...
  49. possibly a good idea; needs more work by CaptainQuark · · Score: 1

    i could see this as a way to create a really high-performance application server, but the cost is the lack of protection the kernel barrier gives you. i would hate to have to reboot every time i found a bug in my app!

  50. Re:Gnome... by Phil-14 · · Score: 3

    "So, Gnome, what are we going to do tonight?"

    "Same thing we do every night, Pinky, try to take over the kernel!"

    --
    (currently testing something about signatures here)
  51. What about Microsoft MTS ??? by radulovich · · Score: 1
    I thought MS did roughly the equivalent when they included MTS (MS Transaction Server) into the OS for Windows 2000. As far as enabling speed, flexibility, etc., I think it was a great idea.

    As for code bloat...code is only bloated when there are many things in it that are not needed, not useful, or not efficient. This is definately useful. If you want to minimize code bloat, then strip out the code that you don't want and recompile.

    -Mark

  52. We are all, in fact, dumber for having read that. by Shelrem · · Score: 2

    Ok, i'm gonna borrow a page from Linus' playbook and ask,

    Are you on drugs?

    No, really, what part of "i came to Linux to get AWAY from Windows" don't you understand?

    Besides, not everyone wants to use GNOME. In fact, many, many people don't want to use GNOME. You know what else? Many people (brace yourself for this one!) use Linux purely in console mode.

    Not to mention, the benefits of including GUI components in the kernel are unproven at best. While there may be some performance increase (though this will most likely be from taking cycles away from other things ie no net gain), there is the UGLY reality of having a kernel that will crash when the GUI screws up. Not to mention the problems with a larger kernel (ie not being able to use zImage, which means precluding a lot of architectures from using Linux).

    So yeah, i paraphrase the movie "Billy Madison" when i say, "We are all now dumber for having read that."

    -benc

  53. Very interesting, but a security nightmare... by twivel · · Score: 1
    This is a really cool idea in that it opens up lots of kernel functionality to ORBIT.

    This can easily speed development for new and unique ideas, but at the same time it can be a pain in the ass to control.

    I realize they say on their site that security is not yet implemented, but I'd venture to say that adding security to it will be a nightmare - if not nearly impossible.

    The Linux kernel mode was designed to have 'kerenl space' and 'user space' seperation. As orbit is used with gnome, any user-space process can connect and perform actions in ORBIT. Now we've collided an 'assumed secure' environment (kernel space) with a 'known unsecure' environment (orbit). The security problems with colliding these assumptions are so bad that it may be impossible to think about every potential exploit.

    This is exactly what microsoft did when they opened up their internal OS stuff to ActiveX instructions. This provided web developers with lots of functionality and neat features, but it also created weekly security exploits for windows/ActiveX.

    ActiveX was supposed to be a competitor to Java, Microsoft has since ditched pushing ActiveX and moved to providing their own proprietary java environment instead.

    --
    Twivel

  54. Re:This is actually pretty cool. by twdorris · · Score: 2

    Those examples are pretty cool and I must admit, I had never heard of them when trying to solve my modem problem. However, they're still one-shot examples that solve a very specific problem (i.e., share a serial port with another machine). What I was wishing someone would address in a generic way of sharing *any* device remotely. The device driver interface is extremely simple (open, read, write, ioctl, close), so the technology needed to provide that remotely should be trivial. Loose ends would need to be tidied up (like locking devices that need to be locked and the such), but I'm *sure* it's a solveable problem. I think what this person has done is a step in the right direction towards making hardware as generic and universally accessible as anything else. But that's just my opinion.

  55. Re:This Is Actually Cool by netpixie · · Score: 1
    It's a shocking thing when a troll can come out with things like "If more and more of the infrastructure of a desktop environment (like GNOME) could be moved into kernel space" and then get moderated UP. What is going on with the world?

    (Hint: The entry you're looking for in that little drop down menu thing is "Troll")

    -------------------------------------------

  56. Now it's up to the browser... by Ektanoor · · Score: 2

    Right now a whole field is open to integrate such things as office applications and other stuff, tightly into the kernel. I advise to start with a browser. We glue it ot the kernel and give it to users. Users will have to use it no matter their likes or deslikes. And so we kill all this madness of distros, alpha-beta-gamma versions, several apps for one purpose. We will start to unify Linux into One Total System. And fight M$ for World Domination.

  57. Kernel "bloat" by Galvatron · · Score: 3
    I haven't really looked much at the kernel, but puting aside for a second stability and security issues, is a large kernel really so bad?

    If there actually is bloat, in the form of unnecessary or poorly written code, that's unquestionably bad, but if there's simply a lot of cool things being put into the kernel, that doesn't strike me as bad. You can always recompile, thereby stripping your kernel down to just what YOU need.

    I know, I know, the average desktop user isn't going to have the skills to recompile a kernel, but that's okay. Whether a user's kernel is 2 megs or 200 megs, they've probably got enough HD space to fit it. The situations where kernel size matters are probably going to be small devices (pda's, palmtops, etc.), and old devices (486). Small devices generally have customized OSes anyway, so you can expect that the manufacturers will take care of that. Old devices are probably better off running older software, so I'm not too worried about them.

    I probably missed a few things, again I'm not a kernel expert. Plus, the security and stability issues are not trivial, and are a big strike against a project like this. But, any other reasons why this is bad?

    --
    "The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
    1. Re:Kernel "bloat" by Pseudonym · · Score: 2
      Regardless of what Win2K does, I have a problem with this idea of impeding technological progress by placing arbitrary limits on something like kernel size.

      I don't mean to flame you, but you sound like a PL/I or APL programmer thirty years ago. "I have a problem with this idea of impeding technological progress by placing arbitrary limits on the number of keywords a programming language should have."

      Bigger ain't necessarily better, as every C programmer knows.

      Back in 1985, you would have presumably been criticising any OS that took up more than say 100K of memory, [...]

      I still am. Seriously. 100kb is still too big, except possibly in the case of distributed operating systems where you usually need networking in the kernel otherwise the paradigm isn't practical. (More research should remove this requirement, though.)

      The flaw in your thinking is the fallacy that more "technological progress" in operating systems requires more non-pagable kernel memory. Real technological progress requires working smarter, not harder.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    2. Re:Kernel "bloat" by alienmole · · Score: 2
      That's fine, and I don't really disagree - my point just was that I don't think it's valid to say that "a kernel which takes up 15MB is wrong".

      In any case, assuming the monolithic kernel survives the next decade or so, it's only a matter of time before ORBs, virtual machines and god knows what else make it in there, because everyone will be using them. The 90MB kernel isn't that far off, mark my words! ;)

    3. Re:Kernel "bloat" by alienmole · · Score: 2
      I don't think I made my point very well. My point is that kernel size alone is not a sufficient criterion on which to judge an OS. The original message said that Win2K was "just wrong" to use more than 15MB of kernel memory.

      I don't know or care whether Win2K is a good OS, but I don't agree that one can judge it on the basis of the size of its kernel alone. If it uses a different architecture, the kernel size may make sense in its context. Kneejerk "15MB is too big" reactions tend to relate more to currently assumed limitations, than to anything real.

      The flaw in your thinking is the fallacy that more "technological progress" in operating systems requires more non-pagable kernel memory.

      I didn't mean to imply that. I'm not saying that progress does or doesn't lie that way; only that it doesn't make sense to close off a particular direction for no good reason.

      Perhaps message-passing microkernels will ultimately replace monolithic kernels, for example, but until that's actually happened (and Linux is a famous argument to the contrary), there may be real benefits to be had by including major additional functionality in a kernel. This kernel ORBit implementation is a good example: it's not so far fetched that in a few years time, an ORB in the kernel will be seen as a necessity.

      It also isn't much of a stretch to imagine an OS built on top of an ORB (which in some respects, isn't that different from a message-passing microkernel model.) If that approach were desirable, the route from here to there might very well be to start out by building the ORB into the kernel, then slowly removing other basic services from the kernel and replacing them with external object implementations. (I can imagine a lot of knees jerking right around now.) Making such radical changes, however, doesn't happen easily when people allow arbitrary metrics to define the boundary of their world.

    4. Re:Kernel "bloat" by Daniel · · Score: 2

      but puting aside for a second stability and security issues

      This reminds me of a famous joke about the Titantic..

      "So how was the trip, aside from the iceberg?"

      Daniel

      --
      Hurry up and jump on the individualist bandwagon!
  58. Re:This Is Actually Cool by Bongo · · Score: 1

    it wouldn't be the first OS to more closely tie the GUI to the kernel.... it would surely mean a more integrated (and speedy) desktop. There's alot you can't do with a GUI in UNIX because of the rift between userland and kernelland.

    Ehm, I don't know much about this, but isn't even Apples' Aqua just a BSD app? Login as ">console" and that's all you get.

  59. Oops by Hard_Code · · Score: 1

    Oops: Fast Good

    Sorry, Slashdot mungifier got to my text (I'm still waiting for an explanation as to why Plain Old Text understands HTML tags...not so Plain I suppose)

    --

    It's 10 PM. Do you know if you're un-American?
  60. Heavy Micro-kernel by lscoughlin · · Score: 1

    One of the big wars is monlithic vs micro kernel design. Both offer all sorts of interesting things.

    I could really see some interest in a kernel level corba server...

    Most specifically, something that hasn't really been looked at (or at least, in my lay research, i haven't found much about)...

    A heavy micro kernel... Where there kernel is relatively robust, but maintains a richer interface for userlevel code... everything from device drivers to http servers.

    Another interesting thing you could do here, is implement an LDAP server in corba to handle security... You could have a network wide user and resource directory, with organizational groups tied to machines...

    This could bring unified ACL's and user/resource management across an entire network...

    Just some (probably worthless) thoughts...

    -T

    --
    Old truckers never die, they just get a new peterbilt
  61. Re:Gnome... is cool by Pheersum · · Score: 1

    KDE is better. (ducks for fear of flying objects). On my system, GNOME has crashed the system twice, to the point where it is so slow that it is unable to switch to a VT. KDE, which I've run much more, has crashed twice also, but I was still able to switch to a VT and kill it.

    Ashes of Empires and bodies of kings,

  62. Re:Linux: it's not a microkernel by 1010011010 · · Score: 1

    Hey, 1010011010: Make a refernce to "The Clapper" or the old Wendy's commercial "Where's The Beef" to score big time!

    "High in his tower sits the Lord; he is the Bell, the Clapper, and the Cord."

    Or is that not what you meant? :)


    ________________________________________

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  63. Re:Time to read up on Operating Systems by msobkow · · Score: 1
    Point well taken, in concept.

    However, in practicality I'd be much more comfortable with providing such extensions through a mach-like microkernel that keeps the core system functionality of the kernel clean (i.e. following traditional goals.)

    Take a look at the number of defects that crop up with seasoned and well maintained TP monitors (Encina, Tuxedo/BEA), databases (Sybase, DB/2, Oracle, etc.), and with various network messaging and remote object services. I don't know about you, but I find the thought that such complex defect-prone software being part of the core kernel disturbing.

    Right now if your ORB gets some variant on a DOS attack (say someone repeatedly sending bad or invalid requests), you can shut down that service module in the ORB. What happens when the ORB itself is part of the kernel and the entire kernel is getting beaten to death?

    Perhaps there are solutions to these types of issues. Maybe kernel ORBs will be part of the future of computing. Traditionalist that I am, I'll always consider them a system service, rather than an OS service.

    --
    I do not fail; I succeed at finding out what does not work.
  64. Re:This is kinda cool... by ari_j · · Score: 1

    And the more 3rd party code you accomodate, the more risk there is of unstable code crashing the system, or of security breaches.

    Define '3rd party code'. Isn't that what most of Linux is, not to mention about half of all open-source projects? ;P

  65. Re:Time to read up on Operating Systems by PureFiction · · Score: 2

    What happens when the ORB itself is part of the kernel and the entire kernel is getting beaten to death?

    This is no different than a TCP SYN attack. This ties up kernel resources for allocating connection overhead (see the TCP SYN-flood protection kernel option). Quite a few DoS attacks exploit communication stack errors, which are part of the kernel.

  66. What about Multithreading/tasking by CabanaBoy · · Score: 1


    I'm not a kernel hacker, just a lowly multi-platform threads-n-sockets kinda guy.

    If this thing is running as a kernel module, how well does it work & play with other processes? I know that's not the concern, since any box that needs this kind of performance for one "task" should be a dedicated machine... but once invoked, will this thing pre-empt at all?

    I mean, that's kinda the point of the kernel, that anything that needs to be done right away (raw I/O, device control, memory & process management) happens more or less right away, and everything out in userland has to wait it's turn.

    Does memory protection extend to kernel modules? What can a module trample?

  67. Re:HURD by KidSock · · Score: 1

    One of the fundamental units of a Microkernel architecture is a uniform network/port based communcations subsystem.

    That's one way of implementing a microkernel, but it's hardly the defining feature.

    I don't recall calling it a "defining feature". I called it a "fundamental unit".

    I don't know a lot about it

    So perhaps you shouldn't be stating opinion as fact, hmm?

    a) I didn't state anything as fact. b) you have chopped off the second part of the sentence to remove the context of what I am saying which is that CORBA would not suffice as a primary means of interprocess communication for an operating system.

    but it has NOTHING to do with CORBA.

    One can implement a microkernel using CORBA as the primary means of IPC.

    You _could_ but I'm telling you that it would be unbearably slow.

    Certainly CORBA services might run as any other Microkernel service but this would be hurrendously slow to use_as the primary means of inter-proccess communication.

    I suppose you can provide us with a link to a paper where this has been thoroughly examined? Or are you just spouting nonsense again?

    I'm spouting nonsense?! You obviously know nothing of CORBA. First of all it's founded on sharing objects. These are not simply structs but full blown objects as in Object-Oriented objects. Do you know what it takes to serialize an object for transmission over a network? It's slow. Even if they used shared memory to get around serialization of local objects there would still be many issues related to the dynamic binding of methods and other OO stuff that is invariably slow.

    If the ORB is in the kernel (if it's not, then it's not really the primary means of IPC now, is it?) and designed to take advantage of that situation (through the use of virtual memory manipulation and direct access to the address space of both processes) then it should be able to provide adequate performance, and a small performance loss can easily be made up for with a dramatic increase in flexibility.

    Even if you don't want to use RPCs, you can still use things like CORBA to formalize the structure of the messages that you pass and abstract the details away from the programmer.

    Think about what your saying. You're going to run a CORBA ORB _in_ the kernel as the primary means of communication for an operating system?! I'll beleive it when I see it.

  68. Re:Port what ever you frickin' please by handybundler · · Score: 1

    This post comes to you live from the newly installed Red Hat 7. Ahem, scoot over, there's another convert that's just walked in, thanks.

    Many thanks for all of the replies. Here's what I did: I had an older generation mother board housing a piii 500. Well the bastards at G_t_w_y sent me a replacement motherboard with a PCI IDE controller card. Ultra ATA 66, to be exact. Chipset PDC20262. (for those who care to f around with this one). Well, I ripped that little bastard out of there and ran the IDE cable straight to the board. Okay so it'll drag a little performance penalty but I'll take that any day over not being able to run Linux at all. After some serious help from my friend Tim (who clued me in to all of this) we had the machine up and running in about an hour and a half with full sound card, network, and full voodoo support.

    Boioioioioioioing!!!!!!!!!!!!!

    --


    a/s/l here. Sorry, adding domain tags to your s
  69. Re:Linux microkernel by fatphil · · Score: 1

    The Alpha was launched in 1992, the Pentium Pro in 1997. i.e. comparatively recently.

    As soon as any Intel chip was shipped, NT was doomed on it. Doomed to crash repeatedly, to FDIV incorrectly, to F00F itself into oblivion or whatever.

    MS, a 2 letter abbrieviation for doom.

    FP.

    --
    Also FatPhil on SoylentNews, id 863
  70. Re:Port what ever you frickin' please by handybundler · · Score: 1

    I feel free to use the word Bastard a lot ;-)

    --


    a/s/l here. Sorry, adding domain tags to your s
  71. Just how is X slow? by maynard · · Score: 2

    Just how does squirting a serialized display protocol across a UNIX domain socket slow down X any worse than GDI (the Windows low level display protocol)? I can't speak for how Be handles display events, but if it serializes its display protcol it's no different.

    True: X has some brain damage when it comes to supporting complex shapes in the protocol. And certainly the current crop of free X servers need hardware accelerated alpha channel blending and font/glyph anti-aliasing. But that's not a problem with X inherently, and all these problems can be resolved by adding X protocol extensions.

    There were certainly better network display protocol designs before X; NeWS comes to mind. Display Postscript is yet another, though that was released after X. Hardware accelerated anti-aliasing and alpha channel support I believe is slated to ship with XFree-4.0.2. Then the userspace widget libraries will have to support those features, which will probably take another year to sort out. On top of that we'll need better fonts designed, which is really the crux of the problem since the default fonts which ship with X are just terrible. Maybe by then the GnuStep team will have released their Display Ghostscript X extension, which IMO is the best way to go.

    None of these solutions will have much impact on speeding up the core X protocol. Mostly because on a local system it's pretty damn fast.

    Cheers,
    --Maynard

    1. Re:Just how is X slow? by Anonymous Coward · · Score: 1

      > I can't speak for how Be handles display
      > events, but if it serializes its display
      > protcol it's no different

      BeOS serializes communication between the app_server and clients on a per-window and per-application basis. That is, every application gets a communication channel, and every window in that application gets its own communication channel. In fact, each of these gets two channels -- one is the normal, public messaging API, and one is a private highly optimized channel specifically for the app_server. Normal user-level events are received by the window/application through its public messaging API; low-level graphics operations go through the private channel.

      In addition, the app_server is highly threaded so that, when two windows in an application are drawing, pretty much the only synchronization needed between them will be deep down at the graphics driver level.

      The point here is that having a good graphical environment is much easier if this goal is reflected through the entire system design. For example, the BeOS kernel includes concepts like message ports and file monitoring that are specifically tailored to implementing interactive, graphical environments. Without these, it would be much more difficult to make the user-land GUI that sits on top run as smoothly as it does.

      (And for what it's worth, as an abstract concept, the communication between the app_server and its clients could be implemented using a socket API. Currently in BeOS these are only implemented for local operation, using the kernel message port primitives to provide much better performance.)

  72. Re:Linux microkernel by TheAncientHacker · · Score: 1
    NT used to run on x86, Alpha, MIPS, and PPC, but those were gradually killed off so that only Intel remains.

    You forgot the Fairchild/Intergraph Clipper which was also a Windows NT platform processor.

    The reason Windows NT was killed off on those processors was that nobody bought them. In most of those cases (IBM, DEC/Compaq and Integraph for sure - I can't remember about MIPS) they were killed off by the hardware vendors who wanted to drop support costs for their almost totally non-selling products while Microsoft wanted to keep them going.

    Oh, and I didn't get it from scanning a book. I was in that part of the industry at the time.

  73. Re:next logical step by TheAncientHacker · · Score: 1
    By god, it loads DOS drivers from 1986...

    That's called backward compatibility. Windows 98 only does that if you have real-mode drivers and have them loaded in your CONFIG.SYS file with a DEVICE=xxxxxxxx.SYS command when you install Windows 98 and if Windows 98 doesn't have a replacement protected-mode driver that it can use. So if you depend on them you can still use them, if you don't then the boot sequences skips the real-mode driver load process.

    Of course, that isn't true about Windows ME. By 2000 there were few enough users that still needed backward compatibility with their old hardware that Microsoft could drop the "real-mode pause" step. Back in 1998 there were too many. Oh, and there are users out there complaining about dropping the real mode driver support in Windows ME anyway.

  74. Re:Linux microkernel by pranalukas · · Score: 1

    Now everybody flames Linux because Linux is not microkernel like Win2k (with its 40 million lines of code -- 500% bigger than Linux -- and still called "micro"). Everybody wants microkernel this, microkernel that. Then after that, people mock Linux and say "Oh FreeBSD and OpenBSD is much better, it's l33t " but BSD is still monolithic too .

    Be patient, will ya?

    The fact that in its IPC, monolithic kernel design reduces overhead and is faster than microkernel because monolithic kernel doesn't require yet another second-third-fourth-etc-etc layer for messaging.

    By the way, in case you've never heard of zero stack copy, Linux is much faster than BSD in that area.

    My point is: No operating system is perfect, not Linux, not BSD, not Win2k.

  75. now you can by enterfornone · · Score: 2

    write your web, nfs etc service as a corba control and let it run in userland.

    --

    --
    enterfornone - logging in for a change
  76. Re:Linux microkernel by fatphil · · Score: 1

    Reorder your list of platforms, put Axp first. That's how it was. It was supposed to be the joint flagship attempt. MS with theif flagship OS, DEC with their flagship Processor.
    Even though I use Linux on my 21164, I never removed my NT boot partition - it's the _stablest_ version of any Windows I've ever seen. I still have I.E. 2.0 on it too - no JavaScript, no nothing!

    A very sad story indeed. With a happy ending. I'm now running a Unix varient on every machine I own.

    FP.

    --
    Also FatPhil on SoylentNews, id 863
  77. I can see some uses... by jkujawa · · Score: 1

    Why not have the option available? I can see some uses for dedicated machines, possibly in embedded systems. This will increase the performance of the ORB quite a bit, and, IIRC, it's already one of the best-performing CORBA implementations out there.

    Your CORBA calls on the Coke machine down the hall will be handled in a speedy, efficient manner!

  78. Re:URGENT: Money $$$ ��� needed!! by King+Africa · · Score: 1

    Ah yes the English... I wish they were still here in Africa 'cause things were much better then than now!

  79. Re:Craptalk by King+Africa · · Score: 1

    You should go to Bidonville, capital of my proud country ( the southern part at least, damn these muslim rebels! ) and say that outloud!

  80. Port what ever you frickin' please by handybundler · · Score: 1

    But I still can't get Linux Red Hat 7 to boot because ther is a serious lack of drivers out there for the Ultra ata66/ ide controller. 36 hour installl and counting .l..

    --


    a/s/l here. Sorry, adding domain tags to your s
    1. Re:Port what ever you frickin' please by pranalukas · · Score: 1

      Have you tried Mandrake 7.2? They have both ATA66 and ATA100 support. However, only the ATA66 supports auto-detection. There's an article in here regarding how to install Mandrake on an ATA100.

  81. Re:Linux microkernel by stevew · · Score: 1

    Just a slight correction here. It wasn't the poor design of NT that killed NT on these processors, it was market realities! Number of Intel processors shipped / number of Alphas shipped = near infinity! (no division by zero detected either...)

    --
    Have you compiled your kernel today??
  82. Re:Hmmm by LiENUS · · Score: 1

    Didnt someone say this already only with a little more on the end?

  83. Hilarious by p3d0 · · Score: 1

    This is my favourite quote:

    We can now write device drivers in perl, and let them run on the iMAC across the hall from you.
    --
    Patrick Doyle

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  84. Re:Hmmm by King+Africa · · Score: 1

    maybe; i just pressed the scrollwheel and it pasted a crapload of text that seemed quite ontopic so i just deleted the incomplete last sentence and posted it...
    any other questions?

  85. What is bloat? by DickBreath · · Score: 2

    Maybe everyone should first agree on what is bloat?

    Certianly I would call inefficient coding, poor design, poor choice of algorithms, lack of performance tuning -- all bloat in my book. But bigness per se doesn't mean bloat.

    One man's bloat is another man's feature.

    But then on the other hand, I don't want 200 MB word processors either -- even if the word processor can do equation layout, image processing (ala. Photoshop), flowcharts, etc.

    --

    I'll see your senator, and I'll raise you two judges.
  86. Re:next logical step by DickBreath · · Score: 2

    You suppose that it should be done without showing any obvious reason, or what the benefit would be?

    At least the people porting ORB into the kernel expressed some useful reasons for doing so (even if they are just for experimentation).

    --

    I'll see your senator, and I'll raise you two judges.
  87. Re:HURD by KidSock · · Score: 1

    The HURD is apparently going to offer CORBA as the primary means of inter-proccess communication.

    This is thuroughly false information. One of the fundamental units of a Microkernel architecture is a uniform network/port based communcations subsystem. I don't know a lot about it but it has NOTHING to do with CORBA. Certainly CORBA services might run as any other Microkernel service but this would be hurrendously slow to use as the primary means of inter-proccess communication.

  88. This is actually pretty cool. by twdorris · · Score: 2

    I'm not sure what CmdrTaco's problem is, but this idea isn't all that bad. I'm not convinced this is the right approach yet (been burned by old CORBA stuff too many times), but the concept is definitely a step in the right direction. I've often wondered why nobody has done this before. By "this" I mean constructed a remote interface mechanism at the device level. There are higher level remote interfaces that allow sharing of "resources", but these are all too specific to be useful across the board. As an example, I can share my printer(s) with Samba or lpd but why can't I share my modem or sound card in the same way?

    Here's a real life example of why this would be useful. I have a linux gateway in my house. It contains my only modem. I have three other PCs running a variety of OSes. From time to time, either the wife or I *have* to use Windows to dial in to work or to fax a word doc or whatever. I would LOVE to power up my windows machine, connect across the network to my modem in the gateway, and control it as though the device were local. Why is that a hideous hack thing to do? To me, it sounds like a natural extension of the shared, networked architecture of UNIX and X as they were intended.

  89. Win2K memory use by Pink+Daisy · · Score: 2

    Really? I think that most of the kernel in Win2K is pageable, and that it is only about 2 megs that is locked. I have a malfunctioning machine that forgets how much memory it has once in a while, and I've run Win2K on it when it thought it had just 16 megs. I was actually surprised at how well it ran; it wasn't until I opened Photoshop and loaded an image that I realized it had lost most of its memory.

    --

    If you are modding me down because you disagree with me, use the "Flamebait" category, not the "Troll" one.
  90. Re:But is this really bloat? by rho · · Score: 2
    You know, things like khttpd and that sort of thing (I'm sorry, but a Web server is no more an integral part of the OS than a Web browser).

    Well, only because somebody hasn't thought of a good reason to have a web server in the kernel.

    (Reaching WAY up into my rear end here) Suppose the Linux-on-a-chip people get really motivated and make a controller for devices in the home. With IPv6, every light switch and thermostat has this LinuxChip in it with khttpd. A central control (with more juice than the slave devices) pulls data from each device through a bastard child of wget, and you (at work) can browse to myhouse.com (or whatever) and see what the setting are, and change them if desired.

    Taken to the next level, (taking into account here that I know next to nothing about CORBA), these chips also have the korbit compiled in as well. Now devices from different vendor can pass objects back and forth, with the master controller using that information to whatever end.

    I dunno -- I hesitate to write it off as crackpot until I see what it can do. khttpd and korbit are pretty cool hacks, and now that they're "in the wild", we might be surprised at what comes of it. Maybe nothing, maybe the Next Big Thing.

    (Regardless, looks like I need to look into this whole CORBA thing -- I thought it was a flash-in-the-pan, but apparantly a lot of people are taking it pretty damn seriously)

    --
    Potato chips are a by-yourself food.
  91. Mad, mad, mad, mad, mad ... but I like it! by tjwhaynes · · Score: 1

    Once again, the kernel tinkerers have provided us with another gem. This sort of experimentation with the core of an operating system is exactly the sort of thing that having the source code available encourages. While this implementation is probably not even safe to be considered beta software, it's good to see people playing with the boundaries.

    To those who moan about code bloat in the kernel, they obviously haven't looked at how large the kernel sources are already - it's already huge. But this size doesn't matter - what matters is the code you choose to stick in your kernel - as almost all the peripheral code can be modularized or ignored, the core kernel loaded at boot time remains small and you can choose to ignore code you consider unnecessary or even dangerous, or put rarely used functions into modules to be loaded on a need-to-use basis, to be unloaded as soon as you are finished with that functionality.

    So what possibilities does having the ORBit code in the kernel hold out in the future, for those who choose to make use of it? Faster, slicker handling of the CORBA transactions is the main one, and for those of us who might like to take the risk of destabilizing the system and experimenting with this stuff, we can.

    It looks like they have latency problems with this code though - they should probably try integrating their code with Ingo Molnar's low latency kernel patches (average system latency under load down to 3ms - extremely nice for multimedia applications) and see whether their peak latency of ~1 second can be reduced. Oh - and by the way, those low-latency patches are not in the kernel sources, so you'll have to add them in yourself if you want to play with them. Much as you'll have to add the kORBit patches if you want to play with these either.

    And finally, to those kernel hackers who do this sort of mad, mad, mad hacking, cheers!

    Toby Haynes

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
  92. Re:it's about time... by MassacrE · · Score: 1

    Actually, the Linux kernel is pretty good about not making components depend on 'non-published' APIs too much. Most of the benefit I have seen from the linux kernel architecture comes from components not needing to talk through kernel components to other components (yay, ten context switches for a fork()).

    There are two main reasons the kernel doesn't support 'standard mappings' of interfaces for drivers. First, it destroys the possibility of change. Even in the current kernel, old interfaces stay around way too long. Second, many fear it will promote binary drivers. Since there is no company which maintains all of the kernel, binary drivers provide a substantial disadvantage to the linux kernel (the architecture group can't examine or port drivers, because they do not have access to the source code or the hardware workings). A standard interface only promotes that: the current setup is that when a kernel interface changes, it is not their problem, and the third party company needs to update their code to match. Look around for quotes from the main kernel developers about them wanting binary-only module maintainers to 'wake up in a cold sweat every once in a while'

  93. Re:Time to read up on Operating Systems by baka_boy · · Score: 2
    I agree with you in saying that, for the time being at least, an ORB in the kernel is probably a special-purpose add-on, which won't be necessary for the majority of users. However, your statements about "the goal and purpose of [an] O/S" are somewhat short-sighted. CORBA is not an 'application', it's a means of allowing applications to communicate in a language and platform independent way across a network. How many *NIX apps already use sockets to make them accessible to multiple 'client' programs on the same machine? Are you suggesting that socket management shouldn't be part of the kernel?

    True, CORBA is not commonly in use today for these purposes, but that is not because it would be unsuitable for them; rather, the technology has simply not begun to establish itself at the LAN and workstation level as a viable option. Huge enterprise installations often rely heavily on high-performance, scalable ORBs to manage communications between legacy system, user applications, web applications, etc., and distributed computing is becoming more and more a point of interest on the desktop.

    There are a number of things that the addition of (a later, more stable version of) kORBit to the core kernel distribution could offer: instant, painless cluster development; increased acceptance of Linux in enterprise-scale networks (now, your Linux router can scream through CORBA calls, as well...); and, as mentioned in the article, distributed hardware and resource access.

    The world standardized around TCP/IP to satisfy the need for standard network connection and data transfer management, and CORBA looks to be a contender for that role in distributed service and resource management. Just as C++, Java, Perl, and other high-level languages are rapidly supplanting C for most application development due to their increased abstraction, programmer productivity, and portability (more so with Java or Perl, of course), CORBA could one day all but replace TCP/IP for the majority of network applications, since while the data being passed between network nodes will be more complex, access to it would be more general and flexible.

    Please also note that you could replace the word CORBA in the above post with SOAP, or any other distributed network application protocol with sufficient momentum and protability to potentially become the standard. In fact, SOAP (or a twisted version thereof) is going to be a major component of Microsoft's .NET framework, which, for all the hatred and suspicion I have of MS, is likely going to do some fucking impressive things for distributed computing (at least, for those running Win2k and later). Right now, the capabilities of Microsoft software are not significantly ahead of the available free alternatives, but if MS gets a huge head start in this area, they just might be able to hold on to a new proprietary stranglehold on the business computing world.

    We should encourage experiementation with projects like the one described in the article, as a means of keeping Linux and free software as a whole on the cutting edge. This is an area where no clear leader has emerged yet, and where an early lead by free software could make a huge difference years down the road.

    Just my $2x10^-2

  94. Re:Linux microkernel by Howie · · Score: 1

    Win2k (with its 40 million lines of code -- 500% bigger than Linux -- and still called "micro").

    40 million in the kernel, or the OS? The OS includes an awful lot of extra goodies beyond the kernel... IE, Explorer, Notepad, that crappy pinball...

    --
    "don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
  95. Sounds good for... by Tom7 · · Score: 3

    This idea sounds good for:

    1. Remotely debugging device drivers

    2. Security holes

  96. Clustering... by Bob+McCown · · Score: 2
    No, not a Beowulf cluster, but I wonder if this could be extended, etc, to actually spread a kernel around to a dozen 486's, to improve the price/performance ratio. Also, I wonder if you could do redundancy, i.e. have a failsafe machine with an identical module. Considering I have a couple dozen 486/66's sitting doing nothing (well, besides gathering dust)...

    Hmm, just what I need, another project.

  97. Re:Linux in education: it is! by DigiDarkCloud · · Score: 1

    All CS departments should adopt Linux as the basis for their operating system courses since it allows exactly this sort of experimentation.

    In some places it already has been. The story gives one example; also, Prof. Steve Mann at the University of Toronto has undergrad students under him do their thesis work in Linux, since that's what runs his wearcomp.

    I find it quite appropriate that Linux is getting use in schools. Correct me if I'm wrong, but didn't Linux start in the first place as Linus' school project?

    ---
    Be gentle, it's my first post!
    --
    SIG: 11
  98. Re:well...LIKE THIS? by Anonymous Coward · · Score: 1
    This joke is getting a bit tired already.

    Use your time better and make an ascii giver instead.

  99. Re:wouldn't it be better if... by whydna · · Score: 1

    thttpd claims that it'll smoke the crap out of apache. I haven't had the time to test it, but I wouldn't be surprised. Apache is a busy program... it has a lot to do.

  100. HURD by enterfornone · · Score: 4

    The HURD is apparently going to offer CORBA as the primary means of inter-proccess communication. And due the HURD's micro kernel architecture it can probably be done without the bloat of having an orb compiled into a monolithic kernel.

    --

    --
    enterfornone - logging in for a change
    1. Re:HURD by Anonymous Coward · · Score: 1

      (+4 informative) and flat our wrong. gotta love slashdolts.

      (The question on everyone's mind is: did enterfornone actually believe that bullshit, or did (s)he just craft that post to see how high incorrect karma whore posts could go?)

    2. Re:HURD by enterfornone · · Score: 1

      the latter. fortunatly there is no -1 wrong around here

      --

      --
      enterfornone - logging in for a change
  101. A few clarifications about kORBit... by sabre · · Score: 5
    Hey all, here's a few responses to the feedback we've received so far, hopefully this will clear up some of the FUD:

    1. NO, we do not expect this to go into any mainstream kernel any time soon. :)
    2. YES, this is an awesome way to play with and prototype kernel functionality in user space.
    3. NO, this does not work with other OS's. Although, there is no fundemental reason why it cannot be ported... again.
    4. YES, this does mean that if it was ported to other OS's that you could trivially write portable drivers.
    5. NO, we are not planning on porting GNOME to the kernel. :)
    6. YES, SOME user space code can do good things in the kernel, particularly network-centric code. Think kHTTPd or kNFS.
    7. NO, at least not without some redesign of GNOME, this will not make GNOME/bonobo faster.
    8. YES, security can definately be improved [err, well, ahh, be implemented? ;)]. We have one proposal from Miguel de Icaza on improving the security to the point of NFS. Other schemes could definately be implemented, we just haven't started thinking about it.
    9. NO, this does not "severely bloat your kernel", it adds about 150k of space when compiled in debug mode. This is still a very alpha version, btw, and there is still a lot to reduce out.
    10. YES, you can now write your device drivers in C++. :)
    Anyways, if you have any other questions, feel free to contact us. :)

    -Chris

  102. Lots of time by Amigori · · Score: 2
    These guys had too much time on their hands. Although they did say it was a school assignment. Good thing they said its experimental and stated it has no security.
    The mainstream press could blow this totally out of context. Worse case scenario, the press says this is Linux's next kernel, which its not. Just an experiment that can be ported in future if they want.

    Amigori

    ----------
    Its alive!

    --
    "The quality of life is determined by its activites."--Aristotle
  103. Re:But is this really bloat? by ttfkam · · Score: 1

    > You know, things like khttpd and that sort of
    > thing (I'm sorry, but a Web server is no more an
    > integral part of the OS than a Web browser).

    On the contrary, a web server has more in common with an NFS server than a web browser.

    Let's think about what a web browser does. It opens socket connections, it sends requests/responses, it parses a data stream and transforms that parsed input into a visually pleasing (at least some of them... :)) GUI representation of that data.

    Let's think about what a basic web server like khttpd does. I accepts socket connections, sets some variables, looks up local files and passes the file data through the client-initiated connection. Khttpd is unique in that it passes unrecognized requests to user-space (not rocket science).

    Let's look at what NFS does. I accepts socket connections, looks up local files, handles file locks to avoid write contention, accepts file data sent to it, and sends file data to the client.

    Both NFS and khttpd handle file I/O -- a duty generally attributed to the kernel.

    > This is less of an issue in an Open-Source
    > kernel than it is in a closed-source one...

    #include <soapbox.h>

    Open Source != less buggy. Open Source simply makes bugs visible to more people -- ESR's principle that "given enough eyes, all bugs are shallow." It is possible for a closed source alternative to be technically superior to an Open Source model. Haven't most poeple on Slashdot heard of BeOS yet!?

    Microsoft did not kill (or heinously wound depending upon your point of view) IBM and Apple. Arrogance did IBM and Apple in. Microsoft was simply there to pick up the baton.

    The worst thing that you can do for the Open Source (Free Software, Libre Software, whatever) movement is *assume* that the solution that you prefer is better simply because it is the solution that you prefer. This is the fastest way to become blindsided by the truth.

    > However, there's the distinct problem that it
    > needs better testing for security issues;
    > something of this complexity can't be allowed
    > into the kernel until it's rock solid for
    > obvious reasons.

    Your statement is inflammatory for the following reasons.

    1) At this point, there isn't much in the Linux kernel that isn't complex.
    2) NOTHING should be allowed into the kernel until it's rock solid for obvious reasons.
    3) Comparatively little IS allowed into the stable kernel proper until it's rock solid for obvious reasons.

    I say BRAVO! to the authors of this kernel hack. If it turns out to be useful, horray for Linux because it is good. If it turns out to be crippled by design, horray for Linux because they could try.

    How many great works throughout history have been squashed or postponed because others said it should not be done?

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  104. Linux: it's not a microkernel by 1010011010 · · Score: 3

    ... but it plays one on TV.


    ________________________________________

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    1. Re:Linux: it's not a microkernel by boarderboy · · Score: 1

      I run Linux and I only have to reboot when I accidently step on the power strip button(this actually happend a few days ago). My resourse leaky apps get deleted and there is always a new, less buggy version to install for free.

      Who the hell pays good money for an OS that slows down when it runs for a while. Think about that - It slows down when it runs!

      And It has never crashed, not even with the shit-generic video card.

      Matt Newell

  105. Re:boo hiss by ttfkam · · Score: 1

    > The closer Linux gets to being more like windows
    > the more bloated and unstable it becomes.

    Bloated with what exactly? Bloated because it supports more hardware than ever before? Bloated because it supports more platforms that ever before? Bloated because it's faster than ever before? Bloated because it handles more drive space and RAM than ever before?

    Or bloated because the codebase has grown due to the above reasons? You might as well call a trilogy bloated because the first book was good.

    It's GPLed code. Don't want a lot of the "bloat?" Take it out and compile just what you need. Think that the previous versions of the kernel were better? No one's stopping you from using them. Don't like the rest of the trilogy? Throw away the last two books and simply re-read the first one.

    And finally, if the Linux kernel is so bloated, than how did an IBM engineer port it to a wrist watch? Answer: He took what he needed and threw the rest away.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  106. Distributed OS by EngrBohn · · Score: 3

    It's an interesting experiment in creating a distributed operating system, but it's certainly nothing to put on your production system. Give it a few years (assuming people are willing to actually explore this) and it just might be something Tanenbaum would put in his next book (or maybe not). I also gotta wonder what the performance hit is, when the module you want is on the same machine requesting it, vs the non-Corba kernal (obviously if the module is on anther machine, you've got to deal with network latencies).
    cb

    --
    cb
    Oooh! What does this button do!?
  107. Re: THANK YOU by nd · · Score: 1

    It's pretty bad when no one "gets it" until comment #37... before this post I see people getting moderated up to +4 Insightful for completely idiotic pseudo-technical posts about making it faster.

  108. Time to read up on Operating Systems by msobkow · · Score: 1
    It's time a few people out there read up on the goal and purpose of the O/S. The O/S is responsible for process management and scheduling, resource management and sharing, low-level security checking (process-->user/group mapping), and isolating program interaction to safe APIs.

    There isn't really anything wrong with writing kernel modules in order to support appliances. It's probably going to be one of the biggest benefits of the Linux kernel architecture, but that doesn't mean modules like khttpd or ORBit should be part of the main kernel distribution.

    If you know what you're doing and want to build a custom appliance (e.g. super fast web server), you can add in the modules you need. But by no means should this stuff be part of the standard kernel -- that just starts to smell way too much like Microsoft's "design", with all of the resulting interdependance and patch bloat.

    And before you start claiming that you need the performance boost, take a look at how much it would cost to upgrade your CPU, add more memory, or otherwise boost your system. Is it really worth risking system stability to save those few dollars? If you need that kind of performance, aren't you probably in a commercial environment that can afford the hardware?

    --
    I do not fail; I succeed at finding out what does not work.
  109. wouldn't it be better if... by ddent · · Score: 2

    We already have a web server, an nfs server, and others in the kernel...

    We do this for performance reasons - a user land program can't get anywhere near the same perf. as being in the kernel...

    But honestly, programs don't belong in the kernel! (I'm not even going to touch upon the possibilities of a program in the kernel had a sploit...) Why don't we just improve the methods of user land programs communicating with the kernel so they can have performance as good asor so-similarily-it-dosen't matter as being right in the kernel? In the long run, wouldn't this be a better way to go?

    P.S.
    I don't do kernel coding, so please don't tell me to do it myself. You really don't want me touching your kernel anyway! Or perhaps its just not possible, but then how does the hurd have acceptable performance? or does it...

    1. Re:wouldn't it be better if... by squiggleslash · · Score: 2

      IIRC it doesn't even bring that great an efficiency improvement. While khttpd is significantly faster than Apache, I've seen statistics that look at some of the more optimised web servers, and the performance difference between those and khttpd is usually less than 10%.
      --

      --
      You are not alone. This is not normal. None of this is normal.
  110. Re:This is kinda cool... by vsync64 · · Score: 5
    This is a cool attempt.. for one thing it shows how flexible the linux kernel is.

    Um... Not really. It's almost trivial to put something inside of something else, as long as you write good interfaces. And the more 3rd party code you accomodate, the more risk there is of unstable code crashing the system, or of security breaches.

    If necessary, kernel interfaces to userland programs are probably the best way to go, but even then you're not necessarily safe. Remember: try to run code as an unpriveleged user at first, then as root if necessary, but only in kernel space as a last resort.

    but it would be funky having device drivers loaded from anywhere using this technology!

    Like Jini? I hope you're not suggesting we embed the JRE into the kernel! That would be grotesque, despite the niftiness... No! No niftiness! Don't tempt me! Back!

    --

    --
    TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
  111. boo hiss by evil-beaver · · Score: 3

    The closer Linux gets to being more like windows the more bloated and unstable it becomes. and yet even most Linux users must admit with every release of windows, windows suck less and less. Linux kernel hackers aka "people with too much free time on there hands" are only too willing to overload the kernel with unnessasary crap. i'll give credit where credit is due, MS knows that some think windows suck and they actively go out to make it work better. that takes direction, the kind that Linux currently lacks.

    1. Re:boo hiss by divec · · Score: 1
      "people with too much free time on there hands" are only too willing to overload the kernel with unnessasary crap.

      You seem not to have gathered that the topic of this article, ORBit, won't be in the official kernel any time soon (if ever). It is just a patch which you could install if you wanted to work all the weird and wonderful wizardry which it enables.
      --

      perl -e 'fork||print for split//,"hahahaha"'

    2. Re:boo hiss by evil-beaver · · Score: 1

      yes I agree totaly, if you don't like it or need the extra features simply don't include it in the kernel, I have no problem with this concept. what I have a problem with is, if the goal is to compete with and eventualy overtake windows on the desktop, wouldn't the inclution of extra kernel bloat be nessasary? windows is loaded with extra functionality, it's loaded with extra kernel includes that really don't have to be there, but are included for ease of use ect. I think in order to really push Linux to the point of total equality with windows ( at least on the desktop )the Linux kernel may have to suffer lesser degree of stability. In the meantime MS makes windows suck less, in terms of server uptimes/stability as well as on the desktop. Is Linux on the desktop really that important?

  112. Re:well...LIKE THIS? by King+Africa · · Score: 1

    I agree!

  113. Corba != GUI by StrawberryFrog · · Score: 3

    > wouldn't be the first OS to more closely tie the GUI to the kernel.

    I shouldn't have to say this here, but CORBA has nothing to do with GUIs, except that it is a necessary service for Gnome's particular architecture.

    This article is good news because it allows the ORB to be used in non-gui contexts. I'm not saying that it should be part of the kernel, but it should and can be decoupled from GNOME. Modularity. Reusability. Flexibility. These are all good things.

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  114. Re:Hmmm by BradleyUffner · · Score: 1

    Im pretty sure that the entire kernel muct fit inside real memory, it can't be paged out to s swap file / partition.

  115. it's about time... by q000921 · · Score: 2
    While the Linux kernel is very useful, it is also quite antiquated in its feature set, architecture, and extensibility. That's why kernel releases become ever more complex and take longer and longer: everything can potentially depend on everything else, and many kernel extensions need to be recompiled for every new release.

    Mach-like kernels attempt to address this problem by dividing the kernel into "servers". Other kernels address it by using languages that have better support for modularization (SML, Java, etc.). Because the Linux kernel is monolithic and written in C, there aren't a whole lot of choices for how to achieve this. Exploring putting a system like CORBA into the kernel seems like a sensible approach. I don't think CORBA and kORBit is going to be the long term solution, but it may be a good testbed for these ideas.

  116. We were, until by King+Africa · · Score: 1

    the colonial powers left and we became independent.
    Also, christianity mainly means killing muslims and not using condoms for most of us.

    What would happen? Nude men with AK-47's would come and take you away.

  117. Re:can someone please tell me... by Ethan · · Score: 2

    what is CORBA anyway? I haven't been able to figure it out.

    CORBA (Common Object Request Broker Architecture) is a method of decoupling "objects" (read: chunks of code) from their physical location, programming language, and implementation details. What this means is that I can have a CORBA object implementing a particular "interface" that is running on an iMac in London, England and use it just the same as if it were local to my box in Ohio, USA. Obviously there would be network latencies, but the functionality would be identical...

    What's more, the module on the iMac can be written in Eiffel while my program (the one using it) is written in Smalltalk; CORBA doesn't care as long as both computers have a compatible ORB.

    What this is supposed to enable is interchangeable software "parts". For instance, I have an email application that requires and "address book" CORBA object; I would query the local ORB and say "hey, I need an 'address book'". The local ORB would hand me whatever address book was available; it might not be the same address book you use, but if it exports the same interface neither of us has to care. The details are handled within the ORB.

    All of this is very cool, but I'm not sure how much I like CORBA or not. :-)

  118. Re:next logical step by Fesh · · Score: 1
    Isn't that much the same thinking that has most of IE's components loading when you boot Win98?


    --Fesh

    --
    --Fesh
    Kill -9 'em all, let root@localhost sort 'em out.
  119. Linux microkernel by Sylvestre · · Score: 2

    The proper way to fix Linux is to fix Linux, not to hide all the broken stuff under a layer of latency-adding abstraction. Do you ever do performance tests on your ideas or do you just code with the force? Very non-obvious things can have huge impact on performance and therefore usability. Adding a layer of abstraction will not help.

    If you think I'm wrong, look at NT... it's all abstracted. If you want NT you know where to get it.

    1. Re:Linux microkernel by j-pimp · · Score: 1

      Could it be that the beautiful modular, abstract and machine-independent OS that looked great on paper didn't work so well in practise?
      Or could it be that Bill didn't want to invade the big boys turf? Sure sounds like a karma whore consperiacy theory at first, but think about it for a minute. NT squashed out netware initially as well as the nich OS/2 warp server and i386 Un*x markets. Markets he could handle at the time. It made sense to market it as using a Microsoft server OS for Microsoft clients. Managers bought it. Had a multi platform mature server OS been marketed it would invade the markets of VMS and Solaris. They would then fight back by either marketing their current Server/Xterminal envirorment towards microsoft shops or entering the low end server market. All that was needed was for them to make a free Windows NFS client. Bill didn't want to wake those giants yet.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    2. Re:Linux microkernel by pranalukas · · Score: 1

      It's Win2k kernel that has 30-40 million lines of code! That's jumbo! Read: http://www.fish.com/security/20-20-essay.html

      And Linux kernel itself is around 2 - 2.5 million lines of code.

    3. Re:Linux microkernel by vsync64 · · Score: 3
      If you think I'm wrong, look at NT... it's all abstracted.

      Well, NT used to be abstracted. NT is a sad story, really. Micros~1 got a whole bunch of top-notch engineers (Dave Cutler, the VMS guy, being probably the most famous one) and told them to make the next-generation OS.

      The engineers were gung-ho about it, and designed it to be modular, abstract, and machine-independent. Management, however, was actually against these attributes and turned NT into something much less wonderful. NT used to run on x86, Alpha, MIPS, and PPC, but those were gradually killed off so that only Intel remains.

      Heh, I got most of this info from a book I was browsing at the story but didn't have the money to buy. I wish I had; NT is one of the great tragedies of our day.

      --

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
  120. Gnome... by YxorY · · Score: 1

    Gnome ported to windows... Gnome orbit into Linux kernel... What's next? Gnome takes over the world?

  121. next logical step by chegosaurus · · Score: 1

    So who's going to put Mozilla into the kernel?

  122. Re: Latency problems... by sabre · · Score: 1
    Just wanted to clear up one thing here... the latency problems are not INTRINSIC to kORBIT, it's just a bug that hasn't been fixed yet. Latency should be much better than user space orbit eventually, because of reduced context switch overhead. :)

    -Chris

  123. That still wouldn't make mozilla run fast :) by tenor · · Score: 1

    Can't wait for the mozilla team to finish those performance enhancements...

    --
    Opinions change daily as new information arrives. Stay tuned.
  124. User-space OSes and kernel-space applications =... by cpeterso · · Score: 2

    This reminds of a joke one of my CS graduate profs told about the "endo-kernel" (a pun on MIT's exo-kernel). The exokernel is an extreme microkernel operating system the provides direct hardware access for each application. The endo-kernel, however, runs its OS in micro-kernel userspace processes for protection and runs user apps in the kernel space for performance! ;-)


  125. This Is Actually Cool by Mercster · · Score: 3

    I know most people will shudder, but this is possibly great news for Linux on the desktop.

    If more and more of the infrastructure of a desktop environment (like GNOME) could be moved into kernel space, it wouldn't be the first OS to more closely tie the GUI to the kernel. As long as all the pieces are stable and the whole operation was well thought out (admittedly, not a trivial expectation for Linux code) it would surely mean a more integrated (and speedy) desktop. There's alot you can't do with a GUI in UNIX because of the rift between userland and kernelland.

    Imagine...GNOME/Linux on store shelves, with a custom kernel patched to take advantage of this. GNOME bigots, I can hear you gagging, but noone really cares ;-).

    Mercster

    --
    -- Merc "And you thought you were your own worst critic."
    1. Re:This Is Actually Cool by vsync64 · · Score: 1
      There's alot you can't do with a GUI in UNIX because of the rift between userland and kernelland.

      Like what? I'm curious.

      --

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
  126. Re:User-space OSes and kernel-space applications = by pb · · Score: 2

    That actually *is* pretty funny. :)

    The sad thing is, I remember some of the old "performance tricks" we'd do in DOS.

    Like, if you've got a tight loop that you want to run quickly, make sure you put some inline assembler around it...

    cli

    sti

    That way, you aren't bothered by those useless "interrupts" that the Operating System is always doing. I mean, really, what good are those? ;)
    ---
    pb Reply or e-mail; don't vaguely moderate.

    --
    pb Reply or e-mail; don't vaguely moderate.
  127. What? by huma · · Score: 1

    Why every ridiculous post in Slashdot contains the words GNOME? Maybe because they don't know how to improve the desktop (o whatever they think it is) and spend their time doing useless ports and useless "projects".

  128. Re:Linux in education: it is! by dimator · · Score: 1

    This has happened at UCLA too. The OS course now uses linux for it's projects. Unfortunately, I took it a couple years ago when they were still using MINIX!


    --

    --
    python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
  129. Re:URGENT: Money $$$ ��� needed!! by DrSkwid · · Score: 1

    Like someone who says being beaten as a child did them no harm yanks like you can't even see that power is not perfection

    admittedly you have the skankiest crak houses in the world but it isn't much to talk about
    .oO0Oo.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  130. But is this really bloat? by Millennium · · Score: 5

    I don't think a kernel ORB would be bloat. If anything, it could lead to a [em]de-[/em]bloating of the kernel, because it would allow us to remove things that really don't belong in the kernel. You know, things like khttpd and that sort of thing (I'm sorry, but a Web server is no more an integral part of the OS than a Web browser).

    In addition, it would allow for a much more robust and powerful way of extending the kernel. This is a Good Thing, because the componentized architecture makes sure that this can be done without introducing instability. This is less of an issue in an Open-Source kernel than it is in a closed-source one, of course, but it's still an important advantage that should not be overlooked.

    ORBit itself has the advantage of being small. This is a big thing, since it minimizes size bloat. Its performance is also pretty good (though it could use some improvement), and would get faster in kernelspace. This is also a Good Thing. However, there's the distinct problem that it needs better testing for security issues; something of this complexity can't be allowed into the kernel until it's rock solid for obvious reasons.

    But overall, I say go for it. The potential benefits of CORBA in the kernel are simply too great to ignore.
    ----------

  131. Kernel bloat by Tetsujin · · Score: 1

    "...or have you been able to compile a 2.4 kernel as zImage?"

    Yes, I have. I needed to build a kernel for an IBM 730T (tablet computer with PCMCIA hard drive) which I could loadlin and fit on a ramdisk. Disable the extra features and you get rid of the bloat. It's really that simple.

    --
    Bow-ties are cool.
  132. Modern kernels by ChaoticCoyote · · Score: 2

    Linux is based on venerable technology -- but that technology doesn't account for new concepts and developments in software and operating systems.

    A kernel should be small, concise, and to the point. It should be easy to hang device drivers and other "low-level" tools, while providing for extensions through a standard, well-defined object module.

    An ORB should be part of the kernel; HTTP should not. HTTP support should be implemented as an object that is installed, as needed; the kernel should not need to be recompiled to change its functionality.

  133. my Perl net device driver by Micah · · Score: 1

    sub Send_Packet {
    ($data, $dest, $port) = @_;
    if ($dest eq "slashdot.org" && port == 80)
    {
    return 0 if $data =~ /f(irst\s)?p(ost)?/;
    }
    # continue...
    }

    if only Red Hat would ship THAT with their default distro...

  134. Low-level CORBA by Animats · · Score: 2
    I'd argue that having part of an ORB in the kernel isn't a bad idea. Only the "call" operation needs to be in the kernel, though; setup, teardown, and lookup should all be outside. In fact, if you're willing to struggle enough with x86 segmentation, it may be possible to implement interprocess calls without going through the kernel, using the "task gate" hardware nobody ever uses. I'm told that SPARC machines have even better interprocess call hardware. With better hardware support, this could actually work. Interesting thought - could you simulate such hardware on Crusoe? Might be an effective way to make this work.

    If CORBA is fast enough, you should then be able to start taking stuff out of the kernel, such as networking and file systems. This could make the system much more robust, and far easier to debug.

    The big problem with CORBA is that marshalling, copying, interprocess control transfer, and unmarshalling is expensive. But it doesn't have to be; look at L4, EROS, or QNX, which can call from one process to another very fast.

    Another big problem is figuring out a security model for this. CORBA's own security model hasn't been that useful in practice.

    Still, all this is a step in the right direction. All the heavy thinking in OS design for years has been that systems ought to be more modular and more decoupled, but getting the decoupling overhead down is a problem.

  135. Thank You. That post deserved higher moderation. by maynard · · Score: 1

    That was a highly informative post, Mr. Anonymous Coward. Too bad only one moderator decided to +1 it up. What you describe could be done in BSD or Linux with a userland display service communicating to either the video metal or a kernel space frame buffer device, but it would have to be pervasively threaded along with all the application widget libraries, and it would be a completely different protocol and design from X. Actually, it sounds pretty cool. :-) Is it network transparent, and designed to be remote displayable?

    Still, as far as a single serial event stream is concerned, I doubt X is any more faster or slower than most others. Though I have to admit, the design you describe (in only a few paragraphs) makes me want to take a closer look at Be, if only to get a basic understanding of it's underlying mechanisms. Given what you wrote, it appears different, and in certain circumstances, more efficient, than X. I'd be particularly interested to read any knowledgeable posts which contradict your post, in terms of efficiency (that is, I believe that what you wrote is technically accurate, but wonder if others contradict you on performance).

    Thanks again for your reply.
    --Maynad

  136. Linux in education by smartin · · Score: 3

    What a great platform Linux is for as both an teaching aid and as the basis for experimental work. All CS departments should adopt Linux as the basis for their operating system courses since it allows exactly this sort of experimentation.

    --
    The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.