Page 5 of 5 FirstFirst ... 345
Results 41 to 47 of 47

Thread: Torvalds: User-Space File-Systems, Toys, Misguided People

  1. #41
    Join Date
    Oct 2007
    Posts
    29

    Default

    Quote Originally Posted by drag View Post
    A hybrid kernel is a term made up to cover for the fact that Apple was full of shit about using a Microkernel from day one.

    Microsoft actually had the balls to try to put a microkernel into production. NT, for very early versions, actually had a microkernel. But they figured out why Linus was right and abandoned that design.

    They may retain some 'microkernel'-isms here and there, but they are not Microkernels by any stretch of the imagination.

    This is a good thing as Microkernels are much larger, much more complex, and much slower then monolythic.
    Why do people keep repeating the same myths about microkernels? These myths have been proven false but they keep persisting and people keep repeating them.

    Microkernels aren't more complex , in fact the whole point behind microkernels is for a more reliable and simpler design overall by separating things into lots of simpler services.

    Micro-kernels aren't slower , yes some were slower but that was due to poor design decisions to do with process handling and inter-process communication. There are simple solutions to handling that. If one adopts the simple solution of switching to the IPC destination instead of letting the scheduler treat it like a normal scheduling event , we avoid the slowdown because we avoid the latency of having to wait for two additional scheduler rounds.

    When it comes to size, there isn't any significant penalty in either memory usage or lines of code , and memory usage can be smaller due to only having the necessary services and drivers loaded, and loading them on demand.

    Micro-kernels require paying attention to process handling , inter-process communication and memory management but you need to pay attention to them anyway since they are exactly the same things you need to pay attention to when it comes to multi-{threaded/process} programs.

  2. #42

    Default

    Quote Originally Posted by Ze.. View Post
    Why do people keep repeating the same myths about microkernels? These myths have been proven false but they keep persisting and people keep repeating them.
    Any proofs?

  3. #43
    Join Date
    Jan 2008
    Location
    Have a good day.
    Posts
    678

    Default

    Quote Originally Posted by energyman View Post
    and with ntfs you need third party drivers in linux.

    Who uses XP anyway? That is so 2001....
    Simple, all the people who owns a Windows XP disk and managed to avoid later reincarnations of Microsoft OSs.

  4. #44
    Join Date
    Apr 2009
    Posts
    66

    Default

    Quote Originally Posted by kraftman
    Any proofs?
    Just google either for "Minix" or "Coyotos" (sadly defunct due to the creator taking a job elsewhere) and you'll find plenty of information about microkernels, their advantages and how their challenges are approached.

  5. #45
    Join Date
    Apr 2008
    Location
    Saskatchewan, Canada
    Posts
    444

    Default

    Quote Originally Posted by Wingfeather View Post
    Just google either for "Minix" or "Coyotos" (sadly defunct due to the creator taking a job elsewhere) and you'll find plenty of information about microkernels, their advantages and how their challenges are approached.
    You'll also note that although Minix inspired Linux, Linux did not adopt the same microkernel design. Generally speaking in the past it seems to have added a lot of complexity for little real-world benefit, though as the number of CPU cores continues to increase we may have to switch to a more distributed kernel model to make best use of them.

  6. #46
    Join Date
    Oct 2009
    Posts
    845

    Default

    Quote Originally Posted by Ze.. View Post
    Micro-kernels aren't slower , yes some were slower but that was due to poor design decisions to do with process handling and inter-process communication.
    What are you talking about? Of course they are slower, communicating through message passing will always be slower than communicating through shared memory. It's true that microkernels have worked hard on improving the speed of message passing, like grouping chunks of messages instead of passing them one by one for example. BUT IT IS STILL SLOWER. That's the price you pay for the safety of truly separated processes were if one crashes it won't bring down the system or even any other process, sometimes it's worth that price but again IT'S SLOWER. Microkernels has some undeniable benefits but speed certainly isn't one of them.

  7. #47
    Join Date
    Apr 2008
    Location
    Saskatchewan, Canada
    Posts
    444

    Default

    Quote Originally Posted by XorEaxEax View Post
    What are you talking about? Of course they are slower, communicating through message passing will always be slower than communicating through shared memory.
    Indeed. I was reading about the latest version of Minix yesterday after reading this thread and one thing one article said was that writing to an I/O port through the microkernel only took 500 nanoseconds. Which doesn't sound so bad until you realise that it's typically 1,000-1,500 clock cycles on a modern CPU.

    Fortunately it's not something that drivers do often (I'm guessing 90+% of I/O these days is memory mapped) and I/O writes are slow anyway, but it's still a pretty significant amount of time for what would otherwise be a simple instruction in the kernel.

    That said, kernel performance probably doesn't matter much in normal desktop use; it's much more important in specialised uses like high-performance web servers where you really don't want to be taking the hit of continually going in and out of user space to send network packets.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •