4 ms·
No, it's not. May be you don't know MINIX 3 very well ;)
by vivekprakash 15y ago
No, it's not. May be you don't know MINIX 3 very well ;)
- llimllib 15y agoI don't know it at all. Minix to me has a reputation as the punch line of a joke about how to design kernels for the real world. (I don't claim that it's true, just that that's what I associate it with.) Can you sell me on why I should be interested?
- vivekprakash 15y ago"Ten years ago, most computer users were young people or professionals with lots of technical expertise. When things went wrong – which they often did – they knew how to fix things. Nowadays, the average user is far less sophisticated, perhaps a 12-year-old girl or a grandfather. Most of them know about as much about fixing computer problems as the average computer nerd knows about repairing his car. What they want more than anything else is a computer that works all the time, with no glitches and no failures. Many users automatically compare their computer to their television set. Both are full of magical electronics and have big screens. Most users have an implicit model of a television set: (1) you buy the set; (2) you plug it in; (3) it works perfectly without any failures of any kind for the next 10 years. They expect that from the computer, and when they do not get it, they get frustrated. When computer experts tell them: "If God had wanted computers to work all the time, He wouldn't have invented ‘Reset’ buttons" they are not impressed. For lack of a better definition of dependability, let us adopt this one: A device is said to be dependable if 99% of the users never experience any failures during the entire period they own the device. By this definition, virtually no computers are dependable, whereas most TVs, iPods, digital cameras, camcorders, etc. are. Techies are willing to forgive a computer that crashes once or twice a year; ordinary users are not. Home users aren't the only ones annoyed by the poor dependability of computers. Even in highly technical settings, the low dependability of computers is a problem. Companies like Google and Amazon, with hundreds of thousands of servers, experience many failures every day. They have learned to live with this, but they would really prefer systems that just worked all the time. Unfortunately, current software fails them. The basic problem is that software contains bugs, and the more software there is, the more bugs there are. Various studies have shown that the number of bugs per thousand lines of code (KLoC) varies from 1 to 10 in large production systems. A really well-written piece of software might have 2 bugs per KLoC over time, but not fewer. An operating system with, say, 4 million lines of code is thus likely to have at least 8000 bugs. Not all are fatal, but some will be. A study at Stanford University showed that device drivers – which make up 70% of the code base of a typical operating system – have bug rates 3x to 7x higher than the rest of the system. Device drivers have higher bug rates because (1) they are more complicated and (2) they are inspected less. While many people study the scheduler, few look at printer drivers. The Solution: Smaller Kernels The solution to this problem is to move code out of the kernel, where it can do maximal damage, and put it into user-space processes, where bugs cannot cause system crashes. This is how Minix 3 is designed." From http://www.linux-magazine.com/Issues/2009/99/Minix-3 http://www.linux-magazine.com/Issues/2009/99/Minix-3
- dfc 15y agoIs minix competing with things like VxWorks and QNX? I did a cursory google/wikipedia search for minix uses and the results were all for education.
- vivekprakash 15y agoDisclaimer: I am not an official member of Minix team. However, given my understanding, it certainly looks Minix is going to compete with QNX, VxWorks and similar OS used in embedded systems. Visit http://wiki.minix3.org/en/MinixGoals http://wiki.minix3.org/en/MinixGoals and http://wiki.minix3.org/en/MinixRoadmap http://wiki.minix3.org/en/MinixRoadmap for details.
- tedunangst 15y agomicrokernel doesn't do much to solve this problem. "A device is said to be dependable if 99% of the users never experience any failures". Users don't care if the kernel doesn't crash. If the driver crashes, then the user still experiences a device failure, since a device without a functional driver is not functional.
- DennisP 15y agoMinix3 monitors the drivers and restarts them if they crash. http://www.minix3.org/other/reliability.html http://www.minix3.org/other/reliability.html
- hetman 15y agoAs mentioned by DennisP (but I can't reply on his post for some reason), one of the design goals of Minix is to have drivers seamlessly restarted so the user can continue uninterrupted.
- tedunangst 15y agoThe notion that drivers can just seamlessly restart is as much a fairy tale as the bug free monolithic kernel. What does your filesystem do when the disk driver crashes? What does your app do? You're fucked all the way up the stack. Complex operations are going to smear their state across a variety of modules. Net result: you only have one big module.
- zedshaw 15y agoThat was 20 years ago, things change in that amount of time. It was also a lot of propaganda and not a lot of evidence. But hey, it's not like programmers need to update their Internal Information Hashmap. Just put something in there once and leave it alone since that thing is delicate and updating it can sometimes crash your mind.
- stcredzero 15y agoMost youngsters (20's and under) will read this as a random snide comment. Unfortunately it (still) is a key observation about how our knowledge update heuristics lag behind progress in tech.
- llimllib 15y agoZed, you realize that I asked because I wanted to change my IIH right?