mstone's Profile

  • Apr 11, 2007
  • 1
  • 0

Latest comments made by: mstone

  • Microkernels offer more than just a speed/security tradeoff. In the monolithic kingdom, everyone deals with the king directly, so everyone has to obey the king's law. And since the king does have to deal with everyone, his laws have to be of the 'one size fits all with (hopefully) minimal inconvenience' variety. The microkernel kingdom, OTOH, has 'castle law' and 'local law'. Castle law sets the rules for how the ministers interact with the king. It only exists inside the castle, and the people are free to ignore it. Local law sets the rules for how the people interact with the ministers. That only exists outside the castle, and the king is free to ignore it. This arrangement makes each minister a translator between Local law and Castle law. It gives the ministers enough power to divide the country up into states, each with its own body of law. Now, it's true that having to translate from Local law to Castle law and back again seems like a waste of effort if you only have one minister/state in the kingdom, but it starts to look pretty good if you want to diversify. In practical terms, the minister/states are operating systems. A microkernel can run several different operating systems at the same time, just the way a modern operating system can run several different programs at the same time. The buzzword for this is 'virtualization'. With a microkernel, even a semi-monolithic one like OS X's, it's fairly easy to set things up so you can run OS X, Windows, and Linux all at the same time, with complete integration for things like cut-and-paste from one operating system to another. A Windows program will use the standard Windows 'cut' rules, but then Windows itself will use the microkernel's rules to send that data 'inside the castle'. Then an OS X program can use the OS X 'paste' rules, and OS X will pull the information 'out of the castle'. Niether the Windows program nor the OS X program need to know or care that the data passed from one operating system to another, and it only takes a relatively small amount of tweaking at the OS level to make it all work. Think 'Classic' or 'X-windows environment'. Better still, if Gnome, KDE, or anyone else wants to join the party, they only need to learn how to talk to the microkernel, and they automatically get full integration with every other OS on the machine. That flexibility more than outweighs the loss of speed from microkernel overhead, especially when you consider how much time the CPU spends sitting idle as it waits for the user to press the next key.
    mstone had this to say on Apr 18, 2006 Posts: 1
    How Long Will Apple Keep the MACH Microkernel?