Slashdot Mirror


Europe Funds Secure Operating System Research

narramissic writes "A Dutch university has received a $3.3 million grant from the European Research Council to fund 5 more years of work on a Unix-type operating system, called Minix, that aims to be more reliable and secure than either Linux or Windows. The latest grant will enable the three researchers and two programmers on the project to further their research into a making Minix capable of fixing itself when a bug is detected, said Andrew S. Tanenbaum, a computer science professor at Vrije Universiteit. 'It irritates me to no end when software doesn't work,' Tanenbaum said. 'Having to reboot your computer is just a pain. The question is, can you make a system that actually works very well?'"

376 comments

  1. Wait a second... by Anonymous Coward · · Score: 5, Funny

    I thought Windows was secure. Why not use that? *cough* *cough*

    1. Re:Wait a second... by 4D6963 · · Score: 4, Insightful

      I thought Windows was secure. Why not use that? *cough* *cough*

      I thought OpenBSD was secure. Why not use that?

      --
      You just got troll'd!
    2. Re:Wait a second... by polar+red · · Score: 0, Redundant

      I thought Windows was secure. Why not use that? *cough* *cough*

      I thought OpenBSD was secure. Why not use that?

      I thought DOS was secure. Why not use that?

      --
      Yes, I'm left. You have a problem with that?
    3. Re:Wait a second... by Anonymous Coward · · Score: 3, Funny

      I though Minix was dead for some 15 years....

    4. Re:Wait a second... by Zumbs · · Score: 2, Funny

      I thought Windows was secure. Why not use that? *cough* *cough*

      I thought OpenBSD was secure. Why not use that?

      I thought DOS was secure. Why not use that?

      I thought stone tablets were secure. Why not use them?

      --
      The truth may be out there, but lies are inside your head
    5. Re:Wait a second... by Anonymous Coward · · Score: 2, Insightful

      It is. This is just some researchers grabbing fund money. Nothing will come from this.

    6. Re:Wait a second... by Anonymous Coward · · Score: 1, Funny

      It was. Appearantly Tanenbaum is renaming Minix to Lazarus as we speak. In a non-related story A.T. is renaming himself to Jesus.

    7. Re:Wait a second... by xouumalperxe · · Score: 4, Interesting

      I guess the idea is less about creating an all around well-built system that's pretty secure in practice, and more about creating something that, even if it might have implementation bugs today is fundamentally, conceptually more secure.

    8. Re:Wait a second... by Anonymous Coward · · Score: 3, Funny

      I think I'd rather get raped by a polar bear than use Windows. It hurts much less.

    9. Re:Wait a second... by Anonymous Coward · · Score: 0

      I think I'd rather use Windows than Minix even if Minix would be more secure ..

      Then hand in your geek-card and don't let the door hit you on the way out.

      kthxbye

    10. Re:Wait a second... by Jacques+Chester · · Score: 4, Interesting

      The sad thing about Windows NT is that the design was pretty good, the implementation was OK, but the default security policy is totally useless. Hooray for backwards compatibility.

      --

      Classical Liberalism: All your base are belong to you.

    11. Re:Wait a second... by Z00L00K · · Score: 2, Informative

      Minix did get an reputation of being unstable some 20 years ago, but of course - much have happened since then.

      The more interesting thing is that Minix has a different architecture than Linux using a microkernel. This is in some ways a good idea, even if it also have disadvantages.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    12. Re:Wait a second... by Jurily · · Score: 1, Insightful

      more about creating something that, even if it might have implementation bugs today is fundamentally, conceptually more secure.

      So they're dropping C?

    13. Re:Wait a second... by Lord+Bitman · · Score: 1

      Why don't we all just use HURD, then?

      --
      -- 'The' Lord and Master Bitman On High, Master Of All
    14. Re:Wait a second... by Hurricane78 · · Score: 4, Interesting

      That was my thought too. If you want to do it right, why not program it in Haskell in the first place. Sure, it might be a little bit slower (not even much actually). But if you go for security, that's not that important anyways.

      Now how they will solve the PEBKAC problem, if they end up with a TCPA-like system (in the original intended way of protecting the user, not protecting from the user) and what they will do against tricks like remotely reading computer input, the inevitability of programming errors and bios virii, is a completely different question.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    15. Re:Wait a second... by entgod · · Score: 1

      You mean like how we all use linux on the desktop? ;)

      Kidding, of course. Most anyone DOES use linux on the desktop, don't they :)

    16. Re:Wait a second... by Burnhard · · Score: 2, Insightful

      I hacked Minix a new memory manager in a System Programming at University class back in 1996. I'm quite literally apathetic with incredulity that the EU are funding further development. Why not get undergrads to do it for free?

    17. Re:Wait a second... by plus_M · · Score: 1, Funny

      *cough* *cough*

      Oh shit guys AC has the swine flu, we're all fucked!

    18. Re:Wait a second... by Anonymous Coward · · Score: 0

      I thought Windows was secure. Why not use that? *cough* *cough*

      what a terrible cough you have there

    19. Re:Wait a second... by ShieldW0lf · · Score: 1

      That's what MINIX reminds me of too...

      --
      -1 Uncomfortable Truth
    20. Re:Wait a second... by c0p0n · · Score: 1

      I don't see how the parent is funny. OpenBSD is quite possibly the most secure OS around. At least for an OS that you can use for both server and desktop.

      --

      Your head a splode
    21. Re:Wait a second... by dmbasso · · Score: 1

      You don't come here to hunt, do you?

      --
      `echo $[0x853204FA81]|tr 0-9 ionbsdeaml`@gmail.com
    22. Re:Wait a second... by Anonymous Coward · · Score: 0

      You chose neither.

      And you're an idiot for thinking so.

    23. Re:Wait a second... by Anonymous Coward · · Score: 3, Informative

      Try OpenVMS, a considerably more secure operating system than any Unix variant.

      OpenBSD is relatively bug free, but that only makes it superficially more secure than more popular, usable, operating systems. As a basic example, virtually every application not audited by the OpenBSD team themselves opens a potential attack vector. That's true of most operating systems. But VMS at least had the advantage of a locked down privilege system that made it much harder for a hole in an application to create a space where user files, let alone system files, were suddenly attackable.

      And, yeah, I'm aware you mentioned the possibility of running OpenVMS on the desktop. DEC made a few "desktop" VAXes and Alphas in their time, and DECWindows was the user interface.

    24. Re:Wait a second... by mustafap · · Score: 0, Offtopic

      >In a non-related story A.T. is renaming himself to Jesus.

      In a non-related story RMS is renaming himself to Jesus.

      There, fixed that for you.

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    25. Re:Wait a second... by mustafap · · Score: 4, Interesting

      If you don't understand security it wont matter what language you write in, it will still be crap.

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    26. Re:Wait a second... by jellomizer · · Score: 1

      Ill Use HURD when there is a Duke Nukem for ever native port to it.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    27. Re:Wait a second... by jaroslaw.fedewicz · · Score: 2, Funny

      > In a non-related story RMS is renaming himself to Jesus. RMS is St. IGNUcius already, he doesn't need any renaming.

    28. Re:Wait a second... by Fred_A · · Score: 4, Insightful

      Minix did get an reputation of being unstable some 20 years ago, but of course - much have happened since then.

      The one thing that hasn't changed though is that Minix is still just a toy system that's meant to be poked at in schools and that nobody actually uses (yes I know about the 3 rabid Minix users, they probably run AmigaOS too).
      Oh, wait, now it finally supports X11 (woohoo !). Wait, has it got a mouse driver too ?

      However Minix3 *does* feature support for "Over 650 UNIX programs" (such as man, mkdir and ps). *650* ! It's like 130 × 5 ! Think about it !

      Granted, starting from a small scale system such as Minix is certainly simpler than with a much more mainstream OS such as one of the BSDs or Linux but even if anything comes out of the project, it won't ever gain even "niche" status. More people must be running Plan9 or Inferno.
      The whole idea is utterly futile, except possibly if the code or the concepts can be reused with another system later on.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    29. Re:Wait a second... by JasterBobaMereel · · Score: 1

      Windows NT had a "sort of" Microkernel - which theoretically made it more secure, but in practice it was not really a Microkernel and so was not as secure as it could be ...

      Why Minix is supposedly better than Windows or Linux is because it has a Microkernel, so it is harder for anything to kill or confuse the Kernel, and so the Kernel can always reload and recover the rest of the system if something bad happens ... it is however slower (but only slightly)

      Note the security of Minix is really stability and the Kernel is inviolate and so it is more difficult to hack and tunnel under, this is what makes it secure ....

      --
      Puteulanus fenestra mortis
    30. Re:Wait a second... by morgan_greywolf · · Score: 2, Insightful

      Absolutely right. Security is a mindset. It's a mindset that says "How can I misuse this? How can this be abused?"

      It's absolutely possible to write secure code in C. It might be easier to make a mistake in C as opposed to languages that have strict overflow checking and proper garbage collection as built-in feature, but you don't throw out the baby with the bathwater so to speak.

      I'll say this, like I always say it: there is no magic bullet when it comes to security. Even an operating system written from the ground up around security like OpenBSD can be configured incorrectly. Even an operating system written from the ground up around security can have security bugs.

      The only completely safe computer from a security standpoint is one that isn't plugged in and stored in a bank vault. With armed guards trained to shoot first and ask questions later. And security cameras. Surrounded by a moat. Filled with sharks with friggin' lasers attached to their heads.

    31. Re:Wait a second... by xouumalperxe · · Score: 4, Insightful

      Dropping C... for what exactly? We're not talking application level security. We're talking kernel level. That means talking to the bare metal. Even if you implement a microkernel with userspace modules for everything, and with those modules written in something more robust than C, that last crucial bit of code that is the microkernel itself is probably going to end up being written in C with ASM snippets, simply because at some point you need to explicitly state what the hardware is doing.

    32. Re:Wait a second... by theeddie55 · · Score: 2, Insightful

      I thought Windows was secure. Why not use that? *cough* *cough*

      I thought OpenBSD was secure. Why not use that?

      I thought DOS was secure. Why not use that?

      I thought stone tablets were secure. Why not use them?

      Because none of these suggestions is compatable with my abacus.

    33. Re:Wait a second... by DickeyWayne · · Score: 3, Funny

      I though Minix was dead for some 15 years....

      No, *Linux* is dead. Those monolithic kernels are just "one big mess!"

    34. Re:Wait a second... by ckaminski · · Score: 1

      How much of that instability was the result of design decisions to run on hardware without proper memory protection capabilities? Linux was a leapfrog in capabilities because Linus chose to target the i386, the first consumer-level 32bit processor with decent memory architecture.

    35. Re:Wait a second... by idiotnot · · Score: 1

      Windows NT 3.x was a pretty clean microkernel system. The problem was that performance sucked. So, first comes the graphics subsystem being integrated into the kernel, then the network drivers.....and soon you have something that doesn't much resemble the original (see: Windows 2000).

      While i think Tanenbaum's research is important, none of it is really novel. Commercial systems exist that fit his requirements (QNX!). It's the free software side where things are lacking, especially now that CoyotOS is probably dead (Shap going to work for MS).

    36. Re:Wait a second... by ckaminski · · Score: 1

      I feel bad for all those DNF prepaids at Babbages and the like... :-/ Money into the ether, poof!

    37. Re:Wait a second... by Antique+Geekmeister · · Score: 4, Insightful

      Yes, most developers moved to Linux and stopped writing that pesky, unstable software that anyone actually uses.

      Keeping a kernel that is 10 years behind the leading edge in file systems or communications, especially by kicking it all out of the kernel and saying "Naah-naah-naah! Not my problem!!!!" is like having a very secure car that doesn't have a reverse gear, seats, or door handles. It certainly helps contribute to stability. But the associated software to handle USB, firewire, packet filtering, or network file systems just isn't up to speed.

    38. Re:Wait a second... by ckaminski · · Score: 1

      Ah, but even then, you'll have to worry about one of those sharks betraying you and carrying a USB key full of Conficker.C to plug into the computer when you're not looking. Never trust a shark with a laserbeam on it's head.

    39. Re:Wait a second... by pasamio · · Score: 4, Informative

      Andy said at LCA2007 it was a 30% hit, I don't see a 30% performance hit being 'slightly' slower.

      --
      I always wondered where this setting was...
    40. Re:Wait a second... by ckaminski · · Score: 1

      The idea behind the Microkernel architecture is that you can more adequately prove that a small 1000 line chunk of code is provably correct than you can with a 21,000,0000 line chunk of code.

      And with almost everything going to interpreter environments today (Python, Ruby, Java, .Net), there's a better argument that building a JIT as a kernel component and that the message passing overhead is less of an issue.

      The problem is that a secure microkernel OS will probably need to make a break from some of our Unix heritage.

    41. Re:Wait a second... by Anonymous Coward · · Score: 1, Insightful

      kthxbye

      You used "lolspeak". Turn in your intelligent human card and don't let the door hit you in the ass on the way out.

    42. Re:Wait a second... by xouumalperxe · · Score: 4, Insightful

      And with almost everything going to interpreter environments today (Python, Ruby, Java, .Net), there's a better argument that building a JIT as a kernel component and that the message passing overhead is less of an issue.

      Let me get this right, after stating that the advantage of a microkernel lies in the much smaller size in LOCs, you just argued that adding JIT compiler to the microkernel itself is a good idea?

      Part of the idea behind a microkernel is that you only need to prove correctness for a small amount of code. The other part is that, when you want to add features, you only need to prove the features you want work correctly. So, instead of proving that each driver works correctly (which, for most environments where this stuff really matters, only needs to be done for a "handful" of drivers), you just upped the ante and said "prove the whole JIT compiler works correctly". And the "message passing overhead" pales in comparison with a poorly-optimized JITC, which is what you get if you want to keep TLOC count low.

    43. Re:Wait a second... by xaxa · · Score: 2, Interesting

      The whole idea is utterly futile, except possibly if the code or the concepts can be reused with another system later on.

      After reading the summary, I expect the whole idea is that the concepts will be reused in another system later on.

    44. Re:Wait a second... by gnapster · · Score: 3, Informative

      The whole idea is utterly futile, except possibly if the code or the concepts can be reused with another system later on.

      That is exactly the point of academic research. Toy systems that introduce new concepts are rarely used widely, but the concepts are borrowed for use in other systems later on.

    45. Re:Wait a second... by lordtoran · · Score: 1

      You used a vulgar word. Turn in your cultivated person card and let the door hit your forehead on the way out.

      --
      Want to hear the voice of GOD? cat /boot/vmlinuz > /dev/dsp
    46. Re:Wait a second... by Anonymous Coward · · Score: 0

      If you don't understand security it wont matter what language you write in, it will still be crap.

      But even if you do understand security, there are languages that are inerhently more secure. For example in more than ten years nobody succeded in doing a buffer overrun/overflow in a Java written app, at least not for the part written in Java.

      The only buffer overrun/overflow security issue that Java faced were due to... The use of 3rd party C-written libs (like zlib).

      Once these are rewritten in Java, goodbye buffer overrun/overflow.

      I'm all for an hypra-secure kernel written by people focusing on security first, like say some hardened OpenBSD and then for 100% of the applications written in a "secure" language, like Java.

      And, yes, I'm willing to trade a lot of speed for a reliable and secure system.

    47. Re:Wait a second... by V!NCENT · · Score: 2, Interesting

      That would take a loooooong time. First Minix needs to a reach 'gold/stable' release. Then there are the X11 galium noveau and open source ATI driver. Then we are going to need sound support, a port of Gnome and/or KDE 4.8 :') and soundcard and network drivers.

      By that time DNF is probably released for Windows NT 7.0 and Wine has kept up with Windows 7 to run it...

      --
      Here be signatures
    48. Re:Wait a second... by Fred_A · · Score: 1

      The whole idea is utterly futile, except possibly if the code or the concepts can be reused with another system later on.

      That is exactly the point of academic research. Toy systems that introduce new concepts are rarely used widely, but the concepts are borrowed for use in other systems later on.

      But will they be ? For real ? Or will they really have to be completely reinvented because in practice they cannot be ported to the completely different logical structures of a very different OS ?

      I guess only time can tell and hopefully research is never completely wasted because something is always learned. But I still wonder if starting with Minix was the right thing to do.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    49. Re:Wait a second... by Jurily · · Score: 1

      that last crucial bit of code that is the microkernel itself is probably going to end up being written in C with ASM snippets, simply because at some point you need to explicitly state what the hardware is doing.

      At which point you cannot get more secure than the hardware, so there's not much you can do at OS level.

    50. Re:Wait a second... by tepples · · Score: 2, Insightful

      Why Minix is supposedly better than Windows or Linux is because it has a Microkernel, so it is harder for anything to kill or confuse the Kernel

      What runs on a microkernel? Services. And if you exploit a highly privileged service, you've exploited the whole system. Or what am I missing?

    51. Re:Wait a second... by c0p0n · · Score: 1

      Interesting.

      --

      Your head a splode
    52. Re:Wait a second... by gnapster · · Score: 2, Informative

      It may well be that this group is "starting with Minix" because that's what they know best. I have not looked into this to know how much of the code for Minix3 is shared with prior versions. But Tannenbaum et al. know it inside out, so for them it is probably the best sandbox for these new ideas. They may already have done some work, and that was part of their argument in the funding proposal.

      My hero is G. H. Hardy, the number theorist who loved his field because it had no practical application. He would never have guessed that his concepts would be vital for public-key encryption and other things which are used by millions of people every day.

    53. Re:Wait a second... by V!NCENT · · Score: 2, Informative

      30% hit compared to what? Compared to itself if it wasn't a Microkernel?

      Remember that the microkernel has only 4000 lines of code. Remember that on Linux the graphics drivers are also in userspace, in X11, on top of the shell that is on top of the Linux kernel.

      It sure as hell shouldn't be any slower than Linux...

      --
      Here be signatures
    54. Re:Wait a second... by Jurily · · Score: 3, Interesting

      I'll say this, like I always say it: there is no magic bullet when it comes to security. Even an operating system written from the ground up around security like OpenBSD can be configured incorrectly. Even an operating system written from the ground up around security can have security bugs.

      OpenBSD was not written securely from the ground up. It was secured from an inherited codebase over a long, long time. And they have witnessed, time after time, how they combed over the source code for a specific class of bugs, cleaned it, and two versions later the same bug appeared from upstream because the programmer did not fully grok the API he was using.

      Just google for strlcpy().

    55. Re:Wait a second... by Fred_A · · Score: 1

      My hero is G. H. Hardy, the number theorist who loved his field because it had no practical application. He would never have guessed that his concepts would be vital for public-key encryption and other things which are used by millions of people every day.

      Great story :) I hope he didn't have to switch fields ;)

      --

      May contain traces of nut.
      Made from the freshest electrons.
    56. Re:Wait a second... by dargaud · · Score: 1

      Dropping C... for what exactly?

      I've been wondering about that too. Erlang or Ada maybe, as languages with built-in multithreading and no pointers they avoid entire classes of bugs. Anyway, are there real-world kernels that don't use C ?

      --
      Non-Linux Penguins ?
    57. Re:Wait a second... by Just+Some+Guy · · Score: 1

      Dropping C... for what exactly?

      Anything else that compiles to native opcodes? It's not like C is the only magical language capable of talking to hardware.

      --
      Dewey, what part of this looks like authorities should be involved?
    58. Re:Wait a second... by jedidiah · · Score: 1

      > Linux was a leapfrog in capabilities because Linus chose to target the i386, the first consumer-level 32bit processor with decent memory architecture. ...ah No.

      The 80386 was chosen because it was common due to the whole IBM/Microsoft/MS-DOS monopoly thing.

      Linux could just have easily started on the other major consumer microprocessor family around at the time.

      Although ultimately, it all probably boils down to the crapulence of MS-DOS and it's
      ability to inspire people to either flee from it or to create alternatives to it.

      There's nothing like a Z-80 program loader running on a VAX-on-a-chip level processor to make a geek's blood boil.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    59. Re:Wait a second... by Cyberax · · Score: 4, Interesting

      Dropping C is possible.

      For example, CoyotOS (http://www.coyotos.org/) uses BitC and aims for the completely proved kernel. I.e. it will be formally proven that its microkernel CAN'T crash or do something wrong.

      Or look at QNX, their microkernel used to be something like 12Kb of hand-written assembly code (and so stable that QNX systems literally work for decades now without reboots). The rest can be done using other tools than plain C.

    60. Re:Wait a second... by Jurily · · Score: 1

      If you don't understand security it wont matter what language you write in, it will still be crap.

      Sounds good on paper, doesn't it? How about this: "The easier it is to make mistakes, the more people will."

    61. Re:Wait a second... by Just+Some+Guy · · Score: 2, Funny

      Andy said at LCA2007 it was a 30% hit, I don't see a 30% performance hit being 'slightly' slower.

      Yeah. Moore says [1] you'd have to wait an extra six months for hardware to catch up.

      [1] Don't get all pedantic on me. I know what he really said.

      --
      Dewey, what part of this looks like authorities should be involved?
    62. Re:Wait a second... by Tatarize · · Score: 1

      You used a very redundant joke. Turn in your department of redundancy department comedy card and (don't\s)?let the door hit you(r)? (on\syour\s\.+)? on the way out.

      --

      It is no longer uncommon to be uncommon.
    63. Re:Wait a second... by Jurily · · Score: 1, Insightful

      And with almost everything going to interpreter environments today (Python, Ruby, Java, .Net), there's a better argument that building a JIT as a kernel component and that the message passing overhead is less of an issue.

      Like how building a graphics subsystem into the kernel worked out so nice with Win95?

      I mean, seriously. A compiler? In kernel?

    64. Re:Wait a second... by TrueKonrads · · Score: 2, Interesting
      3.3 mil is a lot of money for uncertain outcome. We already have microreboots in some toy systems, that should solve crashes and ensure that system continues to operate (though it will probably go through the crash-reboot-work-crash cycle endlessly. We already have in-memory kernel patching from SUN and partially from linux. Not to mention SELinux and Hurd and the rest of security ideas. I think that the real purpose of the project is to suck funding. Let me quote from Tannenbaum's project proposal:
      • "..but I should start out by pointing out how ambitious and risky this research is." In layman's terms it means: "I want to experiment, but no promises or even deliverables".
      • "... nearly all experience with actual security incidents shows that security problems almost always stem from actions that the design and rules forbid but which bugs in the code allow to happen anyway." and "The most serious reliability and security problems are those relating to the operating system" I am a security consultant and most security incidents stem from misunderstanding the basics, like password management, not buffer overflows. Seriously, has he ever consulted a security practitioner?
      • Some classic proof by (broken) analogy: "Banks lock their front doors at night and have strong safes even though there are laws forbidding bank robbery" What does this prove exactly?
      • "What I am proposing is a fundamental redesign of the operating system." Dude, seriously, You mention known concepts and offer fundamental redesign? Is this just a rewrite project for minix?

      I could go on and on like this. This is how funds are spent without any real gain, not even new concept evolution. Andy, give the EU taxpayers money back!

      --
      Lone Gunmen crew.
    65. Re:Wait a second... by Anonymous Coward · · Score: 0

      Dropping C... for what exactly? We're not talking application level security. We're talking kernel level. That means talking to the bare metal.

      Lisp machines had a small boot loader in ASM, but even their device drivers were written in Lisp:

      http://en.wikipedia.org/wiki/Lisp_machine

      Microsoft's Singularity research project also has low-level things running as managed code:

      http://en.wikipedia.org/wiki/Singularity_(operating_system)

      It can and has been done. There's nothing special about C.

    66. Re:Wait a second... by grumbel · · Score: 1

      And yet the most common security issue is some good old buffer overflow that could trivially be fixed by using another language then C.

    67. Re:Wait a second... by Anonymous Coward · · Score: 0

      Wasted money. they could focus on Hurd or GenodeOS.

    68. Re:Wait a second... by xouumalperxe · · Score: 2, Insightful

      Anything else that compiles to native opcodes? It's not like C is the only magical language capable of talking to hardware.

      C is obviously not magically endowed with some special abilities. But since that was an answer to someone who wanted to replace C with something more secure, the question is: "what language that is naturally more secure than C would you suggest, then?"

      Besides the obvious practical question of "give me an actual language that's actually more secure than C", there's the more theoretical question of "what the hell does it mean for a language to be secure?" A programming language is only an abstraction on top of the capabilities of the underlying hardware. Either you're hiding some capabilities the hardware is capable of, or the most a language can do is hold your hand and help you steer clear of the pitfalls. You're safer, but you're not any more secure.

    69. Re:Wait a second... by Jurily · · Score: 2

      Anyway, are there real-world kernels that don't use C ?

      Yes.

    70. Re:Wait a second... by JWSmythe · · Score: 0

      There are only two types of people in this world. The hunters ... and the hunted.

          There is a line drawn down the middle of the room. Hunters, please step to the right side of the line. Hunted, run to the left side of the line, and keep running. You'll have a 5 minute head start to keep things interesting.

          Oh AC, are you running with a limp? That's a shame. The polar bear may get you before the hunters. :)

      --
      Serious? Seriousness is well above my pay grade.
    71. Re:Wait a second... by sugarfish · · Score: 1

      When Theodore Maiman first demonstrated the LASER in 1960 he was laughed at. Nobody could imagine any possible use for such a device. Hmmm... Of course, Tannenbaum is also partly responsible for the creation of Linux. Torvalds would regularly engage in heated debate regarding Minix's non-monolithic architecture.

    72. Re:Wait a second... by xouumalperxe · · Score: 2, Interesting

      How is hand-coded assembly a move to a "more secure language" (whatever that means) than C (which is what I was replying to)? Is that not precisely the job for which compiled languages were created?

      Regarding CoyotOS and BitC, those are quite interesting references, thank you. It might be a stillbirth, though, since one of the lead guys is leaving the BitCC team. Either way, one could argue that coming up with your own low-level language to develop your own secure operating system is pretty much the only way to be able to "prove" it correct (and "prove" there is in quotes because I doubt they proved LLVM's correctness). Still, from what I read about BitCC, the original point still stands: How intrinsically secure is the languange, in and of itself? What does it have that makes it special? Because all I can find is stuff that makes bugs less likely, like proper bounds testing.

    73. Re:Wait a second... by Anonymous Coward · · Score: 0

      This thread has gone on too long. Please all of you turn in your permission-to-post-to-this-thread cards and don't let the door hit you on the way out.

    74. Re:Wait a second... by AVee · · Score: 4, Insightful

      That kind of car is actually build regularly by most car manufacturers. The amount of money spend on those cars is often in the same ballpark, or even more. They call it concept cars, and they generally also only explore certain aspects of cars while happily ignoring others.

      Thats is not going to be your car for daily use. Minix probably isn't going to be you daily OS anytime soon either, but that no reason not to spend research money on it. The IT industry could do with some more proper research instead of just reinventing the same weels (but this type using XML and HTTP!) all the time.

    75. Re:Wait a second... by Cyberax · · Score: 2, Interesting

      Assembly can be more secure because it doesn't depend on a compiler :)

      In any case, 12 Kb of asm/C code is vanishingly small quantity for modern operation systems. For most purposes 12 Kb is the same as 'none'.

      "How intrinsically secure is the languange, in and of itself? What does it have that makes it special?"

      It allows you to maintain _invariants_, checking them automatically. Including very complex invariants expressed as theorems.

      Formal correctness checking is not feasible for large programs, but a formally proved microkernel is quite possible.

    76. Re:Wait a second... by conspirator57 · · Score: 1

      X11 would defeat any security provided by lower layers. Something newer, better, and stronger is needed. It should be able to leap tall buildings in s aingle bound also.

      --
      "If still these truths be held to be
      Self evident."
      -Edna St. Vincent Millay
    77. Re:Wait a second... by Fred_A · · Score: 2, Insightful

      Of course, Tannenbaum is also partly responsible for the creation of Linux. Torvalds would regularly engage in heated debate regarding Minix's non-monolithic architecture.

      I read those as they unfolded.

      It's true that Tannenbaum is in part responsible for the creation of Linux. But only because at the time (I think it was available then) Minix was the only option on a PC and nobody wanted to run that. Tannenbaum failed at creating something decent so a better system was called for. Later on he may have whined for all he was worth, his system is still ignored (although I, and many others read and appreciated his book, nobody cares about Minix, it's a toy).

      I ran Linux on my own machine (I never could have afforded my own Unix machine before that) in 1994 for the first time (mostly to run TeX, oddly enough, long story), and it's been my desktop system since (except for the small gaming Windows partition I've kept on and off for I've never managed to get into consoles).

      I did boot Minix several times but even compared to the very first Linux versions, it has always felt like a toy (I mean no X ? come on...). I did run a number of BSD systems though. I also ran an OS X laptop for a bit over a year but it was just Windows with a smiley face to me so it quickly became a paperweight. The Unix side had been perverted enough that it was completely unusable.

      So I run Linux, a bit of BSD (and Windows games) and I'm happy that way. I even buy commercial Linux apps when I need them. To each his own of course, people get what suits them.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    78. Re:Wait a second... by frank_adrian314159 · · Score: 2, Interesting

      You don't need a JIT compiler or an interpreted language to have a secure kernel - you just need a well-designed, type-safe language (which C is not). You can start, for example, from Haskell, as these guys are doing. Haskell is a compiled language, with minimal boxing and, thus, gives all the speed you want without the idiocy of buffer overruns and invalid pointer references. Its performance is within a couple of percent of C.

      --
      That is all.
    79. Re:Wait a second... by xouumalperxe · · Score: 2, Funny

      Well, I think the key point here is what we understand as secure. "Secure" is "easy" to define in terms of a system, but, to me, seems a remarkably nebulous concept when applied to a language. While it's very easy to screw up in C, that isn't a matter of "barbed wire and armed security guards", but rather "flying trapeze and safety nets".

    80. Re:Wait a second... by julesh · · Score: 1

      If you want to do it right, why not program it in Haskell in the first place.

      Four reasons:

      1. Haskell has no facilities for handling untyped blocks of memory, or for manipulating data structures with a specified memory layout. How can I do something like "*((char *)0xB8000) = 'H';"? Or check to see if the 3rd bit of the fourth byte of some data structure is set? Or read the word after the current function's return address on the stack? This kind of operation makes up the majority of what an OS kernel does, particularly microkernels (like Minix) where stuff like TCP/IP is implemented outside of the kernel.

      2. Because of 1, you'll need to write a lot of glue code in C anyway. The marshalling/unmarshalling overhead probably means that you'd end up writing more C code than you would anyway.

      3. Kernel code isn't the kind of code that Haskell is good at, anyway. The only algorithm of any complexity will be the scheduler, and that's not likely to be particularly problematic.

      4. The runtime of Haskell (and other functional languages) is quite large, at least compared to a stripped-down C runtime. Thus you're expanding the quantity of code you need to include in the kernel, rather than decreasing it. As frequency of bugs is proportional to lines of code with relatively little difference between languages, you would expect this to increase the number of bugs in the kernel.

      TCPA-like system (in the original intended way of protecting the user, not protecting from the user)

      This was never the goal of TCPA. TCPA was always intended to allow anyone to tell exactly what software is running on a system and to have confidence in the result. This capability can be used for security (e.g. to check for presence of rootkits, keyloggers, etc.) or for DRM purposes (to ensure that drivers haven't been hacked to enable recording an output stream digitally), and both of these options have always been part of the plan.

    81. Re:Wait a second... by el+americano · · Score: 1

      They probably will get free academic or community involvement. Just like Linux development, a few get paid, most work for free.

      --
      Those are my principles. If you don't like them I have others. -Groucho Marx
    82. Re:Wait a second... by harry666t · · Score: 5, Insightful

      "Some researcher"!? The guy (prof. Tanenbaum) wrote the original Minix, which was the OS that inspired Linux and hosted the early stage of its development. Also see: http://en.wikipedia.org/wiki/Tanenbaum-Torvalds_debate

    83. Re:Wait a second... by Anonymous Coward · · Score: 0

      You could use strong typed assembler :-).
      Yes, this actually exists (search for proof carrying code in Google).

    84. Re:Wait a second... by 0xABADC0DA · · Score: 1

      Let's look at some numbers:

      Linux kernel: 9 million lines of code
      Hotspot: 250k lines of code

      So even if you include hotspot, which is currently the ultimate in JIT, you get 1/36th as much code that must be correct. Also, code in the JIT is far less likely to be exploitable even if more likely to contain errors. If you instead choose to use a llvm compiling a simpler language, then the amount of possible bad code is reduced even further. On top of that, you could run the JIT part mostly in a separate memory space so that to do damage you have to get it to result in bad code rather than just failing or aborting.

      But the real problem with microkernel is that the benefits are so few compared to the costs. The only reason to have protected 'servers' is because the servers are written in a C-like unsafe language. It's basically a problem of two wrongs, C and separate protection spaces, not making a right -- but nobody should expect them to.

      What would work great would be a kernel that includes C/asm and also a typesafe part that protects from invalid pointers and memory. The vast majority of the kernel is not performance critical and these parts can and should be written in a typesafe language (not necessarily requiring a JIT compiler). This enables a mostly seamless interaction with C/asm parts while protecting against errors. It's BoBW.

    85. Re:Wait a second... by Anonymous Coward · · Score: 0

      MINIX 1.5 is available for the Amiga. Why run AmigaOS?

    86. Re:Wait a second... by lad.kocb · · Score: 1

      Commodore 64 was completely secure since the OS was burnt in. You could carry some strange things on the floppies, which could perhaps develop into some virus-like things written to that expensive floppy drive, but basically, commodore 64 was safe. We should start going a bit backwards. Some things should be unchangeble. Burnt or wired in. Open source burned, preferably.

    87. Re:Wait a second... by argiedot · · Score: 1

      Some classic proof by (broken) analogy: "Banks lock their front doors at night and have strong safes even though there are laws forbidding bank robbery" What does this prove exactly?

      I can answer this at least. He's saying that even if you say, "Your username must not contain ; or the word DROP", users will still do that so despite it not being 'allowed', you still have to ensure that they can't even if they tried. Not very insightful.

    88. Re:Wait a second... by BrokenHalo · · Score: 1

      "Some researcher"!? The guy (prof. Tanenbaum) wrote the original Minix, which was the OS that inspired Linux and hosted the early stage of its development.

      Exactly. But given that the EURC wants something that is both "reliable and secure", I'm not sure why they're throwing money at something that has been essentially moribund for over 15 years. Their Euros would be better spent on improving Linux (which BTW is already IMO pretty secure and reliable) and be done with it.

    89. Re:Wait a second... by 4D6963 · · Score: 1

      Yeah, so basically, just more money to keep on doing the same thing.

      --
      You just got troll'd!
    90. Re:Wait a second... by V!NCENT · · Score: 1

      Ouch... well if X.org's drivers could suffice for atracting potential users so later on Minix drivers could be created.

      --
      Here be signatures
    91. Re:Wait a second... by Ant+P. · · Score: 2, Funny

      I thought Windows was secure. Why not use that? *cough* *cough*

      I thought OpenBSD was secure. Why not use that?

      I thought DOS was secure. Why not use that?

      I thought stone tablets were secure. Why not use them?

      Because none of these suggestions is compatable with my abacus.

      Ah. Another NetBSD user.

    92. Re:Wait a second... by dr2chase · · Score: 1

      There have been quite a few "safe" languages (e.g., Java) that also had an unsafe extension that allowed you to code the icky bits when you needed to. The first language I know of to be explicitly structured like that was Cedar Mesa at Xerox PARC, then some PARC refugees at DEC-SRC and Acorn Research developed Modula-2+, and from that Modula-3. You can see the ideas now in C#, with "managed" and "unmanaged" code. There have been at least three the-Java-TM-Programming-Language-ish systems that included this as part of their implementation techniques, though they did not expose it to end users. A colleague who once worked at Curl reports that they had something similar there.

      The idea is to only enable the unsafe stuff when it is truly necessary (and probably, to have code reviews where the default answer to any unsafe code is to reject it unless it can be justified). If you need to peek and poke device registers, you can do it, but by default, your code is safe and immune to buffer overflows. On a percentage basis, very little of a kernel is actually talking to bare metal; most of it is talking about talking to the bare metal.

      The biggest problem I have seen with unsafe extensions is when ex-C -programmers, in their usual pursuit of premature optimization, immediately turn on the unsafe bit and start spraying bugs all over the place. The ex-Curl colleague reports a similar experience. (And the easiest way to get a confirmed negative opinion of C programmers, is to watch them do this.)

    93. Re:Wait a second... by miknix · · Score: 1

      No I'm not.

    94. Re:Wait a second... by TrueKonrads · · Score: 1

      That's not what he illustrated, he said that selinux doesn't work because there are buffer overflows.

      --
      Lone Gunmen crew.
    95. Re:Wait a second... by acooks · · Score: 1

      This is just some researchers with a fan club grabbing fund money.

      Seriously, minix is a teaching tool. Don't expect it to replace your typical linux box any time soon. Not even after five years and $3.3 million.

      Incidentally, my favorite geeky quote is Tanenbaum: "Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway."

    96. Re:Wait a second... by cb88 · · Score: 0

      The only safe OS is a dead OS

    97. Re:Wait a second... by shutdown+-p+now · · Score: 1

      Dropping C... for what exactly? We're not talking application level security. We're talking kernel level. That means talking to the bare metal. Even if you implement a microkernel with userspace modules for everything, and with those modules written in something more robust than C, that last crucial bit of code that is the microkernel itself is probably going to end up being written in C with ASM snippets, simply because at some point you need to explicitly state what the hardware is doing.

      There's no reason why the kernel has to be written in an "unsafe" language such as C. It has to be written in a low-level language to be usable, sure, but it is quite possible to design a "safe" low-level language. One example of such project was BitC. Don't mind the Lispish syntax - they've used it because they didn't want to waste time on designing a proper syntax, and parsing it. Aside from syntax, this thing is nothing like Lisp at all.

      The sad part of it that the project has stalled now because the main guy behind it was hired by Microsoft to work on the prototype of their own next gen OS, which seems to also be built on the same principles, from what little that we know about it.

    98. Re:Wait a second... by harry666t · · Score: 1

      > Their Euros would be better spent on improving Linux
      > (which BTW is already IMO pretty secure and reliable)

      I think that it's not the kind of security that satisfies a more "mathematical" mind... Linux is pretty damn stable as a server OS, but... Like, you'd want to prove that the sum of 1..n natural numbers is (n*(n-1))/2. You don't write a piece of Python code to show that

      all([(reduce(int.__add__, range(n), 0) == (lambda k: (k*(k-1))/2)(n)) for n in range(X)])

      returns True for any natural X. You use a pen, a piece of paper and mathematical induction.

      Personally... I'd be more interested in an operating system written in a managed language, much like MS's Singularity. Given an efficient and secure JIT compiler, and a "safe" language, one could write an OS that is both (more) easily provable to be secure, and probably efficient enough for the "real world". Not to mention researching an interesting area of OS design that we still don't know very much of.

    99. Re:Wait a second... by Anonymous Coward · · Score: 0

      Yes, but the difference is the government doesn't hand huge amounts of cash to car manufacturers so they can do that sort of...

      Oh, yeah. Well, carry on then.

    100. Re:Wait a second... by Tweenk · · Score: 1

      Linux kernel: 9 million lines of code
      Hotspot: 250k lines of code

      This is a bullshit statistic. A great majority (I estimate over 90%) of LOCs are device drivers, filesystem drivers and firmware images. The core kernel is MUCH smaller.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    101. Re:Wait a second... by Tweenk · · Score: 1

      Remember that on Linux the graphics drivers are also in userspace, in X11, on top of the shell that is on top of the Linux kernel.

      Do you understnad that the shell is not a DOS prompt? X11 does not run "on top of" the shell!!! The shell is only a bit of code that decides which programs are run. It is only an user interface, it is not an operating system. You can run a system without a shell, though it would be hard - you'd have to do everything in the init process.

      Linux graphic drivers are partially in the kernel and partially in userspace. Operations that make sense to be in userspace (e.g. things not implemented in hardware) are in userspace, while the low level code that manages device state is in kernel space.

      Microkernels are going to be much slower, because to transfer data from a hard drive to an application you need 4 context switches instead of 2. In microkernel it is:
      request HD read, switch, message pass to hard disk driver, switch, read data, switch, map read data into app's virtual address space, switch, obtain data.
      In monolithic kernel it is:
      request HD read, switch, read data in kernel space, switch, obtain data.

      I think you can see for yourself why microkernels are inherently slower. Context switch is one of the most expensive operation on modern CPUs.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    102. Re:Wait a second... by snaz555 · · Score: 1

      I hacked Minix a new memory manager in a System Programming at University class back in 1996. I'm quite literally apathetic with incredulity that the EU are funding further development.

      This was my initial reaction too... As in what, that thing is still around? Does it still use 8086 segment registers for memory management? I figured someone must have done an excellent sales job to fund work on Minix!!!

      But then, it's about security research and Minix is presumably only used as the vehicle. This makes more sense. Today a hodge podge of security models are used, all inadequate in one way or another.

      Say you want to grant libpcap the ability to put an interface into promiscuous mode, but limit use of libpcap to ethereal, then limit the users who can run ethereal, and maybe even allow them to do different things with it. In addition, you want to authenticate executable and library signatures. And you want all this to be done without significant implementation in the libraries and executables themselves - you want them to implement functionality, not security. The security part is orthogonal and needs to intersect all functionality. A microkernel like Minix seems like a good vehicle for this, because so much system functionality is implemented in userland. VAX/VMS was pretty good about finely granular privileges, but it didn't really have a generalized model that was extensible or even all that suited for non-monolithic kernels. In fact, part of what keeps us with monolithic kernels is the difficulty of securing microkernel based systems. (Not really including single server ones, like OS X.) Of course, performance is another problem but I think that can be overcome. (Mach just screwed it up by making it too high level.)

      So, weird as it may seem at first glance, it does make some sense. I think. I would welcome a research system that demonstrates a generalized - and practical - model for capability management.

    103. Re:Wait a second... by kelnos · · Score: 1

      Remember that on Linux the graphics drivers are also in userspace, in X11, on top of the shell that is on top of the Linux kernel.

      The Linux Direct Rendering Manager has a chipset-specific kernel module that does a lot of the heavy lifting for the graphics drivers. Of course, if you use an older video chipset that doesn't support DRM, then yes, the X11 graphics driver is in userspace. But if you use a video chipset from AMD/ATI or Intel, or use nvidia's proprietary driver (or the reverse engineered 'nouveau' driver), then your graphics driver has large bits of itself in the kernel.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    104. Re:Wait a second... by Anonymous Coward · · Score: 0

      Linux device drivers are written in C, and one mistake can either crash your system or allow it to be exploited. There is NO difference between 'core kernel' code and device drivers or filesystems as far as any metric is concerned, except that device drivers often deal with unknowns and exceptional conditions.

      Take for instance the Intel high definition sound driver. On some multi-core systems it suffers from a synchronization issue that causes the left channel to play static over the normal audio output (for example on dell 9150 systems). The fix is to boot up the system, then suspend it, then resume it. The order that drivers are initialized is different, and on resume the sound is unaffected. This is a *known* bug since *at least* 2.6.20 kernels with *known* work-around and which makes audio *unusable* for anybody with affected systems (unless they manage to find the work-around on google, which is difficult), but the driver maintainers have been incapable of fixing it. And you think drivers shouldn't count as a vulnerable part of the kernel?! Drivers are the weakest link in any operating system, and there's simply no reason why they should be written primarily in C.

    105. Re:Wait a second... by Anonymous Coward · · Score: 0

      Operating systems are far more complex projects, it's definitely not in the domain of universities. It may take about 100 years to make a proper OS by two or three programmers. But OS kernels are definitely in university domain.

      Operating systems require various commercial-grade sub systems for OEMs to develop drivers. Without drivers from OEMs, you can forget about the OS you develop.

      They should have invested in Tomahawk: http://www.tomahawkcomputers.com/

      At least Tomahawk is a proper commercial approach which has the potentiality to succeed. Best of all, its free for public.

    106. Re:Wait a second... by mahadiga · · Score: 1

      Windows NT is that the design was pretty good, the implementation was OK

      How can you judge when Windows NT source code is closed?

      --
      I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
    107. Re:Wait a second... by michaelmuffin · · Score: 1

      Personally... I'd be more interested in an operating system written in a managed language, much like MS's Singularity. Given an efficient and secure JIT compiler, and a "safe" language, one could write an OS that is both (more) easily provable to be secure, and probably efficient enough for the "real world".

      http://www.vitanuova.com/
      i've found it secure enough, but i don't know if it's provable

    108. Re:Wait a second... by Anonymous Coward · · Score: 0

      Dropping C... for what exactly?

      For a language with less undefined behavior.

    109. Re:Wait a second... by Crossmire · · Score: 1

      You mean n*(n+1)/2.

    110. Re:Wait a second... by Anonymous Coward · · Score: 0

      He also wrote some of the most influential books on operating system design (Modern Operating Systems, Distributed Operating Systems, etc).

    111. Re:Wait a second... by kubrick · · Score: 1

      they probably run AmigaOS too

      Hello. My name is Inigo Montoya. You disparaged my chosen operating system. Prepare to die.

      --
      deus does not exist but if he does
    112. Re:Wait a second... by Anonymous Coward · · Score: 0

      They should have invested in Tomahawk

      It's BSD. Running KDE. Oh, wow, that's ground breaking.

      What makes you think Tomahawk has anything to do with the goals that AST is trying to achieve? Other than the thinly veiled fact that you're clearly closely related to the Tomahawk project and simply using this as a poor opportunity to plug it.

      Best of all, its free for public.

      So are DesktopBSD & PC-BSD. Your business plan must be a thing of beautiful fiction if you think Tomahawk "has the potentiality to succeed"...

    113. Re:Wait a second... by xouumalperxe · · Score: 1

      Linux device drivers are written in C, and one mistake can either crash your system or allow it to be exploited.

      I thought we were talking about microkernel designs which typically entail userspace drivers.

    114. Re:Wait a second... by morgan_greywolf · · Score: 1

      Clearly these functions will cause as many, if not more, bugs than they correct in the hands of hapless programmers who do not realize their truncating behavior.

      Of course, any programmer worth his salt is going to check the return of every function of this type he calls. Unfortunately, many very skilled programmers simply do not perform this small bit of checking.

    115. Re:Wait a second... by tepples · · Score: 1

      Of course, if you use an older video chipset that doesn't support DRM, then yes, the X11 graphics driver is in userspace.

      And if your chipset doesn't support DRM, Microsoft probably won't certify it for Windows Vista.

      Oh wait, you mean that other DRM, the one that isn't Digital Restrictions Management.

    116. Re:Wait a second... by harry666t · · Score: 1



      Right. My "test suite" worked, because both reduce(+, range(n)) and n*(n-1)/2 do not include the end point.

    117. Re:Wait a second... by Fred_A · · Score: 1

      What runs on a microkernel? Services. And if you exploit a highly privileged service, you've exploited the whole system. Or what am I missing?

      Not much.
      The microkernel / Monolithic kernel debate is a bit like the RISC / CISC debate... Both are by now mostly religious in nature.
      Whatever the type of the kernel is has very little impact on the security of the system as a whole.

      In this case Minix was presumably chosen by the researchers because it's a very simple system (because it doesn't do much and doesn't change much either). If they had gone with a BSD or Linux, it would have been much more complicated to track the repercussions of whatever change they made.

      Whether anything usable will come of this is another story.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    118. Re:Wait a second... by Olivier+Galibert · · Score: 1

      The idea is to only enable the unsafe stuff when it is truly necessary (and probably, to have code reviews where the default answer to any unsafe code is to reject it unless it can be justified). If you need to peek and poke device registers, you can do it, but by default, your code is safe and immune to buffer overflows. On a percentage basis, very little of a kernel is actually talking to bare metal; most of it is talking about talking to the bare metal.

      A quick measurement shows that driver and other bare metal code is around 80% of the linux kernel code. Very little indeed.

          OG.

    119. Re:Wait a second... by dr2chase · · Score: 1

      That's a little surprising, given that Linux is said to be a monolithic OS, not a kernel OS like Minix, and thus should contain lots of stuff that has nothing to do with device drivers or page tables. Are you sure this is not an artifact of by-hand inlining for efficiency? In other systems I've worked on or looked at, the truly "unsafe" stuff is quite small and confined to a few smallish modules -- but either they don't sweat the efficiency of a procedure call, or assume that inlining will make it better (or both).

      SPIN says "most" of their code was written in the safe subset of Modula-3. They don't give an explicit line count, so I am guessing that means 49% was unsafe :-). http://www.cs.washington.edu/research/projects/spin/www/

      Singularity reports 90% in (safe) Sing#, about half of the unsafe code is the garbage collector. http://research.microsoft.com/apps/pubs/default.aspx?id=69431

      I suspect very much that the number you report is an artifact of working in a language that is by default unsafe; there's no disincentive to sticking little unsafe bits of code here and there, so programmers do, and the result is a large volume of "unsafe" functions where you ought to just have a few unsafe functions that are frequently called. For example, Java "floatToIntBits" is a safe operation, but it has an unsafe implementation (it has a loophole, which can be used in an unsafe way). If you call the method, the calling code is safe, but if you inline it by hand, then it contains an unchecked cast, which is not known to be safe without further examination of the code.

      Note that Singularity, SPIN, and Cedar all take a strategic approach to efficiency; by leveraging type safety, they can avoid the costs of a user/kernel context switch and constant rechecking of user inputs. The SPIN guys, long ago, reported great performance results from doing what in Linux would be the equivalent of putting the http server in the kernel. I've worked on Java systems that were designed in much the same way -- rather than invoking "native" code (which can be surprisingly costly, depend on GC and thread details) just drop into the "unsafe" implementation extension.

      The actual rules for enforcing safety in language like Modula-3 or Cedar are simple, easy to understand, and not too hard to get right. That's not rocket science. Concurrent parallel realtime garbage collection -- that's rocket science, but if your application demands higher levels of assurance, you either work very hard at verifying and proving the GC, or else you use a less sexy algorithm (e.g., original Baker-style read barriers, or plain old stop-N-copy) and add more memory.

    120. Re:Wait a second... by PastaLover · · Score: 1

      I could go on and on like this. This is how funds are spent without any real gain, not even new concept evolution.

      Andy, give the EU taxpayers money back!

      No this is why people like you shouldn't be in charge of allocating money to research projects (but they usually are). You're focusing way too much on the deliverables. If we keep doing that all over the place soon there won't be any room for fundamental research and nothing to build on. Instead, you get 50 different implementations of VM migration technologies because you know, virtualization is hot and all. Sometimes research will be "money down the drain" spent on evolutionary dead-ends and all. That doesn't mean it's not a good idea to throw some money around now and then, even if you can't see the immediate benefit.

  2. A very good question by oneirophrenos · · Score: 3, Insightful

    The question is, can you make a system that actually works very well?

    I'm glad someone finally got to asking this question.

    1. Re:A very good question by u38cg · · Score: 2, Interesting

      You can. It just requires well defined inputs and outputs and to run on certified hardware. Software, heal thyself? There's a reason self-modifying code is frowned upon. Besides, is kernel reliability really an issue these days? Even the Windows kernel only really crashes when you feed it bad memory.

      --
      [FUCK BETA]
    2. Re:A very good question by Chrisq · · Score: 4, Informative

      Software, heal thyself? There's a reason self-modifying code is frowned upon. Besides, is kernel reliability really an issue these days? Even the Windows kernel only really crashes when you feed it bad memory.

      They are actually talking about things like driver isolation with monitoring and restarts. The answer to whether kernels are stable enough depends on your requirements. I find that I am much less forgiving when my DVD player crashes and doesn't record the film I have set than when my computer crashes, though both are now very rare events. Monitoring, isolation and restarting is used in things like engine management systems, where failures are even less welcome and a full OS with this level of reliability is bound to have applications in medicine, industry, "defence", etc.

    3. Re:A very good question by Anonymous Coward · · Score: 1, Insightful

      The problem with driver isolation is that it's a layering violation given most today's PC hardware.

      A broker driver can crash/corrupt not just the device it's on but the complete machine.

      Also, in my experience if the driver bug crashes the entire machine, it's more likely to be fixed.

    4. Re:A very good question by aliquis · · Score: 1, Funny

      The question is, can you make a system that actually works very well?

      I'm glad someone finally got to asking this question.

      The answer is, it seems: Yes!

    5. Re:A very good question by aliquis · · Score: 2, Funny

      10 print "no"
      20 goto 10

    6. Re:A very good question by Vanders · · Score: 5, Informative

      The problem with driver isolation is that it's a layering violation given most today's PC hardware.

      That depends on how you've designed things, I guess. "Today's PC hardware" (& yesterdays for that matter) has always provided 4 protection ring levels, but very few OSes have ever made use of more than 2 (1 for the kernel, one for userspace). You could certainly put drivers in a higher ring than the kernel and allow them to only have limited access to memory, just as you do with a user-space application.

    7. Re:A very good question by Jurily · · Score: 1

      The answer to whether kernels are stable enough depends on your requirements.

      If the Linux kernel is not stable enough, you'd better roll your own because you obviously know better.

      Monitoring, isolation and restarting is used in things like engine management systems, where failures are even less welcome and a full OS with this level of reliability is bound to have applications in medicine, industry, "defence", etc.

      Linux does just the opposite. They test driver reliability before they release it. Seems to be working so far.

      And if you need something that goes down less than the power grid, I suggest multiple computers on multiple locations.

    8. Re:A very good question by Anonymous Coward · · Score: 1

      That isn't enough. The driver still needs to be able to talk to the hardware, so it can basically do anything. Lock up the PCI bus. DMA stuff to the wrong memory address.

      A micro kernel architecture would work fine for things like file system drivers, that don't get to talk to the hardware. But not for the stuff that needs to be able to make the hardware do anything.

      Funny how Linux actually does have such an architecture for file system drivers and virtual network drivers. It's called FUSE and TUN. They don't need their own ring, though, they are running in plain userspace.

    9. Re:A very good question by stsp · · Score: 1

      You could certainly put drivers in a higher ring than the kernel and allow them to only have limited access to memory, just as you do with a user-space application.

      X.org has lots of userspace drivers that many of us use every day.

    10. Re:A very good question by htrn · · Score: 1

      Linux does just the opposite. They test driver reliability before they release it. Seems to be working so far.

      And if you need something that goes down less than the power grid, I suggest multiple computers on multiple locations.

      I think you have a very good point in this statement. It is precisely how the power grid is designed. We do not receive our power from a single sub-station. Re-routing of power is something that is commonly performed which is what helps it be so stable.

    11. Re:A very good question by oilfinder · · Score: 1

      Much as I hate to admit it, I was quite impressed when I installed Win7 beta, and shortly thereafter the screens flashed black and then went back to the normal desktop and a balloon popped up saying: Windows detected an instability in the NVidia video drivers and has restarted them. At first I was pissed at NVidia, but hey, it's a beta system with beta drivers. Then I was really impressed with MS for handling this so gracefully rather than a bsod. So I think we're getting there with driver isolation and restarts, even in commercial OSes.

    12. Re:A very good question by Antique+Geekmeister · · Score: 1

      Andrew Tannenbaum actually has a clue about this: Linus Torvalds based some of his Linux work on Minix. And the Linux kernel has gotten big enough, with enough disparate features, that stability is a big concern. Minix does have a very good reputation, well-earned, against crashing the hardware drivers or network stack and imperiling the kernel itself. Such stability has big, big advantages in a 24x7 data center.

      The "multiple computers" idea is fine, when you have lots of money. But when your computer runs the power grid, or all your systems turn out to be vulnerable to the same flaw or same attack, then you still get crashing of all your nice failover systems. This is especially true when the failover system itself, or the load balancer or cluster manager, dies.

    13. Re:A very good question by reashlin · · Score: 1

      Except when your playing a game - Driver dies, windows holds the game reboots the driver and continues the game. The game being in the same state as before kills the driver. Windows holds the game reboots the driver and continues the game. The game being in the same state as before...

      You end up having to ctrl alt delte kill the ame just to get back to a working system.

    14. Re:A very good question by Anonymous Coward · · Score: 0

      gach!!! BASIC?!?!?!? WTF?!?!??!

      while(1){
           print"No\n";
      }

    15. Re:A very good question by oilfinder · · Score: 1

      Still beats BSOD which kills the driver, the game and everything else... Guess the next level of 'self healing' could be the driver killing the game if it does something wrong. Of course a well written driver should not crash if not used properly, but either ignore the call and/or return an error, possibly crashing the game if it doesn't handle the error properly, which also resolves the problem ;) The end goal being that the nefarious software (be it the driver, the game, ...) gets killed (and possibly restarted in a correct state) without bringing down anything else. But again, buggy app or game bringing down a driver is already an improvement to it bringing down the entire system.

    16. Re:A very good question by Fred_A · · Score: 1

      The question is, can you make a system that actually works very well?

      I'm glad someone finally got to asking this question.

      Who cares ? That question was answered a long time ago and the provided answer, while perfectly adequate, proved to be too expensive for a lot of users.

      So yes, you can have a system that can work very well in pretty much any situation. It does cost a bit though.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    17. Re:A very good question by Vanders · · Score: 1

      Again, it depends on how you've designed things. What if your hypothetical OS forced all shared hardware accesses via. it's own HAL?

    18. Re:A very good question by russotto · · Score: 1

      What if your hypothetical OS forced all shared hardware accesses via. it's own HAL?

      Then you've reinvented virtual machines.

    19. Re:A very good question by Vanders · · Score: 1

      A HAL is a long way from a virtual machine.

    20. Re:A very good question by aliquis · · Score: 1

      You see, before everyone "knew" they should code and learn C, people started off with basic instead.

      And they numbered the code lines ..

      Also for getting the result in question the basic example would be much more classical.

      So, STFU ;D

    21. Re:A very good question by Al+Dimond · · Score: 2, Interesting

      Yup. A dude I knew in college actually modified Linux to put drivers in one of the middle rings as a research project. Seemed like a cool project, and he had working demos of drivers crashing and restarting. I wonder why something like that hasn't caught on.

      Actually, I don't know if processor architectures other than x86 have more than 2 levels of protection. That would probably deter a lot of people, and drive them instead to a more general microkernel design. And even then, you can restart a crashed driver but it's often harder to get the device back into a usable state. I actually think having the ability to recover from some driver crashes would be useful, but I think a lot of people would be discouraged by the fact that there would still be lots of unrecoverable crashes (this is the big issue with X11 -- even though the lion's share of a GPU driver lives outside the kernel, when it crashes the GPU is left in an unknown state, and there's tons of state on a GPU. Even if an X crash hadn't left you unable to use your input devices to get back to a terminal you probably wouldn't be able to show it. This is not to say it wouldn't be nice -- logging into the terminal blind to initiate a clean shutdown would be great).

    22. Re:A very good question by Anonymous Coward · · Score: 0

      If you can run drivers in ring 1, you can certainly just the same run them in the ring 3.

    23. Re:A very good question by sveinungkv · · Score: 1

      That isn't enough. The driver still needs to be able to talk to the hardware, so it can basically do anything. Lock up the PCI bus. DMA stuff to the wrong memory address.

      Not if the computer uses an IOMMU. And even if it don't you will block one way the driver can corrupt memory by putting it in user space. Assuming the driver is not malicious that will reduce the chance for the driver corrupting memory significantly.

      --
      Spelling/grammar nazis welcome (English is not my first language and I am trying to improve my spelling/grammar)
  3. The 1980s called... by Viol8 · · Score: 5, Insightful

    .. they want their funding back.

    Seriously , I thought minix had been put out to pasture years ago.

    Also what are 5 people going to manage that entire corporations and thousands of OSS developers failed to do in the last few decades? Ok , one of them might be the next Alan Turing and surprise us all but I won't hold my breath.

    1. Re:The 1980s called... by FourthAge · · Score: 5, Insightful

      The aim is not to produce a better operating system, the aim is to secure funding. This is what academics actually do; good research is (at best) a byproduct. This is business as usual for a research group. The real research will be a low priority, because the group will need to satisfy the EU bureaucracy that they are doing something worthwhile. Consequently, most of their time will be spent writing reports.

      Bear in mind that ideas like "self healing software" are buzzwords that you put on research proposals in order to get them accepted. See also: "cyber-physical systems", "multicore paradigms" and "sensor networks".

      --
      The tao of democracy: the government you can vote for is not the real government.
    2. Re:The 1980s called... by Zumbs · · Score: 4, Insightful

      The point may not be to build the next big $SUPER_DUPER_OS, but to try out some new ideas and concepts for better and more robust OSs in a very controlled environment. If they get good results, the ideas may be integrated into the kernal of those other OSs, hopefully improving the quality of the OS.

      --
      The truth may be out there, but lies are inside your head
    3. Re:The 1980s called... by mrphoton · · Score: 0, Flamebait

      Along the same lines as the above post.... What a waste of my taxes. I am getting fed up of hearing about cash going to dubious research projects. There are some big problems to be solved out there for example reducing mans dependence on fossil fuels and reducing the damage they cause our planet. Why are we wasting cash on this dubious project?????

    4. Re:The 1980s called... by Vanders · · Score: 1

      There are some big problems to be solved out there

      Yeah, like making computer software that doesn't fail.

    5. Re:The 1980s called... by Chrisq · · Score: 5, Insightful

      Along the same lines as the above post.... What a waste of my taxes. I am getting fed up of hearing about cash going to dubious research projects. There are some big problems to be solved out there for example reducing mans dependence on fossil fuels and reducing the damage they cause our planet. Why are we wasting cash on this dubious project?????

      Many PHD students will feed back what they learned into industry on graduation. Its called education, and it is not a waste of money even if Minix 3 is not the next best OS. Some things that come out of it will almost certainly be used.

    6. Re:The 1980s called... by VoidCrow · · Score: 5, Insightful

      That tendency of unimaginative geeks to piss all over ideas that aren't actually in front of them and in use at that point... It's loathsome and saddening.

    7. Re:The 1980s called... by Anonymous Coward · · Score: 0

      That tendency of unimaginative geeks to piss all over ideas that aren't actually in front of them and in use at that point... It's loathsome and saddening.

      Why limit this statement only to "geeks"? I'm pretty sure it's more generally applicable.

    8. Re:The 1980s called... by daem0n1x · · Score: 0

      Yes, because everyone should stop everything that we're doing in this exact moment. Why should we be growing crops when we have the global warming to fight against? Let's fight global warming, when we are finished we can think about all the other pesky things, like food.

    9. Re:The 1980s called... by giorgist · · Score: 1

      HEY ... "sensor networks"is cool,
      the rest ... is just used mouthwash

    10. Re:The 1980s called... by PhotoGuy · · Score: 4, Informative

      I remember Minix. Before there was Linux, Minix was around. It was my first exposure to a Unix-like operating system on a PC. It was surprisingly lean and elegant and Unix-like. I still have the box of floppies. I remember recompiling and modifying the operating system. It was indeed quite a powerful tool, and I dare say an important precursor to Linux.

      (When I first heard about Linux, I had incorrectly assumed it was an evolution of Linux.)

      I see a lot of people bashing Minix here; I don't think it will replace Linux by any means, but it is an important historical OS, IMHO.

      Wiki notes (about Linux):

      In 1991 while attending the University of Helsinki, Torvalds began to work on a non-commercial replacement for MINIX,[13] which would eventually become the Linux kernel.

      Linux was dependent on the MINIX user space at first. With code from the GNU system freely available, it was advantageous if this could be used with the fledgling OS.

      --
      Love many, trust a few, do harm to none.
    11. Re:The 1980s called... by Anonymous Coward · · Score: 0

      Please do. It doesn't seem like you brushed today.

    12. Re:The 1980s called... by Hurricane78 · · Score: 1

      I second that. There are actual sensor-networks out there, that are made out of many many little nodes, that are so robust, that you can spread them with an airplane, and leave them there for months or more. They self-network, and send you their data back, when you fly over them again. If this does not impress you, then I don't know what will.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    13. Re:The 1980s called... by LingNoi · · Score: 0

      The aim is not to produce a better operating system, the aim is to secure funding.

      Well you could have fooled me with Tanenbaum's constant aruging with Linus and the numerous times he's said his OS is better then Linux.

    14. Re:The 1980s called... by stsp · · Score: 4, Funny

      When I first heard about Linux, I had incorrectly assumed it was an evolution of Linux.

      No no no, your assumption was correct!

    15. Re:The 1980s called... by machine321 · · Score: 1

      Ok , one of them might be the next Alan Turing and surprise us all but I won't hold my breath.

      At best, they'd be the next Andrew Tanenbaum.

    16. Re:The 1980s called... by kwikrick · · Score: 1

      you are either:
      - a disillusioned, soured, failed scientist
      - an uninformed, biased, disgruntled tax-payer

      I'm sorry, most scientists, including computer scientists, like me, are passionate about what we do. We ask for funding for projects that we believe in. It sucks that some subjects get more funding than others because funding agencies are indeed sensitive to buzzwords. But, you know what, we still work hard and make the best of the means we have, and we still hope that we can change the world for the better.

      Oh yeah, and these buzzwords, where do you think they come from? They are someone's big idea, dream, hope, and probably good ideas too. Just because the media explains these ideas badly, and some companies ride on the band wagon, doesn't mean these are bad ideas.

      --
      assignment != equality != identity
    17. Re:The 1980s called... by amn108 · · Score: 1

      Too many cooks spoil the broth, they say.

      Also first the goal and more importantly, the method and general feel are chosen, so no matter how many developers jump on the wagon, it is still going in the same direction it was going, and obviously faster still. Did you ever try to mention "how about doing a microkernel out of Linux instead?" on any forum populated with Linux developers? You will not even be ridiculed, at best just ignored, at worst have gotten a sarcastic comment back at you. Point is, as a certain project picks up weight on its own skeleton, it gains mass and momentum, later on becoming synonymous with its own implementation, rather than interface, so to speak. From there options include a) further development of potentially flawed idea as part of the large and loyal-to-the-roots group b) forking the project using better ideas (same interface, new implementation) while being ridiculed and booed out of that said group, or c) starting anew, which does not anger nor please the group. The latter two gather another group, but after a while the situation is the same as with the first project - the interface is confused for implementation, and the implementation becomes religion. Which in latin means by the way "to unite together".

      To put it simply, thousands of OSS developers banging on the wall carving out Linux do not like to look back and rethink, they are too busy. And even if not too busy, the general human psychology does not favour looking back in the middle of a process.

    18. Re:The 1980s called... by Anonymous Coward · · Score: 0

      Only the fetish geeks. not everyone likes to golden shower everything they see.

    19. Re:The 1980s called... by amn108 · · Score: 1

      No, that is the "realist" in you talking.

      The truth is they would like to work on Minix, especially Tannenbaum, but everybody needs money, and some like to combine it with their hobby. They just got the money, and are happy to put their heads to work for it. As simple as that.

      I don't know whether you are a programmer, but I am, and for all it is worth, the term "self healing software" means exactly what it is supposed to. When people ask for money, they have to specify what their ideas are all about, however vague they can. You cannot submit a document that reads "Please give money, thinking out a better operating system. Yours truly, A. S. Tannenbaum". There is no politics there. Scientists and researchers suck at politics anyway, and that is a good thing.

    20. Re:The 1980s called... by WindBourne · · Score: 1

      Back in early 90, minix was one of our OSs that we used to work from ( colorado state ). We built drivers, network stack, etc. It was a good OS. Problem was the licensing. Had Dr. Tanenbaum changed his license AND not been a prick to an 16 y.o. kid., minix is probably what we would be running.

      I have since forgotten the other OS that he had. It was one based on messaging.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    21. Re:The 1980s called... by FourthAge · · Score: 1

      Maybe I am all of those things! But I do work in this field, and I am not convinced that the system used by the EU to allocate research funding is actually conducive to good research based on the projects that I work on or know of.

      In particular, I think the system is quite poor at distinguishing between good science and junk science. The system is easily tricked into allocating funding by writing a grant proposal that is filled with fashionable buzzwords and finding a few industrial sponsors, all of whom will have different ideas about what is important. This does not always lead to good research, because you will have to satisfy your project objectives before you can get on with the real work. Therefore, good research is a side effect of the system rather than a direct product of it. I don't have a better idea but that doesn't stop me criticising the current arrangement.

      --
      The tao of democracy: the government you can vote for is not the real government.
    22. Re:The 1980s called... by Anonymous Coward · · Score: 0

      That tendency of unimaginative geeks to piss all over ideas that aren't actually in front of them and in use at that point... It's loathsome and saddening.

      Well, have you tried it? It may be harder than you'd think. I've learned all sorts of tricks when pissing: things like arching to get maximum distance from the idea, knocking off chunks of shit that are stuck to the side of the idea that the lo-flo won't knock off, etc. But I've always needed it to be right in front of me. Hitting an idea not in front of the pisser - accurately or or just brushing the side - is far more impressive than loathsome.
       

    23. Re:The 1980s called... by 3dr · · Score: 1

      The licensing was an issue. Was the licensing purely a side effect of the commercial C compiler they were using for Minix?

      Amoeba was AT's other OS with distributed features.

    24. Re:The 1980s called... by yttrstein · · Score: 1

      Umm.. maybe that's what YOU do, but good academics actually work very hard at making sure there's enough time for both the paperwork bullshit (which good academics pass off to good grad students) and the actual research.

      Tanenbaum, FTW. Finally.

    25. Re:The 1980s called... by Anonymous Coward · · Score: 0

      Correct - that was Minux, but this article refers to MINUX 3, which is a completely new rewrite of everything. Why hasn't *ANYONE* pointed this out yet?

    26. Re:The 1980s called... by Anonymous Coward · · Score: 0

      In 1991 while attending the University of Helsinki, Torvalds began to work on a non-commercial replacement for MINIX,[13] which eventually become the Linux Operating System (monolith kernel).

      Linux ran the MINIX applications at first. But with software from the GNU system freely available, it was advantageous they could be used with the Linux OS.

      There fixed for you, but shit just happens that Wikipedia is biased by GNU people with their own twisted idea of operating system what does not follow computer science and history...

    27. Re:The 1980s called... by WindBourne · · Score: 1

      Was the licensing purely a side effect of the commercial C compiler they were using for Minix?
      Actually, at the time, tanenbaum said it was his work and that he would not OS it. He wanted to charge companies money for it. In addition, he felt that giving away the OS and selling Support would never work. And yeah, it was Amoeba that I was thinking of.

      --
      I prefer the "u" in honour as it seems to be missing these days.
  4. MINIX guy by 4D6963 · · Score: 5, Informative

    said Andrew S. Tanenbaum, a computer science professor at Vrije Universiteit

    It sounds intentionally misleading to present them as "a computer science professor" when he's the one MINIX guy.

    --
    You just got troll'd!
    1. Re:MINIX guy by sigxcpu · · Score: 1, Redundant

      I agree.
      Just to put things in the right context here is a link to the famous Tanenbaum-Torvalds debate.
      http://oreilly.com/catalog/opensources/book/appa.html

      --
      As of Postgres v6.2, time travel is no longer supported.
    2. Re:MINIX guy by mu22le · · Score: 1

      I agree.
      Just to put things in the right context here is a link to the famous Tanenbaum-Torvalds debate.
      http://oreilly.com/catalog/opensources/book/appa.html

      ehi come on!
      every self respeting geek has already read it 10 years ago, and it's not like Tanenbaum never did anything else but that flame war.

      Mini3 is a very interesting open source OS and I can only be happy it has received some founding and wish the project the best luck.

    3. Re:MINIX guy by rdtripp · · Score: 1

      Fooled around with Minix a couple years back. It appears to be a great teaching tool and I can see where it would be a versatile concept development platform. With Andrew S. Tanenbaum (duh, the guy that developed the OS) spearheading this project I see possibilities. He seems to just the type ornery old non-conformist b*astrd that could possibly pull it off. Hell, he makes most of us liberal open source microsoft-baiting pinko commie linux lovers (just flamed myself to save time) look conservative.

    4. Re:MINIX guy by Anonymous Coward · · Score: 0

      The only thing I took away from that is that Torvalds is a troll.

    5. Re:MINIX guy by Gnavpot · · Score: 1

      I agree.
      Just to put things in the right context here is a link to the famous Tanenbaum-Torvalds debate.
      http://oreilly.com/catalog/opensources/book/appa.html [oreilly.com]

      ehi come on!
      every self respeting geek has already read it 10 years ago,

      Well, did kdawson and narramissic read it?

      The summary makes me wonder if neither the submitter nor the editor knew of Tanenbaum and Minix:
      "a Unix-type operating system, called Minix"
      "Andrew S. Tanenbaum, a computer science professor at Vrije Universiteit"

  5. What's the point? by seeker_1us · · Score: 2, Informative

    All respect to Andrew Tanenbaum, I'm not trying to troll. It's a sincere question.

    He has said Minix was to be a teaching tool.

    Now they want to turn it into a super reliable OS?

    I don't think it's to make it into another production OS. Could it be in order to develop new OS concepts and ideas which can be spread out to the world?

    1. Re:What's the point? by Anonymous Coward · · Score: 0

      It would be way better to start with NetBSD as a foundation to build upon.

      However, this has nothing to do with making something or researching. It is just to secure funding. All available time will be spend writing reports to satisfy the funding agency. There will be no time (nor motivation) to do actual work.

      Welcome to academia.

    2. Re:What's the point? by MrMr · · Score: 4, Insightful

      Yes, imagine that: A professor trying to teach students how to implement something new and potentially useful rather than clicking ok in the 'solve my problem' wizard.

    3. Re:What's the point? by Anonymous Coward · · Score: 1, Informative

      He said that about the original Minix and somewhat less so v2. The current version, Minix 3, is a different beast.

    4. Re:What's the point? by MichaelSmith · · Score: 4, Interesting

      Back when Linus started to write his kernel the debate between monolithic and micro kernels still made some sense. But now more features and drivers are being written for linux and it is getting bigger and more bloated. Functions are being put into modules but that only solves half of your problem because a module can still bring down the kernel.

      I think AST was right. Linux can't continue to use a monolithic architecture.

    5. Re:What's the point? by slabbe · · Score: 3, Informative

      From www.minix3.org "MINIX 1 and 2 were intended as teaching tools; MINIX 3 adds the new goal of being usable as a serious system on resource-limited and embedded computers and for applications requiring high reliability"

    6. Re:What's the point? by EMN13 · · Score: 4, Informative

      It's also a research OS - the aim isn't to make minix the next best thing, the aim is to research self-healing OS software by using minix as a test platform.

      Most good production software takes a good look at similar software to imitate the best features of each - this isn't a competition between minix and linux, it's testing a feature is a simpler (and thus cheaper) fashion.

    7. Re:What's the point? by Hurricane78 · · Score: 1, Informative

      This is no troll. Linus said himself, that his biggest error with Linux was, that he made it monolithic.
      I agree on that. Modularity (in multiple dimensions too, think "aspects") is nearly always a good thing.
      Sure it takes a bit of the speed out. But it is well worth it.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    8. Re:What's the point? by irexe · · Score: 5, Informative

      I asked Tanenbaum this question at a lecture he gave on Minix 3 earlier this year. He responded that he changed his mind somewhat about the education-only issue because he felt that, to prove a point about the superiority of the microkernel design, you need to get it out of the lab and into the real world. He also felt that he could do this without hurting the simplicity of the system as a teaching tool. Incidentally, his intention is not to compete with Linux or Windows on the desktop, but rather to make a robust OS for embedded applications.

    9. Re:What's the point? by jensend · · Score: 4, Insightful

      Linus said himself, that his biggest error with Linux was, that he made it monolithic.

      [citation needed]
      All these years after the Tenenbaum-Torvalds debate Linus admitted his prof was right? You'd think that would have been in the news somewhere.

    10. Re:What's the point? by Joey+Vegetables · · Score: 1

      That scares me. BASIC was designed to be a teaching tool. Now people are using Microsoft's version of it to write business-critical systems. I support these kinds of systems for a living, and it is rare for any of them to live beyond five years. Most fail not because of flaws in VB itself (though there are plenty), but because of poor programming practices, which VB tolerates and encourages in a way that most other languages do not. Perhaps Dijkstra was correct that "[i]t is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." A language forgiving of mistakes may be useful as a teaching tool but it is not necessarily the right thing to base our economies or livelihoods on. Minix is not nearly as bad as BASIC, but it remains to be seen whether it can be adapted to the needs of high-security environments when that was never its design goal to begin with.

    11. Re:What's the point? by evanbd · · Score: 1

      Hmm... To me, it sounded like they were trying to make a "solve my problem" wizard that actually solved problems with the computer. Because last I checked, there wasn't one of those. And if there was, and it actually worked... that would be really useful.

    12. Re:What's the point? by Anonymous Coward · · Score: 0

      BULLSHIT. State your reference for this supposed "quote" from Linus Torvalds.

    13. Re:What's the point? by Simetrical · · Score: 1

      Linus said himself, that his biggest error with Linux was, that he made it monolithic.

      Bull. He's consistently said the exact opposite. See the Wikipedia article. Or look at this post of his from 2006:

      The whole "microkernels are simpler" argument is just bull, and it is clearly shown to be bull by the fact that whenever you compare the speed of development of a microkernel and a traditional kernel, the traditional kernel wins. By a huge amount, too.

      The whole argument that microkernels are somehow "more secure" or "more stable" is also total crap. The fact that each individual piece is simple and secure does not make the aggregate either simple or secure. And the argument that you can "just reload" a failed service and not take the whole system down is equally flawed.

      Where has he ever said that making Linux monolithic was a mistake?

      --
      MediaWiki developer, Total War Center sysadmin
    14. Re:What's the point? by harlows_monkeys · · Score: 1

      All respect to Andrew Tanenbaum, I'm not trying to troll. It's a sincere question.

      He has said Minix was to be a teaching tool.

      Now they want to turn it into a super reliable OS?

      It was a teaching tool 22 years ago, when it was created. It has undergone a lot of changes since then.

    15. Re:What's the point? by Anonymous Coward · · Score: 0

      Linux is doing well with monolith operating system structure.

      When comparing to other Open Source operating systems what are based to microkernel structure, Minix and Hurd... Linux is very widely spread OS.

      Last time I checked, Hurd was still under active development (few developers?) and Minix was only for teaching purposes.

      FreeBSD, NetBSD, OpenBSD, Linux, SunOS... all those are monolith kernels (operating systems) without any OS parts running in userspace.

      Windows NT, XNU and other are microkernel based operating systems. But the operating system ain't the reason why they are successfully conquered the OS markets, but the available software and hardware for them trough business deals and marketing.

      You do not use operating system for anything without applications, GNU is not important for that, even that their C library is bretty used, but there are many available what to use for replace it. What makes future of operating systems like Linux (monolith kernel) are the applications for them. I dont use OS to do my work. I use applications to do my tasks. I need OS to run all those applications, was it a C library or Internet Browser, the operating system is still the most important software of software system but still not so important for end user.

    16. Re:What's the point? by MichaelSmith · · Score: 1

      I would like to buy a device (say an ethernet card) and install the driver which comes with it. I don't trust the driver so I only want to give it access to the physical device and the data which goes through it. In linux I have to give that driver the same privileges as the kernel. That is dangerous and dumb.

    17. Re:What's the point? by Jens+de+Smit · · Score: 1

      All these years after the Tenenbaum-Torvalds debate Linus admitted his prof was right? You'd think that would have been in the news somewhere.

      Tanenbaum is not, was not and never will be Torvalds' "prof". Torvalds never studied at the Vrije Universiteit and the two only met on comp.os.minix after Linus released his first kernel.

    18. Re:What's the point? by Olivier+Galibert · · Score: 1

      And your oh-so-magical supervising kernel knows which registers of the network card control the addresses in ram that can be accessed how, exactly? Iommus are a recent evolution in the x86 world and even then I'm not entirely sure you can have one per hardware device with fast switching.

          OG.

  6. What about OpenBSD by quinks · · Score: 0, Troll

    Not content with starting a flaming shitfest by anonymous declaration with Linus Torvalds (who managed to get where Tanenbaum wanted to be fifteen years ago), Andrew S. Tanenbaum, a computer science professor at Vrije Universiteit, decides to start a flaming sitfest by anonymous declaration with Theo De Raadt. (who is where Tanenbaum wants to be in fifteen years with this project)

  7. Sounds like an idealist by wamatt · · Score: 1

    I don't see this taking off to be honest. Minix was always a research toy. There is too much momentum in Linux. But what it might do is spur some ideas that get incorporated into the likes of Linux or BSD etc.

  8. Oh gawd , not microkernels again *yawn* by Viol8 · · Score: 0, Troll

    How many times is this old chestnut going to be tossed around?

    MS tried a microkernel with NT and its HAL. It didn't really work very well. Most Unix varients don't even bother to try. Perhaps thats the whistle to the cluetrain that Tanenbaum really should listen out for. I can't help thinking he's still a bit cheesed off that Linux took all the glory from Minix and is now trying to up the ante and present minix as a serious OS. Sorry mate, you're 15 years too late, you had your chances and lost - stick to the teaching.

    1. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      Yeah cause it certainly doesn't work for OSX... oh wait.

    2. Re:Oh gawd , not microkernels again *yawn* by Vanders · · Score: 1

      OS X is as much a microkernel as Windows NT I.e. it isn't one.

    3. Re:Oh gawd , not microkernels again *yawn* by thaWhat · · Score: 0, Offtopic

      I had this thing called an Amiga. While the upper echelons could muster the folding for an '030 or an '040 (hence task-protection and memory management), the rest of us had to make do with the occasional guru-meditation. Either way, a massive hard-disk partition was not necessary (I agree, however, it was helpful). Don't dismiss minix. If AmigaDos could boot to a fully-functional desktop from a floppy, why can't minix?

      C:

      --
      If all you have is a hammer, everything looks like a thumb.
    4. Re:Oh gawd , not microkernels again *yawn* by Chrisq · · Score: 4, Insightful

      How many times is this old chestnut going to be tossed around?

      MS tried a microkernel with NT and its HAL. It didn't really work very well. Most Unix varients don't even bother to try.

      I think you are right at the moment. I am not sure that you will still be right when processors are 256-core or greater. I think that at some point the overhead of microkernals will be made up for by utilisation of greater parallelisation.

    5. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      What about beos?

    6. Re:Oh gawd , not microkernels again *yawn* by Vanders · · Score: 1

      BeOS isn't a micro kernel either, and nor is Syllable. Both use message passing heavily in user space but that's a different beast.

    7. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      Minix is a teaching operating system. It doesn't do anything else. Tannenbaum said so, years ago. I use a half-useful microkernel OS years ago (AmigaDOS), but it tended to be unstable. There are other ones around, but they suffer from message passing bottlenecks. A self healing system? What happens when the self-healing mechanism fails? If its like the human body, they call it cancer.

    8. Re:Oh gawd , not microkernels again *yawn* by Viol8 · · Score: 1

      Given that one of the main reasons for microkernels is to seperate dodgy drivers from the kernel and hence improve stability - it doesn't say much for the implementation of amigaDOS if it kept crashing!

    9. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      "Sorry mate, you're 15 years too late, you had your chances and lost - stick to the teaching."

      clearly some one/folks with $3.3 million thought differently

    10. Re:Oh gawd , not microkernels again *yawn* by Vanders · · Score: 1

      AmigaOS couldn't separate anything from anything because it didn't have memory protection, which it didn't have because the original hardware (Motorola 68000) didn't have it. Then once MMUs became available in newer CPUs (68030/040/060) the OS couldn't be changed because applications relied on it.

    11. Re:Oh gawd , not microkernels again *yawn* by CRCulver · · Score: 1

      Was Amiga really a fully-functional desktop? Did it have full Unicode support? In today's global world, support for many languages and scripts displayed simultaneously is vital, but multibyte does tend to add to the size of applications, meaning that a complete system on a floppy can no longer be considered realistic.

    12. Re:Oh gawd , not microkernels again *yawn* by zevans · · Score: 1

      For the uninformed here (ie me) what's the advantage of microkernels on multi-core processors? Does this also apply to SMP generally? Or is there a better way to do MP with microkernels in particular?

      --
      "... and more and more now there are all kinds of electronic goodies available" -- Pink Floyd 1972
    13. Re:Oh gawd , not microkernels again *yawn* by Hurricane78 · · Score: 1

      Unix support is a straw-man argument of yours. Back in the days, this was irrelevant. Everybody used his own code-page.
      If you want to raise the bar, and expect Unicode (and full-color, and a browser, and multimedia, and whatnot), then you have to expect it to use more resources, to be on the same level as Aimga DOS again.

      How about a CD? You can put a whole Linux desktop with everything you need, on a single CD.
      Or use a 120 MB mini-CD, and limit yourself to the basics.
      The both would absolutely have Unicode support, while having the same code-compactness.
      Even a 2.88 MB floppy could do most of Unicode.

      If you want *more* than what eg. Amiga DOS did fit onto one disk, you have to allow it to use *more* space too. :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    14. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      Ehm, QNX? Check it out :)

    15. Re:Oh gawd , not microkernels again *yawn* by Chrisq · · Score: 2, Informative

      basically a microkernel architecture splits subsystems such as file systems, device drivers and security out of the kernel and into separate modules. This leads to an overhead of context switching to different processes on a single processor. A user process requesting access to a file may need a context switch to the kernel, another to security, another to the filesystem and then another to the disk device driver. With multiple processors this overhead can be removed.

    16. Re:Oh gawd , not microkernels again *yawn* by netcrusher88 · · Score: 1

      I dunno - will it really improve things if the FS driver has to talk to the disk driver on a different CPU? Sure, the kernel could maybe be smarter than that, but... I dunno. Either you use all those cores and take a hit on interprocess communication, or you don't use all the cores and waste some of that power.

      Besides, is there any reason a macrokernel couldn't be threaded? I thought they already were.

      --
      There's an old saying that says pretty much whatever you want it to.
    17. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      ... meaning that a complete system on a floppy can no longer be considered realistic.

      Correct, you'd need 2 floppies (or around 0.000144 DVDs).

    18. Re:Oh gawd , not microkernels again *yawn* by Shinobi · · Score: 1

      There were programs like Enforcer that added 3rd-party MMU. The lack of changes to support MMU in AmigaOS itself was due to management not wanting to do it.

    19. Re:Oh gawd , not microkernels again *yawn* by drinkypoo · · Score: 1

      MS tried a microkernel with NT and its HAL.

      Not really. A microkernel manages processes. The HAL only manages hardware resources. For the same reason, OSX is not really a Microkernel OS either.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    20. Re:Oh gawd , not microkernels again *yawn* by Anonymous Coward · · Score: 0

      True, but Enforcer also broke a lot of stuff.

    21. Re:Oh gawd , not microkernels again *yawn* by harlows_monkeys · · Score: 1

      MS tried a microkernel with NT and its HAL

      Wrong. Do you even know what a microkernel is?

    22. Re:Oh gawd , not microkernels again *yawn* by Tweenk · · Score: 1

      Besides, is there any reason a macrokernel couldn't be threaded? I thought they already were.

      They are: things like kthreadd, migration/0, ksoftirqd, watchdog/0, events/0, khelper, kstop/0, kintegrityd/0, kblockd/0, kacpid, etc. you can see in the process list in Linux are all kernel threads.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
  9. Minix was created by A. Tannebaum & Students f by kubitus · · Score: 1
    teaching OS design.

    You could buy the whole documentation in X honking thick binders from www.heise.de - maybe you still can.

    Andrew favors a modular approach to the kernel while Linus favors the integrated kernel.

    Both have their merits ( and arguments )

    Maybe something comes out of it!

  10. Tanenbaum? by Norsefire · · Score: 1, Informative

    He's the guy that argued with Torvalds back in 1992, right? The one who claimed that "Linux is obsolete" and Torvalds should "[b]e thankful you are not my student. You would not get a high grade for such a design." (link)

    Therefore, I'm not inclined to listen to anything he has to say about kernels/operating systems.

    1. Re:Tanenbaum? by DNS-and-BIND · · Score: 0
      Duh, that was when Torvalds himself was working on linux, before the community got behind it.

      In addition, your attitude is closed-minded.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    2. Re:Tanenbaum? by Ragzouken · · Score: 5, Funny

      Actually he said: "Be thankful you are not my student. You would not get a high grade for such a design :-)" the :-) is important.

    3. Re:Tanenbaum? by miketheanimal · · Score: 5, Insightful

      Has anyone noticed how more and more stuff gets moved from the Linux kernel into user space these days; FUSE is a good example. History may record that, broadly speaking, Tanenbaum was corrent and Torvalds was not. Anyway, I assume you are saying that since Linux has been so much more successful than Minix, we must listen to Torvalds and ignore Tanenbaum? On that basis, we should listen to Gates and ignore Torvalds!

    4. Re:Tanenbaum? by Norsefire · · Score: 0, Offtopic

      I would listen to Bill; Windows is a success (nefarious means aside). I would listen to Jobs. I would listen to Torvalds. But I would not listen to someone who is only well-known for being wrong. His stance on where operating systems and kernels are heading hasn't proven to be correct in the past and as he hasn't made any remarkable breakthroughs since then so I see no reason why that would change.

      I shudder to think what the outcome would have been if Linus *was* his student. Would there still be Linux?
      What projects-with-potential *has* he stifled through his ignorance? We will never know.

    5. Re:Tanenbaum? by zevans · · Score: 1

      What's Gates got to do with it? It was Cutler that made NT work.

      --
      "... and more and more now there are all kinds of electronic goodies available" -- Pink Floyd 1972
    6. Re:Tanenbaum? by Hurricane78 · · Score: 1

      Great. So what. They have different points of view.
      How incredibly incomprehensibly horrible!!!11!1one1 ^^

      Grow up please.
      People with different opinions are just as useful, and often even more useful, than those who agree with you. And I think both Tanenbaum and Torvalds probably know that.

      If you listen to others, you can agree, and learn, or disagree, and learn. But if you never listen, you can never learn from others. :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    7. Re:Tanenbaum? by Xest · · Score: 5, Insightful

      That's a rather ignorant viewpoint.

      Tanenbaum argued for greater modularity and really that's no bad thing, his arguments were pretty solid theoretically. But as we all know, just as the most beautiful, maintainable, stable software designs are sacrificed in business for something that works now even if it has it's flaws, Linux was available, easy to use and just worked the way people wanted, that didn't mean it was inherently better in theory or that Tanenbaum is wrong anymore than it means Windows is a vastly superior OS to Linux and MacOS X simply because it has such a massively larger user base.

      Basing your view on Tanenbaum's one comment towards Torvalds is also rather ignorant, throughout the discussion you're referring to, Tanenbaum was well composed and formed coherent arguments, whilst Torvalds at times acted like your average troll.

      You see, the very fact Windows is far and away the most popular OS followed by MacOS X followed by Linux is evidence enough that popularity means nothing in terms of the actual quality of an OS, it merely shows which played the business game better.

      Tanenbaum is worth listening to, his ideas and justifications included in that 17 year old discussion you mention aren't wrong even if his predictions on the future of computing were. This is a man who understands the theory of how to make a better OS more so than most people do, and yes possibly even more so than Torvalds. The problem is that he's a theoretical guy, so whilst his proposals may be better, they may not be practical at the time they're announced or he simply may not have the time to dedicate to proving their practicality. If they're not practical at the time he proposes them though that doesn't mean they'll never be practical as changes in computing architecture or even raw computing power may make them practical.

      Hopefully he'll put this funding to good use and it'll help provide him the time and resources he needs to take his ideas beyond mere theory and he'll be able to backup his theories with actual working demonstrations rather than just arguments now. You can be a Torvalds fanboy all you want but Tanenbaum and Torvalds are two different people - Tanenbaum is someone who comes up with theoretical new concepts, Torvalds is someone who takes existing concepts and implements them well. Both have their strengths, but writing one or the other off is foolish when both have a lot to offer.

    8. Re:Tanenbaum? by Anonymous Coward · · Score: 0

      Fortunately Linus' intention was not to get a high grade (read, please ol' Tanenbaum tastes), but make something *useful*. And he succeeded big time.
      Tanenbaum, on the other hand...

    9. Re:Tanenbaum? by Arlet · · Score: 1

      Microkernels are only better in theory if your theory doesn't include performance. For example, the old Minix-1 filesystem was run by a single task. This means that if this task was waiting for a response from the floppy disk it could not serve requests from other user tasks which needed access to the faster hard drive. This problem was too easily dismissed by Tanenbaum. Microkernel advocates claim that performance is just a small problem that can be fixed by special purpose hardware, but the floppy example shows this to be incorrect. Trying to design a microkernel filesystem layer that doesn't have these performance issues is more complex than just writing a monolithic kernel.

    10. Re:Tanenbaum? by V!NCENT · · Score: 1

      I for one only notice stuff getting into the kernel. But then again I only follow /. and Phoronix for the most part...

      I think Wine would be a good example of 'stuff outside the kernel' in a distro.

      --
      Here be signatures
    11. Re:Tanenbaum? by Anonymous Coward · · Score: 0

      >You see, the very fact Windows is far and away the most popular OS followed by MacOS X followed by Linux is evidence enough that popularity means nothing in terms of the actual quality of an OS.

      You are confusing nerd quality with real quality.
      Windows & MacOS X run the software that normal people want to use and they're often willing to pay for Windows/MacOS X even when informed of other choices. That's the only measure of quality that matters.

    12. Re:Tanenbaum? by Xest · · Score: 2, Insightful

      I agree, I suppose the kind of factors in terms of quality that Windows lacks vs. say Linux are those of security and stability, but Windows is also historically much stronger in terms of usability which is a measure of quality that matters more than any other to most end users - they just want to be able to use it, even if it's not perhaps all that secure.

      I would argue though, that from a more objective perspective though, security, stability and modularity are more important factors when measuring overall quality, it's simply that most end users don't realise this until it comes back to bite them (i.e. they lose all their documents to a virus, or lose documents to a crash etc.).

    13. Re:Tanenbaum? by harlows_monkeys · · Score: 1

      When Linus was defending monolithic kernels as superior to microkernels in performance, QNX, a microkernel, was blowing the socks off Linux in pretty much every important performance metric (and doing it with much less code, and using much less memory).

    14. Re:Tanenbaum? by colinrichardday · · Score: 1

      I'll take that to be 1992, when the Torvalds-Tanenbaum debate took place. In 1992, QNX was ten years old,and Linux was still in beta (alpha?). Gee, a ten-year old project doing better than a beta project. Who would have thought it? How do they compare today?

    15. Re:Tanenbaum? by True+Grit · · Score: 1

      Has anyone noticed how more and more stuff gets moved from the Linux kernel into user space these days; FUSE is a good example.

      From what I've read, a FUSE implemented filesystem is slower than one whose driver is in the kernel. If ext4 was implemented using FUSE you might have a point, but so far all the important, widely-used, high-performance filesystems are in the kernel.

  11. A self-repairing OS? by cpghost · · Score: 2, Interesting

    Actually, it's not such a bad idea. The concept of putting important components in user-space has been around for a while, and it still has potential w.r.t. reliability. But the real question is: are only microkernel architectures capable of self-healing?

    --
    cpghost at Cordula's Web.
    1. Re:A self-repairing OS? by Jacques+Chester · · Score: 5, Insightful

      No, but dividing things into smaller pieces makes it easier to fix those pieces in isolation. It's easier for a microkernel system to be self-healing because of that isolation.

      This is not an amazing revelation. We've known about the idea of isolating changes since the invention of the sub-routine. The reason microkernels have always been relegated to second-best is that they require more context switching than a regular monolithic kernel. The tradeoff between "fast enough" and "reliable enough" has for some time now favoured "fast enough".

      But that's changing -- people's computers are getting plenty fast. The 10-15% slowdown Tanenbaum claims for Minix3 is less of a drag than, say, an anti-virus program and could serve to more effectively prevent viruses into the bargain.

      People who say microkernels are passe forget our industry is not set in stone. Priorities change and technologies change with them. In the last 10 years performance has become progressively less important than reducing bugs or speed of development. Microkernels have lots to offer in such a world.

      --

      Classical Liberalism: All your base are belong to you.

    2. Re:A self-repairing OS? by sverrehu · · Score: 0, Offtopic

      No, but dividing things into smaller pieces makes it easier to fix those pieces in isolation.

      The nice thing with computer software, is that you can keep subdividing until you reach a collection of single bits. Repairing a single bit is very easy, so there you go.

    3. Re:A self-repairing OS? by julesh · · Score: 1

      The reason microkernels have always been relegated to second-best is that they require more context switching than a regular monolithic kernel. The tradeoff between "fast enough" and "reliable enough" has for some time now favoured "fast enough". But that's changing -- people's computers are getting plenty fast.

      Not to mention the other current hot topic in OS research, which is language-based protection (e.g. Microsoft Singularity). Such systems (almost) completely remove the context switching overhead, because they run all processes in the same address space at top processor privelege level. Thus the penalty for being a microkernel is completely removed.

      (Of course the penalty for being a typesafe language, and thus requiring automatic memory management, is added. But more and more software is written in such languages now anyway, so the penalty may be mostly illusory.)

    4. Re:A self-repairing OS? by Eivind+Eklund · · Score: 1

      (Of course the penalty for being a typesafe language, and thus requiring automatic memory management, is added. But more and more software is written in such languages now anyway, so the penalty may be mostly illusory.)

      GC can, for a fair number of cases, be faster than manual memory management, as it can better handle cache issues etc. The assumption that "manual memory management is faster" is not really general (though there certainly also exists cases where it is faster.)

      On top of that, you have things like linear types that can analyse allocations so they're static even without explicit malloc/free.

      Eivind, who knows about the pain of dealing with advanced GC, too.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
  12. Linux is Obsolete! by fishexe · · Score: 4, Funny

    Now that Minix 3 is here, Linus can take his monolithic kernel and stuff it! Microkernels are the wave of the future, man!

    --
    "I don't care about the Constitution!" --Bill O'Reilly, November 17, 2009
    1. Re:Linux is Obsolete! by Anonymous Coward · · Score: 0

      Andrew, is it you?

    2. Re:Linux is Obsolete! by GordonCopestake · · Score: 1

      Does this mean we'll finally have to release linux kernel v3.0 to compete? :)

    3. Re:Linux is Obsolete! by V!NCENT · · Score: 1

      Quick! If we hurry then we can release Linux 3.0 and Gnome 3.0 simultaneously. YEAH MAN! It'll be all like the future 'n shit! Where these Microkernel are all in, like, flying cars fulled by electricity 'nd stuff!

      I'm gonna make adrawing of how like 2050 will look like! Yeeaaahh... with robots cleaning up our houses, space travel, landing on Mars for like vacation 'n stuff. And yeah... hollographic screens everywhere, with devices around your body that let's you feel pain by playing Doom4 all in Pov-Ray, because compyoutrrrs will be fast enough with 100gHz and a million cores 'n shit!

      Oh my god... I forgot time travel!!1111one11

      --
      Here be signatures
  13. Linux is obsolete by horza · · Score: 1

    According to the professor, it should soon make Linux obsolete.

    Phillip.

    1. Re:Linux is obsolete by fishexe · · Score: 3, Funny

      "Of course 5 years from now that will be different, but 5 years from now everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5."

      Man, remember back in '96 when we all got SPARCstations? Those were the days.

      --
      "I don't care about the Constitution!" --Bill O'Reilly, November 17, 2009
    2. Re:Linux is obsolete by ciderVisor · · Score: 1

      Hahaha. I'm completely new to this debate (yeah, I know - what a n00b !). Has Tanenbaum ever withdrawn his arguments in the light of experience ? Has he ever thrown up his hands and said "You know, I was just plain wrong. Mea culpa." ?

      Anyone who remembers the climate in microcomputers at that time can kind of appreciate where he was coming from but the landscape has changed so much (if you'll allow me a little metaphor-mixing) since then that most of his points have either been soundly refuted or shown to be overly cautious/conservative.

      --
      Squirrel!
    3. Re:Linux is obsolete by MichaelSmith · · Score: 1

      Hahaha. I'm completely new to this debate (yeah, I know - what a n00b !). Has Tanenbaum ever withdrawn his arguments in the light of experience ? Has he ever thrown up his hands and said "You know, I was just plain wrong. Mea culpa." ?

      Anyone who remembers the climate in microcomputers at that time can kind of appreciate where he was coming from but the landscape has changed so much (if you'll allow me a little metaphor-mixing) since then that most of his points have either been soundly refuted or shown to be overly cautious/conservative.

      Since the landscape has changed AST can hardly be said to have been wrong at the time. But anyway the landscape is changing towards lightweight embedded systems. Linux is a better fit in that environment than Vista, but a smaller, more modular kernel would be an even better fit.

    4. Re:Linux is obsolete by AVee · · Score: 2, Insightful

      Hahaha. I'm completely new to this debate (yeah, I know - what a n00b !). Has Tanenbaum ever withdrawn his arguments in the light of experience ? Has he ever thrown up his hands and said "You know, I was just plain wrong. Mea culpa." ?

      No, why should he? Because Linux is more popular then minix? I'd guess most people here should start sending Mea Culpa's to Microsoft...

    5. Re:Linux is obsolete by Anonymous Coward · · Score: 2, Interesting

      According to the professor, it should soon make Linux obsolete.

      Phillip.

      A great thread to point out Torvalds hasn't changed much. He's still the same arrogant prick he was back then.

      Replying like an inane troll to the professor's insightful and constructive comments. Repeatedly.

      Mail after mail, Tanenbaum comes off as an intelligent gentleman, while Torvalds as a frustrated teenager.

      He did get one thing right though: it was free, and that made it better.

      (Posting AC after modding the parent informative. And yeah, I run Linux.)

    6. Re:Linux is obsolete by LizardKing · · Score: 1

      If he had phrased it as "their 200 MIPS, 64MB RISC computers" then he would have been on the money. In 1996 most of the machines I was using had Pentium Pro processors that were essentially RISC chips with an up front decoder for Intel's shit instruction set (the other machines I was using were SparcStations and an Alpha server). So Tannenbaum was right because he was arguing there would be a shift from true CISC chips to more efficient and powerful RISC ones. As for the monolithic argument, Torvalds started conceding that point when Linux went modular, and he has since gone on record saying that the monolithic approach was wrong (although the only practicable one given his goals when he started work on his kernel).

    7. Re:Linux is obsolete by Anonymous Coward · · Score: 0

      Tanenbaum could be the most insightful person on the planet, however unless he's actually going to actually deliver results he's a waste of everyone's time.

      Minix is older then Linux yet it's still no where near ready or even useful. Tanenbaum has time and time again shown to be wrong. Why this idiot is still a professor and even receiving money to work on his piece of shit is beyond me.

    8. Re:Linux is obsolete by Lumpy · · Score: 1

      Well I did not get my Sparcstation in 1996. In 2006 I got one as we were throwing them away at work. Ipened a box and there it was. a brand new Sparcstation never used. it was the spare we had in case one of the 4 ever died.

      I got all 5 and made one super sparcstation. Next ot my Cobalt Qube Its my favorite low power machine :)

      --
      Do not look at laser with remaining good eye.
    9. Re:Linux is obsolete by Anonymous Coward · · Score: 0

      Tanenbaum is an acacademic. Did you expect (cough) practical results?

    10. Re:Linux is obsolete by V!NCENT · · Score: 1

      I can see potential for microkernels on current hardware. All it needs to do is get to 3.2 and include the noveau X.org driver, along with a few drivers so you can put together a PC that's supported, a port of Wine, Firefox and Gnash, OO.o and you'd be having a production OS. Especialy in five years time.

      Maybe you should give this guy a break... You can say all you can, but this guy doesn't quit chasing his ideals/vision. I'd love to see you getting 3,3 milion from the EU ;)

      --
      Here be signatures
    11. Re:Linux is obsolete by colinrichardday · · Score: 1

      Mail after mail, Tanenbaum comes off as an intelligent gentleman, while Torvalds as a frustrated teenager.

      Tanenbaum may "come off" as intelligent, but his predictions have not borne out. People did not use GNU Hurd in 1996 (or even today), nor is Linux trapped in x86, nor did Mr. Torvalds fail to get programmers from around the world to contribute to Linux. And if neither Windows nor OS X is a true microkernel (there has been disagreement on this topic in this discussion), then there has been no strong trend to microkernels, even if there is one toward greater modularity in kernels.

  14. nostalgic by Anonymous Coward · · Score: 0

    Maybe I'm just a bit nostalgic but why isn't it mentioned that a early version of Minix* inspired Linux*?

    *: http://en.wikipedia.org/wiki/Linux#MINIX
    *: http://en.wikipedia.org/wiki/MINIX

    1. Re:nostalgic by julesh · · Score: 1

      Maybe I'm just a bit nostalgic but why isn't it mentioned that a early version of Minix* inspired Linux*?

      Because, judging by the phrasing of the summary, the contributor had never heard of Minix before. Which must be some kind of sign about how far from our roots we've grown.

  15. Minix 3 source code by Jacques+Chester · · Score: 3, Informative

    I'd recommend people take a look at the source code for Minix 3. It's actually pretty easy to wrap your head around, even for a C-phobic person like I am.

    --

    Classical Liberalism: All your base are belong to you.

    1. Re:Minix 3 source code by Lumpy · · Score: 1

      That's what happens when you have someone who is a Code and OS expert doing the code reviews and control. Plus there is not moron Manager breathing down his neck asking," does it compile? can we ship? does it compile? can we ship it anyways?"

      Honestly, it's what it ALL should look like, not the unreadable crap I have to read daily here.

      and that's just MY code!

      --
      Do not look at laser with remaining good eye.
  16. System security is only half the rent by Opportunist · · Score: 2, Insightful

    The other is user security. And you cannot solve that problem with technology.

    The circle you have to square here is that the user/admin should be allowed and able to run his software, but at the same time he must not run harmful software. Now, how do you plan to implement that? Either he can run arbitrary software, then you cannot identify security risks before it is too late. Or he cannot run software that is a potential security risk and he is no longer the master, owner and root of his own machine.

    Oh, you want a system where the user can generally do his work but has to ask for special privileges when he wants to install new software or change security critical settings? Where have I heard 'bout that before... hmmm...

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:System security is only half the rent by Jacques+Chester · · Score: 2, Informative

      The Singularity project at MSR looked at this problem in a different way. What if each piece of software carries a protocol specification? What services it will require, in what order?

      Then you can do various clever things involving proving that the system won't do anything malicious. If the software tries to do something outside of its specified protocol, then zappo, it's gone. This has the nice side effect that you don't need to rely on hardware memory protection and therefore you don't have to pay context switches. Singularity's process startup and kill times leave everyone else for dead.

      But Singularity only works because of language features and requires you to do everything in a conforming language (Spec#). Probably the most meaningful predecessor was Oberon.

      Minix has a better chance of working in the "real world" because it takes a less all-or-nothing approach to the problem. For instance, Minix3 is coded in C, which is fast but unsafe. But Minix supports a lot of POSIX and could conceivably add Linux emulation as a module, whereas Singularity requires you to rewrite everything to enjoy the guarantees.

      Tanenbaum makes the further point that no matter what you prove, software has bugs. If you isolate the bugs you reduce their cost. If you simplify recovery from failure you reduce their cost still further. A microkernel approach does just these things and so would presumably be more reliable on a per-line-of-code basis than a monolithic kernel.

      --

      Classical Liberalism: All your base are belong to you.

    2. Re:System security is only half the rent by MamieNova · · Score: 1

      Windows Vista ?

      --
      Words are the ones' weapon and the others' last resort.
    3. Re:System security is only half the rent by zevans · · Score: 1

      The other is user security. And you cannot solve that problem with technology.

      The circle you have to square here is that the user/admin should be allowed and able to run his software, but at the same time he must not run harmful software. Now, how do you plan to implement that? Either he can run arbitrary software, then you cannot identify security risks before it is too late. Or he cannot run software that is a potential security risk and he is no longer the master, owner and root of his own machine.

      Interesting. For a long time I've been convinced there's a way to do principle of least access in a consistent and psychologically useful and friendly manner. There MUST be. Right?

      --
      "... and more and more now there are all kinds of electronic goodies available" -- Pink Floyd 1972
    4. Re:System security is only half the rent by blendedmetaphor · · Score: 1

      Easy fix. Build an operating system that offends people that should not be allowed to operate a computer. Instead of asking every time whether the user wants to do something they possibly shouldn't be doing, the OS should tell the user that they are to stupid to use it and to call their 5 year old child/grandchild for advice.

      --
      Existence is futile
    5. Re:System security is only half the rent by tepples · · Score: 1

      For a long time I've been convinced there's a way to do principle of least access in a consistent and psychologically useful and friendly manner. There MUST be. Right?

      There is, and it's called OLPC Bitfrost. Google it.

    6. Re:System security is only half the rent by AnyoneEB · · Score: 1

      Another user mentioned Singularity and covered it pretty well, so I will not repeat what he said except that using Sing# makes Singularity faster than C because it is managed. It is a bit counterintuitive because when most people think of managed code, they think of JIT/interpreter overhead, but there is no reason to not native compile it and a good compiler should get better results than with C because the compiler knows more about the structure of the program.

      One idea is to limit the destructive actions the user can take. Disk space is cheap, so, for most uses, infinite undo/undelete kept around forever would not be that hard (in the worst case, undo can be handled by a copy of the original file and a timestamped list of every action done to it... it just may take a while to get back to a specific version). Of course, there are privacy issues in not being able to really delete files, so there would have to be some way to do it... but the OS could be setup to try to ensure that files could only be permanently deleted by direct user interaction. Most other issues can probably be handled by limiting permissions (so out of hand applications can't get too out of hand) and setting up systems so users would not consider running unsigned code as normal (package management goes a long way here).

      I agree that user security is a hard problem, but there is certainly more research to be done in the area.

      --
      Centralization breaks the internet.
    7. Re:System security is only half the rent by grumbel · · Score: 1

      The other is user security. And you cannot solve that problem with technology.

      You can't solve all user security issues with technology, but you can solve a hell of a lot then todays OSs try. The whole insecure password thing could be easily fixed with smardcards/usbstick and pincodes, by far most applications could be run in isolation not having full system access and the filesystem could provide versioning so that even if things would go wrong, you could roll the changes back and get a look of what happened in the first place. None of them are rocket science or especially expensive and all of them make the system *more* convenient to use, not less. This whole "blame the user" business is in large part just an excuse for bad engineering. Its like the whole phising thing, yeah, users shouldn't click on everything, yet I have yet to see a single mail from a larger company that actually signs there mails cryptographically, which would make automatic phising detection trivial without the user having to lift a finger.

    8. Re:System security is only half the rent by RiotingPacifist · · Score: 1

      This isn't meant to be practical, just theoretical, hence starting from minix instead of a full blown kernel is a good idea.

      Oh, you want a system where the user can generally do his work but has to ask for special privileges when he wants to install new software or change security critical settings? Where have I heard 'bout that before... hmmm...

      UAC, is a damn good idea, the implementation in vista is piss poor. If you stuck a UAC-like interface on selinux/apparmor (something like fireflies was for iptables), you can then put restrictive set of policies on all apps and have pop ups for fringe cases/new software. While not 100%, it instantly lowers the bar for securing an OS to something achievable by anybody with a clue about how programs work, a not overly alarmist color code warning scheme might might even help the rest. But i digress, UAC was a well needed step for windows security.

      --
      IranAir Flight 655 never forget!
  17. Hooray! by Cornwallis · · Score: 5, Funny

    2009 will finally be the Year of the Minix Desktop!

  18. I'm really getting old by udippel · · Score: 1, Interesting

    This is what I thought when I read the post. It really smells as if the poster, narramissic, had not been around when microkernels and minix were fashionable. And neither was the person to allow for it to show on slashdot.

    Let's call the minix discussion flogging a dead horse, until these chaps have come up with something real. If they manage to come up with something that is close to the beauty the idea of microkernels has on paper.

    1. Re:I'm really getting old by mr+crypto · · Score: 1

      So how is this approach different from GNU Hurd? http://www.gnu.org/software/hurd/hurd.html

  19. perhaps their work will inspire by ei4anb · · Score: 4, Interesting

    I remember submitting some patches to them many years ago when I got Minix working in less that one megabyte of RAM (at the time Minix worked at 1Mb and up) and thinking that it would be nice if it were GPL and if I had the time...
    As I recall some guy in Finland did have the time

  20. Even more misleading by EmTeedee · · Score: 5, Informative

    ...is to call this news. The grant was received in November 2008! (see http://www.minix3.org/news/)

    1. Re:Even more misleading by Caesar+Tjalbo · · Score: 0

      It's odd, the ERC Advanced Grant was awarded on 30 July 2008 already. I believe the news is Tanenbaum/the university now actually received the money.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    2. Re:Even more misleading by CXI · · Score: 1

      Yeah, welcome to the world of grants. The dates never make any sense. They setup grants here in our sponsored programs department that were sometimes awarded a year or more ago.

  21. Why would you think Minix was dead? by jonaskoelker · · Score: 5, Funny

    I though Minix was dead for some 15 years....

    Did netcraft confirm it?

    1. Re:Why would you think Minix was dead? by Anonymous Coward · · Score: 0

      Netcraft wasn't even founded as Minix was already dead

    2. Re:Why would you think Minix was dead? by AHuxley · · Score: 2, Interesting

      Did SCO confirm it?

      --
      Domestic spying is now "Benign Information Gathering"
    3. Re:Why would you think Minix was dead? by JWSmythe · · Score: 1

          SCO tried, but they couldn't find anyone left to sue there. Since there so lawsuit happy, I'd suspect if it wasn't dead, they would have found someone. Actually, I'm pretty sure they'd be willing to sue a corpse, but that's just supposition (i.e., SCO, please don't sue me for saying it).

      --
      Serious? Seriousness is well above my pay grade.
    4. Re:Why would you think Minix was dead? by Anonymous Coward · · Score: 0

      I though Minix was dead for some 15 years....

      Did netcraft confirm it?

      Better yet, what does Alexa say about that?

  22. How about JIT in the Kernel? by bertok · · Score: 1

    I was just thinking recently about Microsoft's Singularity research operating system written in C#, which is cute, but somewhat useless in the real world. One big advantage though of statically verifiable byte-code languages like C# in operating systems though is security, because you can ensure a block of code is secure once and then run it at full speed without further access checks. That's almost impossible with generic C or assembler, but tractable with bytecode-based languages like Java or C#.

    While a *pure* C# operating system is a bit nuts, why not allow a *hybrid* operating system? Simply create a variant of the Java or C# runtime that can execute inside the Kernel at Ring 0, and only allow verifiably safe code to run. You get the benefit of a high level garbage collected language with all the safety checks that are normally enforced by the user-space/kernel-space seperation, but with none of the overheads.

    This would have been impossible some years ago, because most operating system kernels weren't properly preemtible, and Windows on 32-bit had all sorts of pre-allocated buffer size limits, but all of that has been solved or has gone away with 64-bit.

    I can't think of any reason this wouldn't work. Keep in mind that the typical device driver might be written by some minimum-wage code jokey in Taiwan or China who's got a "Kernel Programming for Dummies" book on his desk. I'd rather have him working in a language that can be verified safe, instead of a language that comes with a whole array of guns to shoot all of your feet off.

    1. Re:How about JIT in the Kernel? by dido · · Score: 2, Interesting

      The folks at Bell Labs who invented Unix and Plan 9 have been doing all that and more since the mid-1990s with Inferno. The core kernel is pure C, which has a bytecode interpreter for the Dis virtual machine, which almost all userspace code runs as, allowing it to run code safely even on CPUs that don't have hardware memory protection. Add to that a neat C-like programming language called Limbo that natively supports primitives inspired by C.A.R. Hoare's Communicating Sequential Processes, full support for distributed processing technology first developed for Plan 9, and you've got a really interesting open source embedded distributed OS that is working today.

      --
      Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
    2. Re:How about JIT in the Kernel? by Anonymous Coward · · Score: 0

      This only works if a) your verification system is flawless and b) you actively verify each programm whenever it is changed on disk (if you can guarantee it is never changed without you noticing, otherwise you need to do that every single time it is executed, given that your memory is uncorruptable, etc., etc., ad nauseam). Singularity doesn't do that, it trusts a signature on the compiled binary... Very secure, indeed.

    3. Re:How about JIT in the Kernel? by frank_adrian314159 · · Score: 1

      Try House as a basis - it's got a compiled, type-safe language that runs within a couple of percent of C's execution speed (Haskell) as a basis. It should be practical enough and has all the type-safety that an OS needs.

      --
      That is all.
  23. What ideas? by Viol8 · · Score: 1, Insightful

    All I can see is some buzzwords and them waffling about microkernels - a 1970/80s concept if ever there was one which so far has proved less than impressive in the real world.

    1. Re:What ideas? by V!NCENT · · Score: 1

      You can ask yourself why this is the case...

      HURD is almost practically impossible because it's extremely hard to debug.

      For everything else commercial: nobody did it because of problems with speed and deadlines.

      Ever seen Vista? That can-do-nothing-right-OS is heavyer than any microkernel implementations that I have ever seen.

      In other words; the right kernel at the worng time.

      --
      Here be signatures
    2. Re:What ideas? by Blakey+Rat · · Score: 1

      Ever seen Vista? That can-do-nothing-right-OS is heavyer than any microkernel implementations that I have ever seen.

      Vista has one point going for it that no microkernel OS ever has: you can use it to surf Slashdot and write an email. "Heavy" or not, at least it fucking works.

    3. Re:What ideas? by V!NCENT · · Score: 1

      Ever tried HURD? It works... to some degree (heh just like Vista); the degree of posting on /.

      --
      Here be signatures
    4. Re:What ideas? by VoidCrow · · Score: 1

      OS-9?

  24. Minix reincarnation by lzdt · · Score: 1

    "The current version of MINIX 3 (3.1.2) is a work in progress. It is nowhere near as mature as FreeBSD or Linux right now."
    Yau, Minix is not dead, micro kernels are /better/ than this monolithic retires and with your definitions of "near" you'd better promote yourself for the oxford english dictionary editor.

  25. Sometimes by HarryatRock · · Score: 2, Interesting

    I have been trying to answer that question for more than 40 years, and I can say the answer is :: sometimes. The trouble is you need lots of money (i.e. man hours + very good kit + a very well defined problem + lots of testing), unfortunately experience shows that when you get all of that, the system is obsolete by the time you hand it over to the user. It's better to aim for good enough.

    --
    nec sorte nec fato
  26. EU Burocracy... by js_sebastian · · Score: 5, Informative

    The aim is not to produce a better operating system, the aim is to secure funding. This is what academics actually do; good research is (at best) a byproduct. This is business as usual for a research group.

    Not really. The purpose is doing the research you are interested in doing (even if it's just for your career ambitions). For that you need funding. So of course you have to do some marketing to sell the research you want to do to the people deciding whom to fund. You think this guy has been doing MINIX for 20 years just to get funding? It's the other way around, you get funding, to be independent and have people work for you so you can get some interesting stuff done. Or, if you are more cynical, he's working on MINIX because it generated enough interest that he could get a ton of publications out of it.

    The real research will be a low priority, because the group will need to satisfy the EU bureaucracy that they are doing something worthwhile. Consequently, most of their time will be spent writing reports.

    From my experience this is a bit of an exaggeration. It's true that EU-funded projects have more strings attached than those from many other funding sources, but running the burocracy/reports/financials for an EU project that is funding 3 full time people at our university still only takes a rather small percentage of my time.

    And that's a lot more freedom to do real research than in any company environment i've seen or heard of so far. Big companies (even the good ones) have IMHO more bureaucracy, not less, and short-term horizon (want returns in 3, 5 years at the most), which means very little of what is called "research and development" has anything to do with research.

    1. Re:EU Burocracy... by jcupitt65 · · Score: 1

      Agreed, what a good post. I've worked on many EU-funded projects and the admin is really not too bad.

      If you want to criticise EU research projects there are much more obvious fish to shoot at in that barrel. Six-monthly (or often more frequent) project meetings of international partners are dazzlingly expensive and wasteful, and many of your partners will be absolutely useless, but you have to have them to meet various quotas.

      In one project I was in, the Greek partner received his initial payment, ran to the bank, cashed the cheque, and fled to Brazil. This was comically described as a "minor project startup issue" by the lead. Fortunately no one had counted on them doing anything useful anyway, so the project was unaffected.

      Despite the problems I still have a positive view of these programmes. They really do encourage EU-wide collaboration; they sometimes, even indirectly, produce useful results, and are actually much less wasteful than many things about the EU.

    2. Re:EU Burocracy... by FourthAge · · Score: 1

      Good points.

      What I am saying is that this isn't such an exciting event. Tanenbaum will have been involved in many research projects of this sort during his career; every year or so, he will start another one. And each time he will say that he hopes to achieve something new, and give examples of what that might be. So it's business as usual.

      On bureaucracy: in order to get EU funding, you have to agree to be part of a wider project with research goals that don't necessarily match up with your own, and so you end up doing lots of donkey work simply to satisfy the EU. This is why I complain of bureaucracy, since the pseudo-research that is produced has negative value, wasting time that could be spent on real research. This may vary from project to project, but it can be very demoralising to work on projects (I work on two!) where most of the official work is just tedious box-ticking and the real research is not strictly part of the project. This is why I am whining about it on the Internet.

      --
      The tao of democracy: the government you can vote for is not the real government.
    3. Re:EU Burocracy... by js_sebastian · · Score: 1

      Good points.

      What I am saying is that this isn't such an exciting event. Tanenbaum will have been involved in many research projects of this sort during his career; every year or so, he will start another one. And each time he will say that he hopes to achieve something new, and give examples of what that might be. So it's business as usual.

      Ehe, ok, agreed. Professor X got more funding is not really news, even by slashdot standards. But then again, Minix can always spark up a nice little controversy...

      On bureaucracy: in order to get EU funding, you have to agree to be part of a wider project with research goals that don't necessarily match up with your own, and so you end up doing lots of donkey work simply to satisfy the EU. This is why I complain of bureaucracy, since the pseudo-research that is produced has negative value, wasting time that could be spent on real research. This may vary from project to project, but it can be very demoralising to work on projects (I work on two!) where most of the official work is just tedious box-ticking and the real research is not strictly part of the project. This is why I am whining about it on the Internet.

      I guess I've had better luck on this than you. Probably because I am in a well-funded, applied field, where we don't have to stray too far from our interests to get funding. But I agree the huge consortium thing can be scary.

    4. Re:EU Burocracy... by dkf · · Score: 1

      From my experience this is a bit of an exaggeration. It's true that EU-funded projects have more strings attached than those from many other funding sources, but running the burocracy/reports/financials for an EU project that is funding 3 full time people at our university still only takes a rather small percentage of my time.

      That really depends on the details of the project. STREPs (small projects) tend to be easier that way than IPs (big "integrated" projects), and a great deal is down to how much paperwork was designed in by the project management. IMO (and with a few years' experience now) you're best off trying to minimize the number of Work Packages that you're in; that helps a lot with keeping the paperwork monkey off your back.

      BTW, it's very worthwhile doing EU projects since they give you a chance to work with other talented people doing cutting edge research and combining what you want to do into a whole that is greater than the sum of the parts. But like any opportunity, it's up to you to not waste it...

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
  27. Windows? by lzdt · · Score: 1

    As a big windows fan boy I feel pretty lousy: THERE ARE ONLY 2 SUPPORTED GAMES: adventure and tic tac toe!
    Ughh, don't you also think that at least 85% of the user base of a successful OS are minesweeper and solitaire overlords?

  28. Security metrics by dp_wiz · · Score: 0

    aims to be more reliable and secure than either Linux or Windows

    Why not both?

    - How it goes?
    - We can't yet beat Linux security so we should market as "more secure than Windows".
    - Okay. Compile, ship.

  29. In related news, Linux missed the desktop chance by jonaskoelker · · Score: 1

    I think it's very interesting that if you go RTFA (yeah, I'm new here), you can read the related headline[1]:

    "Desktop Linux: Why it may have lost its chance"

    I think the dear AST is up to no good...

    [1]: http://www.itworld.com/open-source/67022/desktop-linux-why-it-may-have-lost-its-chance

  30. My Windows WAS secure by Anonymous Coward · · Score: 0

    Until I plugged the network cable in!

  31. So? by Anonymous Coward · · Score: 0

    Europe funds a great many things, a lot of them completely irrelevant. What makes this one special enough to end up on /.? Is mentioning that horrible Dutch bastard of a professor (try reading one of his books without wanting to kill yourself) all it takes these days? Or is it the fact that "minix" ends in X?

    1. Re:So? by zevans · · Score: 2, Informative

      It's interesting to a good number of people here, especially those with six-figure or shorter UIDs, for historical reasons. Pity the summary doesn't mention those reasons AT ALL.

      Minix came Before Linux (yes, there is such an era) and the Minix and Gnu communities encouraged one another in the same way that Linux and FOSS cross-fertilise now.

      --
      "... and more and more now there are all kinds of electronic goodies available" -- Pink Floyd 1972
  32. Doesn't anybody think the hardware is the problem? by master_p · · Score: 4, Interesting

    The real reason there is no security and that we have the monolithic vs micro kernel is that CPUs provide process isolation and not component isolation. Within a process, CPUs do not provide any sort of component isolation. If they did, then we would not have this discussion.

    I once asked Tanenbaum (via email, he was kind enough to reply) why CPUs do not have in-process module isolation. He replied:

    From: Andy Tanenbaum [ast@cs.vu.nl]
    Sent: Ðáñáóêåõ, 1 Öåâñïõáñßïõ 2008 4:00 ìì
    To:
    Subject: Re: The debate monolithic vs micro kernels would not exist if CPUs
    supported in-process modules.

    I think redesigning CPUs is going to be a pretty tough sell.

    Andy Tanenbaum

    But why? I disagree with that for two reasons:

    1) the flat address space need not be sacrificed. All that is required is a paging system extension that defines the component a page belongs to. The CPU can check inter-component access in the background. No change in the current software will be required. The only extra step would be to isolate components within a process, by setting the appropriate paging system extensions.

    2) The extension will require minimal CPU space and CPU designers already have great experience in such designs (TLBs, etc). Money has been invested for less important problems (hardware sound, for example), so why not for in-process components? it will be very cheap, actually.

    Of course, security is not only due to the lack of in-process component isolation, but it's a big step in the right direction...

  33. $3.3 million for 5 years? by Exitar · · Score: 1

    It doesn't seem a lot to me...

  34. How about not by Viol8 · · Score: 2, Informative

    A number of issues I can see:

    - A bug in the VM could effect EVERY driver on the system
    - Drivers generally need to respond to hardware interrupts and send out data to hardware in real time. Thats unlikely to
        happen if its managed code.
    - A VM/JIT system would only catch memory issues. It wouldn't catch out bad logic or instructions that make the
        hardware go nutes and crash the machine anyway.

  35. Screenshot by missing_myself · · Score: 1
    1. Re:Screenshot by natebarney · · Score: 1

      Did anyone notice that the "web browser" windows in the screenshots said xv in the title bar?

  36. Roland-like by suso · · Score: 1

    The only thing that could make this story more entertaining is if that Roland Pepperfuqerqueue guy submitted it.

    1. Re:Roland-like by pasamio · · Score: 1

      Its a shame he's dead then isn't it.

      --
      I always wondered where this setting was...
  37. I dont want self-healing. by miffo.swe · · Score: 1

    I want the crap to work as expected first of all. Self healing comes at the very bottom of any list i have. Id much rather have good error handling and logging than self healing.

    Self healing is something i hate since it makes software behave inherently unpredictable, even more so than an average Windows box of /etc/random

    --
    HTTP/1.1 400
  38. Re:In related news, Linux missed the desktop chanc by LizardKing · · Score: 1

    I think the dear AST is up to no good...

    Don't blame IT World's linking of the Minix article with a one that gets your fanboy hackles up on Tannenbaum - it makes you look like an idiot.

  39. microkernel by Anonymous Coward · · Score: 0

    Sounds to me like he's just saying: "microkernels are cooler, gimme some cash." No?

  40. Re:Minix was created by A. Tannebaum & Student by LingNoi · · Score: 0, Troll

    Like what? Minix started before Linux and so far there's been nothing. There's more improvement around HURD (which is in Debian) then there is Minix.

    All the EU have done is waste their citizen's money.

  41. If only linux was a microkernel by Anonymous Coward · · Score: 1, Interesting

    Too bad that as usual slashdotters talk first. Commercially available microkernel os - www.qnx.com.

    This is the best OS I've programmed for. Drivers and network stacks in user space. Develop and debug just like your user-space apps. your driver crashes? No BSOD, no kernel panic, just restart it, it's a user mode process.

    No monolithic kernel, no global kernel address space for thousands of people's drivers and modules to screw each other over.

    It would be a dream come true if OSS developers would support Minix instead of Linux. Then we'd have a secure robust foundation for OSS software.

    Doubt it will happen as most are too short-sighted and quick to spread FUD and deride things that they don't understand (just read the replies on this thread). Turns out they're just as bigoted as MS fanboys or Mac fanboys.

    Too bad Linus didn't listen to his professor.

    1. Re:If only linux was a microkernel by InfiniteLoopCounter · · Score: 1

      Some points/questions to consider (from a non-expert in the field):

      1.) Do users have to install each driver separately if they are in user-space? The Linux kernel usually comes with the drivers you need (if they are open source).

      2.) With user-space driver issues that might be resolved by simply restarting some process there is less incentive for bugs to be fixed quickly - you might just have to deal with a little wait. When you have kernel panics it is not good for the reputation of the manufacturer of the hardware that the driver interacts with. It is in the manufacturer's interest to at least keep an eye out for bugs and performance problems.

      3.) Isn't there an overlap between what can be achieved by a monolithic kernel and a micro-kernel? I mean it is all code with the same instruction sets. Surely security and such can be achieved to the same degree in both arrangements. If you're just moving code around, how can the design make it more secure?

    2. Re:If only linux was a microkernel by colinrichardday · · Score: 1

      It would be a dream come true if OSS developers would support Minix instead of Linux. Then we'd have a secure robust foundation for OSS software.

      Doubt it will happen as most are too short-sighted and quick to spread FUD and deride things that they don't understand (just read the replies on this thread). Turns out they're just as bigoted as MS fanboys or Mac fanboys.

      However fanboyish they are, the source to QNX was not available until September 12, 2007, by which time Linux simply wasn't subject to kernel panics (at least I didn't have any, YMMD).

      No monolithic kernel, no global kernel address space for thousands of people's drivers and modules to screw each other over.

      Is this a problem in current versions of Linux/*BSD?

  42. Re:Minix was created by A. Tannebaum & Student by kubitus · · Score: 1
    a rather harsh comment by you.

    Tannenbaum designed Minix 1 and 2 in his academic and turorial work together with students.

    Many students gained by his lectures - including Linus Torvalds. So what?

    Giving 3 Million Euro to a University Institute is not so bad.

    I do more question the BSD style license.

    I would have preferred some pay-back mechanism from commercial users - not excluding them for their interest to keep own development based on it undisclosed.

  43. Secure OS Research, already found... OpenBSD.org by Anonymous Coward · · Score: 0

    What a waste of money. Give it to be and I'll find one very quickly and easily by just typing 'openbsd.org' into my browser.

    This money would be much, much better off being put towards OpenBSD for what they've done for EVERYONE, including Linux, MS, and others...

  44. Could it offer a risk to flexibility? by __aarvde6843 · · Score: 1

    I had some problems with some OSs that believed they were smarter than the user (me) (a brand that looks like a fruit comes to mind). It was difficult to convince it to do exactly what you were asking. If a system is that "smart", I think a part of its flexibility may be at risk...

    (I'm not saying that *any* OS I currently use can do exactly what I had in mind, all the time ;)

  45. OS fixes itself already by 192939495969798999 · · Score: 1

    As they mention in the summary, there's this button I can push, wait 30 seconds, and then the computer is fixed. There sure is a lot of work left in eliminating that 30 second wait for the fix!

    --
    stuff |
    1. Re:OS fixes itself already by Ant+P. · · Score: 2, Insightful

      30 seconds when you're sat on your ass in front of your PC.

      Try power-cycling a weather satellite in 30 seconds.

  46. Where are we going? by Anonymous Coward · · Score: 0

    A Dutch university has received a $3.3 million grant from the European Research Council to fund 5 more years of work on a Unix-type operating system, called Minix

    When we are getting articles on /. referring to 'a Unix-type operating system called Minix', instead of just 'the minix OS'...

    Everybody should know minix, right?

    1. Re:Where are we going? by Anonymous Coward · · Score: 0

      It should be referred to as "GNU/Minix", thank you.

      R.M.S.

  47. score this one up .. by viralMeme · · Score: 1

    That comment totally 'addresses' the defects in current CPU design and begs the question as to why fixing these defects were never a priority.

  48. Publish AND Perish... by Anonymous Coward · · Score: 0

    I suspect that, had Minix been released under the GPL (or even a BSD like license), linux would probably have a microkernel architecture. Prentice-Hall's license pretty much guaranteed that Minix would be, at best, an academic research tool and never be embraced as widely as Linux. The irony of their trying to protect their publishing revenue stream is that, had Minix been released under the GPL, the core code and concepts would very likely have spread far and wide, creating a huge market (compared to the one title they actually published...) in supporting Minix titles.

  49. before it was GNU/Linux by tepples · · Score: 1

    Linux was dependent on the MINIX user space at first. With code from the GNU system freely available, it was advantageous if this could be used with the fledgling OS.

    So using the slash notation, it was Minix/Linux before it was GNU/Linux.

  50. Ministry of Silly OSs by Anonymous Coward · · Score: 0

    With just a couple more years of government backing, Tannenbaum feels he can make a very silly OS.

  51. Dream system by byrtolet · · Score: 1

    The problem is that OS is just a part of the software system. You can't have a 100% reliable and secure system, if all codeb being executed contains millions or billions of lines. At least until we can remove the human factor.

  52. Re:Secure OS Research, already found... OpenBSD.or by Anonymous Coward · · Score: 0

    Ditto. The OpenBSD project is not something in the mind of a crazy professor, is real now, working on real production hardware, on servers, desktops and laptops alike defining the high standards of security that all other real OSes have to try and reach. Why is the People's money spent on a single man project that has proved nothing so far?

    The only thing MINIX3 got right is the license.

  53. Re:Minix was created by A. Tannebaum & Student by Anonymous Coward · · Score: 0

    Is this a troll.. it's a research/teaching operating system rather than a production one. Big difference...

    It's a great learning tool and a good textbook has come out of it.

    It inspired Linux - without it Torvalds probably would never have gotten started.

    Tanenbaum has done a pretty damn good job of it so far, and has made plenty of contributions to the OS community using it as a research platform.

  54. affect - to cause change; effect - what changed by Anonymous Coward · · Score: 0

    Interesting comment. Minor nitpick: you meant "affect" rather than "effect" I suspect.

  55. OLPC Bitfrost by tepples · · Score: 1

    If the software tries to do something outside of its specified protocol, then zappo, it's gone.

    Bitfrost on OLPC's XO laptop tries to do something similar with a typical kernel/app separation: apps (called "activities") can specify their "protocol" as a set of privileges, and some privileges (such as scanning directories and connecting to a network) are deemed mutually exclusive unless the user grants them after the installer finishes.

  56. sudo make me a sandwich by tepples · · Score: 1

    Either he can run arbitrary software, then you cannot identify security risks before it is too late. Or he cannot run software that is a potential security risk and he is no longer the master, owner and root of his own machine.

    Or you can implement finer grained permissions for applications. For example, does a program that views all photos in a home directory need the ability to upload photos? If not, then a program doesn't need privileges to call opendir() and socket().

    Oh, you want a system where the user can generally do his work but has to ask for special privileges when he wants to install new software or change security critical settings? Where have I heard 'bout that before...

    Are you thinking of Windows UAC, or possibly sudo make me a sandwich?

    hmmm...

    HMMM?

  57. openbsd for the win by Anonymous Coward · · Score: 0

    why the $%?&* spead so much money on minix when you could fund for years openbsd which is already aiming to be secure and functionnal.

    "Minix, however, is designed so drivers operate like applications outside of the kernel, which means if they crash, the computer will carry on[...]"

    just don't release buggy drivers

  58. real-time and managed code by Anonymous Coward · · Score: 0

    - Drivers generally need to respond to hardware interrupts and send out data to hardware in real time. Thats unlikely to happen if its managed code.

    Lisp machines had drivers written in Lisp and they ran fine. Java also has real-time components and is used in (soft) real-time areas.

  59. 30% performance hit to *what*? by mattdm · · Score: 1

    Andy said at LCA2007 it was a 30% hit, I don't see a 30% performance hit being 'slightly' slower.

    It depends where you're measuring 30% performance hit to each system call? 30% performance hit to all floating point math? 30% performance hit under some specific normal workload? All very different. In some places, 30% is a big deal, but in others it's negligible.

    1. Re:30% performance hit to *what*? by DarkOx · · Score: 1

      I would think it would be things like sys calls, and perhaps other actions kernels do, like scheduling, predictive paging, and file system related operations. Once your program is running its, your code is being executed until the interrupt timer fires an OS thread gets to run again. Instructions like add, dive, jmp, ble, are not going to be any slower or faster because the CPU happened to be executing code that was part of a micro kernel before it, or a monolithic one.

      What it comes down to is how much time is the CPU spending in user land as opposed to kernel land. The more user land time the better because that means the machine is doing something useful as opposed to just managing itself. A micro kernel is slower because in the end it results in probably more code and certainly more expensive code.

      In a monolithic kernel when one thread needs to pass information to some other thread or update some structure like a process table it simply does a stor. In a micro kernel its going to have to write some shared space "used" for IPC. Then calling function is going to need its registers saved off to the stack or heap, probably the MMU is going to get used to isolate the processes there are a few more calls there, then you need to fetch all the cpu state for the server that is now being run, then you need to fetch the date that was wrote before, only now can you update your structure or act on the signal etc etc.

      As you can image if several or more servers need to interact to complete a sys call or other kernel operation it can get much more expensive cpu time wise to do that. So the system is busy doing kernel stuff longer and user stuff shorter. Part of this goes away as we move to systems with larger numbers of cpu cores. Multiple instruction, multiple data, systems will make it more practical to do micro kernel operating systems in the PC world as the cost in human terms will be minimized. If you have effectively 16 cpus, you can say have the OS using one to be scheduling all the time, and anther to do IO all the time or idling, and still have lots computer left over to serve user processes.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
  60. Minix on the Amiga by Anonymous Coward · · Score: 0

    I used Minix on an Amiga computer sometime before 1990. I'm glad to see it's just one more way in which the Amiga was well ahead of other platforms.

  61. Re:Wait a second... Definitely: Read here vs. that by Anonymous Coward · · Score: 0

    "I thought Windows was secure. Why not use that? *cough* *cough*" - by Anonymous Coward on Tuesday April 28, @05:30AM (#27743003)

    Yes, why not? Especially w/ results like these (from BOTH 'end users', & from a high tpm (transactions per minute) industrial environs):

    NASDAQ keeps on running 24x7, into the fabled "5-9's" of 99.999% uptime using Windows Server 2003 + SQLServer 2005 (in failover clusters) since late 2005, acting as the official dissemination system of official trade data:

    ----

    NASDAQ Migrates to SQL Server 2005:

    http://windowsfs.com/enews/nasdaq-migrates-to-sql-server-2005

    &/or

    NASDAQ Uses SQL Server 2005 - Reducing Costs through Better Data Management:

    http://blog.sqlauthority.com/2007/09/17/sqlauthority-news-nasdaq-uses-sql-server-2005-reducing-costs-through-better-data-management/

    "NASDAQ, the worlds first electronic stock market replaced its aging mainframe computers with Microsoft® SQL Server 2005 on two 4-node clusters to support its Market Data Dissemination System (MDDS). Every trade processed in the NASDAQ marketplace goes through the system with Microsoft® SQL Server 2005 handling some 5,000 transactions per second at market open. The system also responds to about 10,000 queries a day and is able to handle real-time queries against data without slowing the database down."

    +

    Case Studies - Financial Services:

    http://www.microsoft.com/sqlserver/2005/en/us/cs-financial-roi.aspx?pf=true [microsoft.com]

    "NASDAQ Deploys SQL Server 2005 to Support Real-Time Trade Booking and Queries

    NASDAQ, which became the worlds first electronic stock market in 1971, and remains the largest U.S. electronic stock market, is constantly looking for more-efficient ways to serve its members. As the organization prepared to retire its aging large mainframe computers, it deployed Microsoft® SQL Server 2005 on two 4-node clusters to support its Market Data Dissemination System (MDDS). Every trade that is processed in the NASDAQ marketplace goes through the MDDS system, with SQL Server 2005 handling some 5,000 transactions per second at market open. SQL Server 2005 simultaneously handles about 100,000 queries a day, using SQL Server 2005 Snapshot Isolation to support real-time queries against the data without slowing the database. NASDAQ is enjoying a lower total cost of ownership compared to the large mainframe computer system that the SQL Server 2005 deployment has replaced."

    ----

    SO, that all "said & aside" - You want PROOF of that "stability/uptime", you say?

    OK, see here -> http://www.nasdaqtrader.com/Trader.aspx?id=MarketShare [nasdaqtrader.com]

    "NASDAQ is renowned for its high performance technology and has proven reliability with 99.999+% uptime. Whats more, firms count on NASDAQ for unsurpassed speed and tested capacity to execute trades quickly and efficiently."

    ----

    AND, now, from an end-user's perspective, once Windows has been "security-hardened" (& CIS Tool helps make THAT an 'easier job' for end-users too)?

    See this -> http://www.xtremepccentral.com/forums/showthread.php?s=e8281208df2ccba74470d6c68e047d40&t=28430&page=3

    ----

    "ts 2009 - still trouble free!

    I was told last week by a co worker who does active directory administration, and he said I was doing overkill. I told him yes, but I just eliminated the half life in windows that you usually get. He said

  62. Wouldn't HyperThreading solve this? by baldusi · · Score: 1

    I've been thinking a bit, and if you had HyperThreading in all processores, couldn't you simply assign the kernel to one instance of a core and the userspace to the other? You'd have context switches for free. Your only cost would be the pure IPC, not the context change. In fact, with some design like sending only pointers to whole pages and then remapping them to the new process, you wouldn't have to even copy memory in bulk transfers.

    1. Re:Wouldn't HyperThreading solve this? by spitzak · · Score: 1

      Isn't switching hyper threads eqivalent to a context switch on modern processors?

  63. Ancient by Anonymous Coward · · Score: 0

    I thought lately of using openBSD. Sure it is secure but you can not really do anything with it. Nearly all relevant packaged software is practically obsolete, and most of the ports are ancient. Security is something you should get without giving up things like usability and features. Any idiot can produce a super secure system, they just happen to be useless.

  64. Re:Doesn't anybody think the hardware is the probl by Anonymous Coward · · Score: 0

    You can already do what you're proposing with existing hardware, albeit possibly at a higher performance cost (although I'm not totally convinced you could do it as cheaply as you seem to think--the page table data structures might not scale). Processes can already share pages of memory; structuring multiple processes to share a single partially protected address space is just a matter of software design.

    The problem with all this is that in order to scale to arbitrary number of "components," as you're calling them, you need independent page tables per component (you can't just add a field to the existing ones), and you've just re-invented the process, with all the attendant context switching overhead. In short, you don't buy anything by calling them components instead of processes, you're just misunderstanding how flexible basic virtual memory management already is.

    What would be useful (and is quite cheap, and was actually used in architectures like the Alpha and SPARC with software managed TLBs) is adding an Address Space Identifier. This allows a CPU to cache different sets of permissions for different processes, without necessitating a TLB flush on context switches. This makes the context switch overhead much, much smaller.

  65. Coyotos or CapROS (were EROS)? by chrysalis · · Score: 1

    Why not fund Coyotos ( http://www.coyotos.org/ ) or even CapROS ( http://www.capros.org/ ) instead of reinventing the wheel?

    Funding is really what those projects are in need of. They already have working concepts.

    --
    {{.sig}}
  66. Truly multi-threaded os like RmOX by Anonymous Coward · · Score: 0

    It would be interesting to see where projects like RMoX go in the future. 3.3 million in funding for a highly concurrent operating system that is more suited to multi-core would go a long way.

    Building an os in a language which is inherently unsafe like C is asking for trouble. It would do a world of good to look to languages which support formal verification, and can be verified to be deadlock free when it comes to operating system design.

    Process oriented programming in a language like occam-pi allows a programmer to encapsulate data in processes, much like one would in an object, just without any of the race hazards.

  67. Re:Doesn't anybody think the hardware is the probl by julesh · · Score: 1

    Your suggestion sounds strikingly similar to capabilities, which were implemented in a number of machines in the 1970s, e.g. Cambridge CAP.

  68. Re:Doesn't anybody think the hardware is the probl by spitzak · · Score: 1

    I think the suggestion is more like this, and would require a new CPU design, but not as radical a change as making it run some interpreter:

    To address memory you have a "pointer" and an "offset" always. The CPU instruction set is designed so that all memory accesses must provide both of these. The "pointer" identifies the page of VM and an attribute of the page is that the offset cannot exceed some value, otherwise an access violation happens (the offset can't be negative either).

    Moderm memory allocation involves putting objects of the same size into the same page, so this could protect many objects, not just one per page. It's probably true that object sizes would round up to the next power of 2 and protection would only happen if you addressed beyond the unused padding area, but it would provide the security problems.

    The big sticking point is C. Making it compile so that a different pointer is always used and offset=0 would be compatible, but would defeat all the protection. Instead pointers could be implemented as pointer+offset pairs, with some complexity in the compiler and the annoying fact that some software is going to not work.

  69. Re:Wait a second... Yes, regarding Windows by Anonymous Coward · · Score: 0

    "The sad thing about Windows NT is that the design was pretty good, the implementation was OK, but the default security policy is totally useless" - by Jacques Chester (151652) on Tuesday April 28, @06:32AM (#27743403)

    That's PRETTY EASILY ALTERED (well, IF you have a basic understanding of what's going on, userrights + ACL's &/or PORTS wise (IANA lists & NTFS + Registry level security etc. et al)), & the CIS Tool, a multiplatform "benchmark" of security compliance, based on "industry best practices", no less, & that's well respected enough for that purpose!

    (CIS Tool truly makes it as simple as it gets to do MOST of what's needed for securing a Windows NT-based OS easily (and, other OS platforms also)... the evidence thereof, from an end-user's results after applying it (& more) shows that cleanly enough).

    First though?

    An example of uptime, AND stability, in a high tpm environs, industrially:

    NASDAQ keeps on running 24x7, into the fabled "5-9's" of 99.999% uptime using Windows Server 2003 + SQLServer 2005 (in failover clusters) since late 2005, acting as the official dissemination system of official trade data:

    ----

    NASDAQ Migrates to SQL Server 2005:

    http://windowsfs.com/enews/nasdaq-migrates-to-sql-server-2005 [windowsfs.com]

    &/or

    NASDAQ Uses SQL Server 2005 - Reducing Costs through Better Data Management:

    http://blog.sqlauthority.com/2007/09/17/sqlauthority-news-nasdaq-uses-sql-server-2005-reducing-costs-through-better-data-management/ [sqlauthority.com]

    "NASDAQ, the worlds first electronic stock market replaced its aging mainframe computers with Microsoft® SQL Server 2005 on two 4-node clusters to support its Market Data Dissemination System (MDDS). Every trade processed in the NASDAQ marketplace goes through the system with Microsoft® SQL Server 2005 handling some 5,000 transactions per second at market open. The system also responds to about 10,000 queries a day and is able to handle real-time queries against data without slowing the database down."

    +

    Case Studies - Financial Services:

    http://www.microsoft.com/sqlserver/2005/en/us/cs-financial-roi.aspx?pf=true [microsoft.com] [microsoft.com]

    "NASDAQ Deploys SQL Server 2005 to Support Real-Time Trade Booking and Queries

    NASDAQ, which became the worlds first electronic stock market in 1971, and remains the largest U.S. electronic stock market, is constantly looking for more-efficient ways to serve its members. As the organization prepared to retire its aging large mainframe computers, it deployed Microsoft® SQL Server 2005 on two 4-node clusters to support its Market Data Dissemination System (MDDS). Every trade that is processed in the NASDAQ marketplace goes through the MDDS system, with SQL Server 2005 handling some 5,000 transactions per second at market open. SQL Server 2005 simultaneously handles about 100,000 queries a day, using SQL Server 2005 Snapshot Isolation to support real-time queries against the data without slowing the database. NASDAQ is enjoying a lower total cost of ownership compared to the large mainframe computer system that the SQL Server 2005 deployment has replaced."

    ----

    SO, that all "said & aside" - You want PROOF of that "stability/uptime", you say?

    OK, see here -> http://www.nasdaqtrader.com/Trader.aspx?id=MarketShare [nasdaqtrader.com] [nasdaqtrader.com]

    "NASDAQ is renowned for its high performance technology and has proven reliability with 99.999+% uptime. Whats more, firms count on NASDAQ fo

  70. Monolithic, Micro Kernel, who cares... by Anonymous Coward · · Score: 0

    Micro Kernels in part were designed to be modular and hopefully as a goal to increase reliability thru this design. In the end I don't care if the kernel is big, small, secure, real time or not. I just want it to be fast, and stay upright for long periods of time. Operating systems, small or large should be robust from design and implementation.

  71. Co operating with OS by Anonymous Coward · · Score: 0

    I use the Vista OS as a home user, light gaming, storage and at times a bit of coding and I can say that it achieves my set objectives qutie easily.

    I have played intimately with a variety of OS' during my short lifetime, excluding the MacOS, and they have all proved sufficient for most of the tasks I have intended to use them for.

    I have hit OS limits when I have tried to stretch the OS beyond what it is recommended for and trying to do run some unconventional routines or tricks.

    I think researching OS is a good idea to strengthen OS related technologies but I wouldnt expect a perfect OS ever from anyone.

  72. Re:Doesn't anybody think the hardware is the probl by Anonymous Coward · · Score: 0

    You can already share memory between processes. With a little care you can make sure it appears at the same address in both. So what exactly are you suggesting doing differently?

  73. GNU, BSD, ... by RAMMS+EIN · · Score: 1

    ``'It irritates me to no end when software doesn't work,' Tanenbaum said. 'Having to reboot your computer is just a pain. The question is, can you make a system that actually works very well?'"''

    You can. And it has been done. Software that doesn't work? Having to reboot your computer? This hasn't been bugging me for ages. Yet, Andy refuses to use the software I am using for some reason. Instead, he is trying to develop his own, but making it difficult for people to contribute. I like what I have heard about the plans for MINIX 3, but, this way, it's just not going to fly.

    I congratulate the MINIX 3 team on what they have achieved, and I congrulate Andy and the rest on having secured funding, but I can't help but think that if they just cooperated with the great projects already out there, they could have achieved much more with much less funding.

    Seriously. If you want something good today, use GNU or any of the BSDs. Or maybe a commercial Unix, or even OS X. And my guess is, if you want something good next year, the answer will be the same. Maybe even Windows will be a great choice by then. But MINIX? I'm not counting on it, grant or no grant.

    --
    Please correct me if I got my facts wrong.
  74. How to say this? by prjames · · Score: 0

    Is MINIX pronounced my-nix, min-ix or me-nix? Hey thats more choice than Linux already!

  75. Re:Doesn't anybody think the hardware is the probl by Anonymous Coward · · Score: 0

    Are you even remotely sure that you thought about all potential problems in your scheme?

    Say a data page is marked as belonging to a certain component (who gets to define components, by the way?), and supposed it is marked as writable only by that component.

    Now what if I jump directly to an appropriate move instruction in that component, messing with registers as I please?

    Okay, you can fix that using an entry point table. But then how are arbitrary function pointers going to work? Maybe you can find a way around that, but it's becoming quite complicated already.

    You think that's all? What about the stack? Who owns that, and how is access verified, especially in the presence of callback functions? Think function from component A calling a function in component B which in turn calls a function in component A (directly or via a callback mechanism). Now there is a piece of stack belonging to component B sandwiched between parts belonging to component A. Enjoy.

    I'm sure you could find many more problems. Of course none of them are unsolvable, but the cost is definitely not as small as you seem to think.

  76. Who needs Minix? by Anonymous Coward · · Score: 0

    There are already several such microkernel-based systems in development. One is Coyotos:

    http://coyotos.org/

    another is Microsoft Singularity:

    http://research.microsoft.com/en-us/groups/os/singularity/

    and GNU Hurd has been trying to develop a highly secure microkernel system for as long as anyone can remember.

  77. QNX by Anonymous Coward · · Score: 0

    QNX has a microkernel with restartable device drivers since early 1980's:
    http://en.wikipedia.org/wiki/QNX
    http://www.qnx.com/developers/docs/index.html

  78. MS's Singularity by DrYak · · Score: 1

    You don't need a JIT compiler or an interpreted language to have a secure kernel - you just need a well-designed, type-safe language (which C is not).

    Yup. But the "perfect" well-designed, type-safe, provabily non buggy language used by some researchers happens not to be compiled - unlike the Haskell example you cite.

    Microsoft's Singularity is such an example, written in a type-safe functional language designed to be provably bug-free.
    But their language runs only on a variation of the .NET infrastructure.
    (And this being Microsoft, by the time the projects leaves the lab (if it ever leaves the lab one day) you can count on them completely botching the concept - like having a whole copy of WinXP running parallel to the microkernel for "backward compatibility")

    Nonetheless, putting a VM in the kernel (either as a JIT, or as a full interpreter) has the advantage that although the various kernel servers of the micro kernel system are designed as separate processes (from the language running in the VM's point of view), the VM itself could run in a single hardware process thus minimizing the cost of context switching and message passing compared to a system where each kernel server runs in a different hardware context.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  79. Re:Doesn't anybody think the hardware is the probl by concept14 · · Score: 1

    Not a totally new idea. As far back as 1964, IBM had protection keys in the System/360 mainframes, although with a much coarser definition of components than what you have in mind.

    --
    Quis metamoderunt ipses metamoderatores?
  80. Re:Doesn't anybody think the hardware is the probl by master_p · · Score: 1

    Actually, you don't need independent page tables per component. All that you want is a new word in the page table descriptors that includes:

    1) the component id.
    2) read/write/execute bits for the other components.

    Then when component A tries to write or execute something in memory of component B, the CPU will check the access rights of the target page. If the access is not allowed, then an exception will be raised.

    That's a trivial job for the CPU with zero overhead, as the CPU already checks the supervisor/user bit on any memory access.

    A 32-bit word has 3 bits for the access writes (2 bits if a read bit is not required) and 29 bits for the component id. So the page descriptors need to fit in 64 bits instead of 32 bits (in the 80x86 CPUs).

    If you don't want an extra 32-bits for a page descriptor, then the 80x86 page descriptor has 11 bits free (20 bits are reserved for the page frame and 1 bit for the valid/non valid page). With 2 bits for access writes (write/execute), you have 9 bits for the component id, i.e. you can have 2^9 = 512 different components in a process.

  81. Re:Doesn't anybody think the hardware is the probl by master_p · · Score: 1

    I am talking about a different thing here, i.e. isolation within a process address space, which provides the security of process isolation but not the relevant overhead.

  82. Re:Doesn't anybody think the hardware is the probl by master_p · · Score: 1

    The kernel defines the page table and therefore the components.

    You can't jump in the middle of the other component, unless the component defines that area as public.

    If you want to ensure that no jump in the middle of a subroutine is allowed, then have a jump target instruction. If the first instruction after a jump is not a jump target instruction, then throw an exception.

    Arbitrary function pointers will work because the compiler will insert the jump target instruction at the appropriate places.

    The stack is not a problem, unless components put critical data in it. Components today don't do that, so I don't see why they have to do it in the future. Even in microkernel architectures, a component does not put its critical data in areas shared by other processes.

    If you find any more problems, please share them with us. I am interested to hear them.

  83. The European Union does not fund US research group by Shirotae · · Score: 1

    The simple reason why these funds are going to a research group in an EU member state is that they come out of the EU budget. It is not the job of the European Union to make up for the research funding deficiencies of the United States of America. On the contrary, one of the goals of EU research funding is for the EU to not be dependent on non-EU countries for technology or at least to be strong enough to be an equal partner in collaborative ventures.

    As for reinventing the wheel, these funds are going to an academic research group to do research on problems that have not yet been solved.

    It is not only normal for other research groups to explore other approaches to solving the problems or to explore other problems in the same overall area, it is essential for progress that there are different groups looking at different ideas. Even if EU funding could go to a US research group it would not be sensible to channel all operating system research funding to the same group.

  84. Free minix-like kernel sources for 386-AT by muckracer · · Score: 1

    Do you pine for the nice days of minix-1.1, when men were men and wrote
    their own device drivers? Are you without a nice project and just dying
    to cut your teeth on a OS you can try to modify for your needs? Are you
    finding it frustrating when everything works on Linux? No more all-
    nighters to get a nifty program working? Then this post might be just
    for you :-)

    As I mentioned a month(?) ago, I'm working on a free version of a
    Linux-lookalike for AT-386 computers. It has finally reached the stage
    where it's even usable (though may not be depending on what you want),
    and I am willing to put out the sources for wider distribution. It is
    just version 0.02 (+1 (very small) patch already), but I've successfully
    run bash/gcc/gnu-make/gnu-sed/compress etc under it.

    Sources for this pet project of mine can be found at nic.funet.fi
    (128.214.6.100) in the directory /pub/OS/minix. The directory also
    contains some README-file and a couple of binaries to work under Minix
    (bash, update and gcc, what more can you ask for :-). Full kernel
    source is provided, as no Linux code has been used. Library sources are
    only partially free, so that cannot be distributed currently. The
    system is able to compile "as-is" and has been known to work. Heh.
    Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu.

    ALERT! WARNING! NOTE! These sources still need Linux-386 to be compiled
    (and gcc-1.40, possibly 1.37.1, haven't tested), and you need Linux to
    set it up if you want to run it, so it is not yet a standalone system
    for those of you without Linux. I'm working on it. You also need to be
    something of a hacker to set it up (?), so for those hoping for an
    alternative to Linux-386, please ignore me. It is currently meant for
    hackers interested in operating systems and 386's with access to Linux.

    The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
    you are still interested, please ftp the README/RELNOTES, and/or mail me
    for additional info.

    I can (well, almost) hear you asking yourselves "why?". Hurd will be
    out in a year (or two, or next month, who knows), and I've already got
    Linux. This is a program for hackers by a hacker. I've enjouyed doing
    it, and somebody might enjoy looking at it and even modifying it for
    their own needs. It is still small enough to understand, use and
    modify, and I'm looking forward to any comments you might have.

    I'm also interested in hearing from anybody who has written any of the
    utilities/library functions for Linux. If your efforts are freely
    distributable (under copyright or even public domain), I'd like to hear
    from you, so I can add them to the system. I'm using Earl Chews estdio
    right now (thanks for a nice and working system Earl), and similar works
    will be very wellcome. Your (C)'s will of course be left intact. Drop me
    a line if you are willing to let me use your code.

                                    Andrew

    PS. to PHIL NELSON! I'm unable to get through to you, and keep getting
    "forward error - strawberry unknown domain" or something.

  85. Good salaries! by Anonymous Coward · · Score: 0

    They get $130K per year each!

    Wish I could get that well paid and not HAVE to actually deliver anything useful by the end.

  86. lolwut by spiralofhope · · Score: 1

    "The latest grant will enable the three researchers and two programmers on the project to further their research into a making Minix capable of fixing itself when a bug is detected" 1) Minix?! That was a research project that was dead and buried long ago. 2) Minix?! Why reinvent the wheel? 3) "capable of fixing itself"? You mean capable of being mis-configured by an incompetent admin or capable of being tricked into auto-rooting itself. Awesome.