If you go to the documentation page and look at their interface/os layer graph, you’ll notice that they have the hardware driver at the top, follwed by a bunch of software layers and the User at the bottom.
I wonder how they pull that off, having the user directly engage the UI with no hardware interface inbetween. Maybe this should be TRONOS?
This is the planned GUI for JTMOS, these screenshots are taken from a real JTMOS GRAOS GUI, besides it’s only running under DOS. The reason why it is running under DOS is that, in that time I didn’t have a platform independent JTMOS ready yet.
Another microkernel, so what? Microkernels are the ancient CS departments’ darling, but they aren’t of much practical use. Matter of fact, there’s a new article out in Linux Journal that explains why. It’s old news to yours truly, but no doubt some will want to learn (whilst many more will want to flame, and claim the sun rises in the West).
The only thing the trollish article you linked to is that a microkernel based operating system vill be slower than a monopolitic system and that there are no real benefits with microkernels. Anyone that have studied operating system theory knows that it is bullshit.
In the real world microkernels are used for encapsulation of system components so that for example one can replace a filesystem while running. This also helps to build scalable systems where the programmer does not need to know on which computer node a certain resource are located (UNICOS, QNX are realworld examples).
Another positive thing one get with a microkernel is the posibility to have a essentially bugfree (due to testing &| validation) nucleus that makes it impossible to breach security.
So what about the loss of speed? The truth is that most of the time todays computers are waiting for the I/O subsystems: disk, network, graphicscard etc, so the extra execution resources needed for microkernels are most of the time insignificant. For the applications that really need to utilize the full processing power, well they do not use the operating system often so the “inefficient” microkernel will not slow them down much either. One example of high performance microkernel systems: Cray T3E uses the UNICOS operating system build upon distributed Coherent microkernels.
So why are there so many people praising the monopolitic way of operating systems design? That is the traditional well known way: they are easier to code, much literature describes them, providing legacy support (Posix…) is easier etc. In contrast microkernels are still researched today (Lk4…), the earliest attempts to design them failed completly (imnsho) creating huge ugly slow beasts that many people still associates with the word microkernel.
I, myself, am writing an OS (name to be decided, even after 3 years development). One of the aims, was to have an extremently moduler design, of which the micro kernel philophosy was very well suited…
Having read the hundreds of freely available design papers out there, it seems that the only point where microkenels suffer is the time for IPC, and task/server switch times, leading to 1-3% speed penalty. IMHO not that great when compared to the benefits: modular design, enforced resource protection, enhanced scalablty (esp on SMP or distributed systems), etc.
Chewy509…
PS. I also do acknowkledge that monolithic kernels do have there place, in small/low speed embedded systems, such as PDA’s, thin client’s, etc.
Megol, name-calling proves nothing. The article expresses what I already know to be true. It also mentions that what may look good in theory can end up a lot worse in practice. And in practice, the microkernel architecture has proved to be inefficient, “solving” problems that never existed, and offering benefits that nobody wants.
Many of the traits that you attribute to microkernels are actually the province of the API. The rest were debunked in that article.
You’re quick to dismiss the inherent inefficiencies of the microkernel system. That’s cold comfort for the OSX user who is sitting around waiting, the department that is charged for time on a Cray and the embedded system developer who just broke the budget on a faster CPU. What may be insignificant when it happens once becomes very significant when it’s repeated over and over. When you get out of school you’ll find that your self-centered attitude about writing software will attract much heat from other team members, especially the engineers.
When you get out into the real world, you’ll also find out about the latest darling of academia that you appear to be imfatuated with — distributed processing. It may be fun to play with, but it’s not economical.
You also state that a benifit of a microkernel is that you can swap file system drivers out while the system is running. You do not need a microkernel to do this. If the file system is implimented as a loadable kernel module, this can be done in a monolithic kernel as well. This is true for not just drivers but any section of code you may want to be able to swap at run-time. Linux does this for instance, and freebsd has growing support for this. I believe all file systems and a fair number of device drivers have been rewriten as loadable modules under freebsd.
The largest gain of the microkernel architecture is abstraction or layering of the system. For instance you can rewrite the tcp/ip stack without concern of effecting any other part of the system. This also allows for easier debugging and independent testing of each layer or “module”.
I for one do think that the microkernel architecture is more elegant than the monothithic approach, but I also think it creates unneeded complexity. I for one just like the fork/exec process model which may explain my preference for the monolithic way of things.
There are times when the ad hominum attack is the appropriate response. This, however, was not one of those times; him calling the article in question “trollish” is appropriate and in line with what people actually said about the article in question.
Your ad hominum attacks, however, show that you can not back up for position with reasonable arguments. The fact that QNX is very sucessful in the embedded space, for example, shows that microkernel designs can and do work there.
There are times which I wish Linux was microkernel. For example, there was (is?) a bug where Linux would freeze if it queried a paralell port zip drive which I disconnected. This sort of thing would not have happened if Linux used a microkernel design which allows device driver abstraction.
The complaints about microkernel designes remind me of the complaints about C code back in the 1980s. It may have been slower than straight assembler, but it was far easier to write for and debug.
AFAIK the relative performance of microkernels and monolithic kernels remains to be proven. For a practical indication of the differences, look at two moderns OSes which some claim to be microkernels: BeOS and Windows NT. Neither are microkernels at all; the NT design started as one, but the designers soon realised that, to prevent the kernel from slowing down too much, the various microkernel components should all run in kernel mode. BeOS, too, has most system services in the kernel; the only user-mode stuff are the app, media and network servers.
I’d like to point out that (on the x86 at least), the two slowest operations the CPU can perform at TLB flushes and inter-level interrupts. Unless you turn off protection and have user and kernel components in the same address space, this is going to be a major overhead. Is it really necessary to have five context switches per file read, when a switch to and from kernel mode would be enough?
Microkernels are all very well for CS departments, but you’ve got to make some concessions to the hardware in the real world.
Ditto also. I have never understood why people visit this site who have nothing but disdain for hobby operating systems. Linux was itself a hobby operating system once.
Problem is that there is a major operating system (Windows), and one that’s competing to it (Linux). Others will have a hard time to gain reputation. One of them half-way managing that is FreeBSD, but afterall it still gets pretty much ignored, tho it’s superior to Linux as server OS IMO (maybe even as desktop OS, driver support is lacking, sadly).
“Another microkernel, so what? Microkernels are the ancient CS departments’ darling, but they aren’t of much practical use.”
Really? Gee… Someone must have forgotten to tell Apple. After all, OS X run on the MACH microkernel. Someone apparently didn’t tell QNX or Wind River that microkernels have no practical use either. As both QNX and vxWorks use microkernels. vxWorks is only the number #1 RTOS in the world, being used in everything from automobiles to aircraft to medical equipment to controlling high speed trains.
But what do they know? Because “Speed” says that microkernels have no practical value. So it must be true…
That article on Linux Journal is hilarious. How can someone advocating a UI that performs IPC through TCP/IP sockets complain about the overhead of microkernel messaging?
Gee Sam, how nice of you to ignore all of my sailent points and accuse me of something that there’s no evidence of. I guess that you’re trying to tell me that you can not back up your position with reasonable arguments.
And that is the case! After all, the modest commercial success of QNX can be influenced by any number of factors. Claiming a cause and effect with zero evidence to support that proof is totally empty. And the existence of one poorly written device driver is evidence that one device driver was poorly written, nothing else. Thanks for wasting resources, Sam!
Simba writes: “Gee… Someone must have forgotten to tell Apple. After all, OS X run on the MACH microkernel.”
Simba, many people told Apple, many times. Apple just didn’t listen. Back when OSX was nothing but vaporware, monolithic LinuxPPC was spanking microkernel MkLinux. A lot of effort was put into discovering why two otherwise identical Linux systems could behave so differenty. What they found was that the microkernel design wasted far more time than theorists had originally calculated. The microkernel paradign was simply less efficient. But Apple obviously cares a lot more about the status quo than it does about its customers.
Tim Robinson reminds us of other failed microkernel attempts. Windows NT was originally released as a microkernel OS, and the public turned up their noses at it because it was slow and hungry. But as soon as they ditched the microkernel architecture and started moving device drivers out of user space, NT began to do better, even outperforming Windows 95. And the customers came in droves. BeOS went through a similar metamorphisis after the first three iterations of that product proved to be disappointing performance-wise.
Speed: What you must realise is that everything has it’s ups and downs. Nothing is perfect, never expect a project to come out with a flawless design and architecture. The monolithic kernel isn’t perfect, it has design flaws coming out of it’s ears, but so does everything else, what you do not seem to realise is that we humans learn from mistakes. We make a mistake learn how to fix it and most of us react differently or take a different approach the next time.
Flaming people on this site or flaming projects does nothing, the person coding this project could give a hoot less what you think about Microkernels if Microkernels are really so bad then I’m sure they’ll do something about it sometime in the future.
I know you’ll probably flame me for this but just think for a second, before you post something take sometime to think about what your actually saying and if it’ll actually do any good. Although this post will go right through your stubborn head, maybe I can shed some light on how humans advance technologically and in everyday practises.
Afaik OSX is a monolithic kernel, made by statically linking things with Mach u-kernel into kernel space.
Speed: monolithic kernels have flawed security and stability thanks to running tons of code in kernel space, at ring0. U-kernels are slow at IA-32 because it is not designed to fast context switching. IMHO this is HW flaw, not u-kernel concept flaw. U-kernels are hard to make them fast at IA-32 but there are techniques to do it. Look at L4
The article you linked to is just bullshit. Just read all those comments below it.
“Simba, many people told Apple, many times. Apple just didn’t listen. Back when OSX was nothing but vaporware, monolithic LinuxPPC was spanking microkernel MkLinux”
And what about vxWorks? And QNX? They both use microkernels. Whether you like OS X or not, it doesn’t change the facts that microkernels have plenty of uses, especially in RTOS applications. There are things that QNX and vxWorks can do for example that Linux will never be able to do because it uses a monolithic kernel. So microkernels do have practical use because of this. There are things that microkernels can do that monolithic kernels simply can’t. A good case study you might want to look at is all the white papers available on Plan 9. Plan 9 is a very interesting OS and it does some pretty amazing things–things that probably could not be done with a monolithic kernel.
“What they found was that the microkernel design wasted far more time than theorists had originally calculated. The microkernel paradign was simply less efficient. But Apple obviously cares a lot more about the status quo than it does about its customers.”
No. Maybe Apple cares about future expandability? After all, they could have simply used the FreeBSD monolithic kernel ported to PowerPC since that what the rest of the Darwin core is based on. They chose the microkernel because it can do things that monolithic kernels simply can’t do.
And as far as efficency, that’s to broad of a statement. It depends on what the kernel is doing. Microkernels can be more efficient than monolithic kernels in some applications.
By the way, Java wastes resources and is relatively inefficient as well. But that didn’t stop it from becoming the most popular programming language in the world. More people program in Java these days than program in C or C++. Why? Productivity. With systems running as fast as they are today, time is usually worth more than the small amount of performance lost by using Java instead of C or C++. Using Java makes development cycles much shorter and reduces initial downtime from bugs caused by sloppy memory management and incorrect pointer use.
Why did I bring up Java? To prove a simple point. Speed and efficency are not always the most important consideration for implementing solutions these days. Sometimes flexibility is more important. Java’s rapid deployment abilities and cross platform nature have propelled it to the most popular language in the world, even though it is relatively innefficient and slow compared to C. But that doesn’t make Java useless anymore than it makes microkernels useless.
|jBett| shows us a textbook definition of a troll. Worthless, and trying to spark an angry reaction. But of course I know that I’m not the one writing flames here, so I’ll point out the error instead. *yawn*
I’m not going to waste much time on ondrej either. The article that I linked to has already debunked that claim.
Simba really, really wants us to believe that microkernel architecture is all that, but unfortunately is producing 100% claims and 0% evidence. Simba, what you do pretty much sums up the failure — it’s easy to dream up grandiose ideas, but making something of them is much harder.
Java is yet another example of a grandiose plan that has failed to displace the existing paradigm. Now we have Java programs that fail to meet the stated goal of ubiquity, and are still slow. How many people run Java apps outside of a browser? How many run Java apps inside a browser?!? ‘Nuff said…
As for Apple, what I hear is that they did what they did not because of anything the architecture offered, but rather because of licensing. The Mach license gave them a legal loophole so they could evade responsibility toward open source software, and not have to publish source code for hardware drivers. It was a way for Apple to rip off OSS, taking what they wanted, but giving little back, and keeping their monopoly intact by keeping other OS developers away from what they would need to compete with OSX.
“Simba really, really wants us to believe that microkernel architecture is all that, but unfortunately is producing 100% claims and 0% evidence. Simba, what you do pretty much sums up the failure — it’s easy to dream up grandiose ideas, but making something of them is much harder.”
vxWorks isn’t evidence for you? What more do you want? Like I said, it is the most popular RTOS in the world. It is being used in automobiles, aircraft, high speed train control, medical equipment, etc.
“Java is yet another example of a grandiose plan that has failed to displace the existing paradigm. Now we have Java programs that fail to meet the stated goal of ubiquity, and are still slow. How many people run Java apps outside of a browser? How many run Java apps inside a browser?!? ‘Nuff said… ”
You aren’t looking in the right place. Try looking inside of major corportations. Java use is very widespread. Like I said, a survey that was conducted last year indicated more programmers are using Java today than C or C++. In 2001, J2ME shipped on more than 4.5 million PDAs and cell phones. Compaq and Dell both preload the JRE on their XP systems. OS X has Java heavilly integrated into it, and many of its system utilities are written in Java. Java application servers are everywhere. Basically, Java is running a lot of things you probably dont even realize it is running. Like possibly your cell phone. Chances are, your cell phone has J2ME in it.
The vast majority of companies said in a survey that Java plays or will play a major part in their overall strategies–far more than C# will.
You really should do your research on both Java and microkernels.
The name of a company does nothing to prove your claim. Nor does the mere fact that a product may be popular. Microsoft is a company, and Windows is popular. So what? For all we know, your vxWorks may be popular in spite of the microkernel, not because of it. You haven’t even touched on anything relevent.
Claiming that I should do your research doesn’t prove anything either, although Speed’s Razor says it’s evidence that you’re empty-handed.
As for Java, I notice that you failed to name a single “major corportation [sic]” in support of your claim. No matter, I think you know that no substantial business is going to let me audit their software, even if I was foolish enough to do your legwork for you. So it’s just another empty claim.
Same thing for your mysterious, unnamed “survey”.
I’m looking in the right place, allright. Not the place where you want to misdirect me to, but right nonetheless. Using your faulty logic and misdirection, one could claim that AOL has more customers than there are people on earth, based on the number of free CDs distributed. It’s obvious why that’s a fallacy!
Just because a machine has a Java environment installed on it doesn’t mean that it’s being used. Common sense tells us that it probably has more to do with it being free than anything else! We’re all born with an appendix, but we aren’t using them to digest our food…
If “Java application servers are everywhere” as you claim, how come you didn’t mention a single one by name? Do you think that anybody on the street (even an employee of a “major corportation [sic]”) can name even one Java application? Get real!
What do you expect Simba to show you ? To list thousands of companies using Java or what ? You want names of apps but the majority of software is not something you can buy in a store or something that is reviewed in magazines, there are countless custom (sometimes unnamed) pieces of software. Java is not oriented on desktop (“thanks” to Swing IMHO) so you won’t hear much about it in press or run it at _your_ computer but this doesn’t mean it doesn’t exist.
Why do you think are there so many Java jobs ?
Ad microkernels: there is obvious trade-off between performance and protection&security, agreed ? Some people just think that the performance penalty is worth it, thats all. You pointed to OSX’s slowness and blamed its microkernel architecture. But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together. So microkernel is certainly NOT the reason and you can see that there are many more other factors of performance that just microkernel and if OSX was real microkernel, maybe you wouldn’t see important difference.
Your are shouting “give me evidence” all the time but the only “evidence” used by _you_ was clueless article that everybody laughs at. What did _you_ show us ? Only arrogance.
IMO the best OS architecture should allow you to load thing both to kernel space and separate address space. You could choose yourself what is more appropriate for what piece of code.
First of all, some advice: Wiseman say one not get out of hole by digging deeper. You really are just digging yourself a deeper hole at this point.
Like I said, vxWorks can do a lot of what it can do because it uses a microkernel and not a monolithic kernel. Find me a single RTOS that uses a monolithic kernel? As far as I know there are not. Why? Because monolithic kernels suck for RTOS applications. There is where microkernels shine.
You may want to try reading some of these case studies beforew you continue to make such innacruate statements about Java. The facts are that many many companies are using Java with great success in many applications.
The survey I mentioned here was done by Evans Data Corporation. in 2001, more than 50% of U.S developers said they used java. In Europe, the number was over 60%.
Another survey: here is one that polled 120 IT executives and found that 78% said they are or will be using J2EE for their web based applications:
Speed: Just to save you some work, here are a few of the more impressive things Java is currently being used for:
– NASA is using Java and Java applets to monitor and control the Hubble Space Telescope.
– Java played a major role in sequencing the human genome, and is still being used for genome research.
– Limewire, the #1 Gnutella client is written in Java
– Delta Airlines Web site is powered by BEA Weblogic and server side Java.
– The British Airways e-commerce system is powered by Java.
This came from about 2 minutes of looking on the site I gave for you. I’m sure you can find many more impressive things Java is being used for if you spend a few minutes looking at the case studies.
ondrej writes “What do you expect Simba to show you ? To list thousands of companies using Java or what ?”
Don’t look at me, I’m not the one taking indefensible positions! Grandiose claims lead to grand failures. That’s not my problem. I do know that I can don a blindfold and throw a dart, and I’ll hit a C/C++ application. But Java apps are as rare as hen’s teeth! So obviously Java hasn’t taken over the world, just as I said.
But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together. So microkernel is certainly NOT the reason and you can see that there are many more other factors of performance that just microkernel and if OSX was real microkernel, maybe you wouldn’t see important difference.
First things first. Before there’s any hope of having me accept your conclusion, you must first convince me of its premise. Right now there’s exactly one person claiming that OSX doesn’t use the Mach microkernel — you. If you can back it up with evidence, you’ll get somewhere. If not, you join the bloated ranks of the sore losers.
Your are shouting “give me evidence” all the time but the only “evidence” used by _you_ was clueless article that everybody laughs at. What did _you_ show us ? Only arrogance.
Yes…your arrogance. You will have to overcome that stupidity and vainglory to make any progress! If I passed you a tray of gold bars, would you laugh and knock them to the ground? I’m offering you knowledge which is “golden”. If all you can do is laugh, then you’re proving your own stupidity. If you knew that the article had faults, you woud have been able to explain why. But all you do is hurl insults and make baseless claims…
Simba writes “First of all, some advice: Wiseman say one not get out of hole by digging deeper. You really are just digging yourself a deeper hole at this point.”
ROFL! Speed’s Razor says that you’re evading the topic because you don’t have an answer! Your claim, your hole.
Like I said, vxWorks can do a lot of what it can do because it uses a microkernel and not a monolithic kernel.
Saying it over and over will not make it come true. You might as well close your eyes, click your heels and say “there’s no place like home” over and over! The problem is that you’re stuck at point A, talking about a point B that has yet to be seen.
Find me a single RTOS that uses a monolithic kernel? As far as I know there are not. Why? Because monolithic kernels suck for RTOS applications.
Affirming the consequent doesn’t help your cause. Without proof, it could simply be a coincidence. Who knows? You’re giving evidence that microkernels are popular in a small segment of the industry, but you’re not even the neighborhood of showing any microkernel superiority.
It’s the same story for your Java offerings. You’re citing wishful thinking from Sun, and irrelevant statistics. But this time you can’t even prove that Java is popular, much less superior!
“It’s the same story for your Java offerings. You’re citing wishful thinking from Sun, and irrelevant statistics. But this time you can’t even prove that Java is popular, much less superior!”
Umm… I did prove Java was popular. I gave you two surveys including one done by Evan’s Data Corp. I also gave you a web site that contains hundreds of case studies with companies successfully using Java for many things.
“ROFL! Speed’s Razor says that you’re evading the topic because you don’t have an answer! Your claim, your hole.”
I gave you an answer. You are the one claiming Java is useless. Now back it up with some proof. I gave you tons of stats that Java is very useful.
I honestly can’t believe you are claiming Java is worthless. I will even do more of your homework for you. Here are some of the companies that are currently using Java:
IBM, Sun, BEA, NASA, Celara Genomic, Borland, British Airways, Delta Airlines, Walt Disney, General Dynamics, Boing, Ford, Toyota, Saab, BMW, Oracle, Proctor and Gamble, eXcelon, Merck, NASA, Dell, Staples, Panasonic, Motorola, Fujitsu, Nokia, Sony, Toshiba, Sharp, Texas Instruments, Mitsubishi, Nextel, Sprint, eBay, Nortel, the U.S. Army, CitiBank, EDS, Hewlett Packard, General Electric, 3Com, Hitachi, The Siera Club, Time Warner, United Airlines, Apple, Sabre/American Airlines, PepsiCo, Fuji, Philips Electronics…
Do you want me to continue?
“do know that I can don a blindfold and throw a dart, and I’ll hit a C/C++ application. But Java apps are as rare as hen’s teeth! So obviously Java hasn’t taken over the world, just as I said.”
As my previous list of companies using Java points out, you are not looking in the right place. Java is not used much for consumer software. It is used to implement custom solutions. You can’t see Java a lot because it works behind the scenes. Your logic is the same as me saying “Well, I don’t see Oracle anywhere on a web site so that must mean no one is using it.” The fact is you and I both use Oracle a lot. We just don’t realize it because it is behind the scenes. Java is the same way.
“Affirming the consequent doesn’t help your cause. Without proof, it could simply be a coincidence. Who knows? You’re giving evidence that microkernels are popular in a small segment of the industry, but you’re not even the neighborhood of showing any microkernel superiority.”
I didn’t say microkernels were superior. I said they are better for some applications. RTOS is a big one. The reason is flexibility. If I am designing an RTOS, I probably don’t need 90% of the things that a monolithic kernel has.
I really think you are spouting off without having a clue about kernel design theory. I think you have never once worked with anything outside of the PC arena. For example, you have never done any programming for embedded controllers or something. Monolithic kernels don’t make sense for applications like this.
> I do know that I can don a blindfold and throw a dart, and
> I’ll hit a
> C/C++ application. But Java apps are as rare as hen’s
> teeth! So
> obviously Java hasn’t taken over the world, just as I said.
Hehe that’s like if you said “I can don a blindfold and throw a dart, and I’ll hit a COBOL application so COBOL must be widely used”. Do you think that if every programmer started to use language X then suddenly all existing programs would be rewritten in X ?
> Right now there’s exactly one person claiming that OSX
> doesn’t use
> the Mach microkernel — you.
Did I really say that ? No. Let me remind you: “But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together.” In other words: OSX uses Mach microkernel but not in microkernel-like fashion.
> If you knew that the article had faults, you woud have been
> able to
> explain why.
Read the comments beneath the article yourself, please. I’m too tired with you.
No, you gave a lot of statistics. The statistics show that there are a whole lot of copies of Java out there. That proves that Java is fairly ubiquitous (though not nearly as much as C/C++). Ubiquity is not popularity!
You are the one claiming Java is useless. Now back it up with some proof.
That’s a lie. I did claim that microkernels aren’t of much practical use, and I did provide proof.
You are the one making the Java claims, specifically against C/C++. And so far your “proof” has fallen far short.
As my previous list of companies using Java points out, you are not looking in the right place. Java is not used much for consumer software.
Yeah, well…for a product that you claim is beating C/C++ its fruits are awfully hard to find. OTOH C/C++ apps are truly[/] ubiquitous! You’re not doing too good with your claim…
[i]Your logic is the same as me saying “Well, I don’t see Oracle anywhere on a web site so that must mean no one is using it.”
That’s a lie. It totally misrepresents my position.
But since you brought it up, I’ll point out that the man on the street would recognize the Oracle name, and would not be able to name a single Java app. So much for your faulty logic!
I didn’t say microkernels were superior. I said they are better for some applications. RTOS is a big one. The reason is flexibility
So you’re all up in my face because…? If you agree with me, just say “I agree with you.”
If I am designing an RTOS, I probably don’t need 90% of the things that a monolithic kernel has.
Why do I get the feeling that if I ask you what, you’re going to mention things that A.) are not traits of monolithic architecture, and B.) can easily be left out of a monolithic kernel? Prove me wrong…if you can!
I really think you are spouting off without having a clue about kernel design theory. I think you have never once worked with anything outside of the PC arena. For example, you have never done any programming for embedded controllers or something. Monolithic kernels don’t make sense for applications like this.
I have formal training in OS theory. I’ve studied most of Andy Tanenbaum’s works. I started programming before the PC even existed. I used to play with programmable calculators because it was hard to get mainframe time back then. I’m currently doing most of my work on SPARC boxes.
The fact that my bio doesn’t match your assumptions is evidence that what you “really think” is what’s faulty here. I’ll also point out that you are constantly harping about embedded stuff, neglecting everything else. It appears that you’re the one who has had too little exposure to appreciate the Big Picture!
Hehe that’s like if you said “I can don a blindfold and throw a dart, and I’ll hit a COBOL application so COBOL must be widely used”. Do you think that if every programmer started to use language X then suddenly all existing programs would be rewritten in X ?
No, it’s not. You’re using a false analogy in straw man fashion. You’re also distorting my statement. I don’t have to do Simba’s work, but I was saying is that there’s no evidence that I can see to support those claims.
I don’t see you producing any new Java programs in support of the claim, which supposedly outnumber C/C++ apps. If Java really is eating C’s lunch, then you’d be able to produce at least one or two for crying out loud!
Did I really say that ? No. Let me remind you: “But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together.” In other words: OSX uses Mach microkernel but not in microkernel-like fashion.
Weasel words. Let me know when you have the guts to take a position.
Read the comments beneath the article yourself, please. I’m too tired with you.
So you concede that the article has no faults, as far as you know?
BTW, you wouldn’t be so tired if you didn’t spend so much time maintaining those “alternate realities”.
Speed… It’s obvious at this point that you are just trolling, so I am dropping out of this discussion after this post.
I gave you surveys that said over 50% of US developers are using Java. I gave you surveys that said 78% of IT execs stated Java already does or will play an important role in their web based applications. I gave you a list of 49 major companies that are currently using Java in many way–many of the companies I lised being Fortune 500 companies. And you claim my evidence that Java is widely used falls far short? LOL
Excellent! Every real geek’s wet dream: to make their own operating system. I salut the people coding this os
If you go to the documentation page and look at their interface/os layer graph, you’ll notice that they have the hardware driver at the top, follwed by a bunch of software layers and the User at the bottom.
I wonder how they pull that off, having the user directly engage the UI with no hardware interface inbetween. Maybe this should be TRONOS?
This is the planned GUI for JTMOS, these screenshots are taken from a real JTMOS GRAOS GUI, besides it’s only running under DOS. The reason why it is running under DOS is that, in that time I didn’t have a platform independent JTMOS ready yet.
Another microkernel, so what? Microkernels are the ancient CS departments’ darling, but they aren’t of much practical use. Matter of fact, there’s a new article out in Linux Journal that explains why. It’s old news to yours truly, but no doubt some will want to learn (whilst many more will want to flame, and claim the sun rises in the West).
http://www.linuxjournal.com/article.php?sid=6105&mode=nested&order=…
Speed:
The only thing the trollish article you linked to is that a microkernel based operating system vill be slower than a monopolitic system and that there are no real benefits with microkernels. Anyone that have studied operating system theory knows that it is bullshit.
In the real world microkernels are used for encapsulation of system components so that for example one can replace a filesystem while running. This also helps to build scalable systems where the programmer does not need to know on which computer node a certain resource are located (UNICOS, QNX are realworld examples).
Another positive thing one get with a microkernel is the posibility to have a essentially bugfree (due to testing &| validation) nucleus that makes it impossible to breach security.
So what about the loss of speed? The truth is that most of the time todays computers are waiting for the I/O subsystems: disk, network, graphicscard etc, so the extra execution resources needed for microkernels are most of the time insignificant. For the applications that really need to utilize the full processing power, well they do not use the operating system often so the “inefficient” microkernel will not slow them down much either. One example of high performance microkernel systems: Cray T3E uses the UNICOS operating system build upon distributed Coherent microkernels.
So why are there so many people praising the monopolitic way of operating systems design? That is the traditional well known way: they are easier to code, much literature describes them, providing legacy support (Posix…) is easier etc. In contrast microkernels are still researched today (Lk4…), the earliest attempts to design them failed completly (imnsho) creating huge ugly slow beasts that many people still associates with the word microkernel.
I, myself, am writing an OS (name to be decided, even after 3 years development). One of the aims, was to have an extremently moduler design, of which the micro kernel philophosy was very well suited…
Having read the hundreds of freely available design papers out there, it seems that the only point where microkenels suffer is the time for IPC, and task/server switch times, leading to 1-3% speed penalty. IMHO not that great when compared to the benefits: modular design, enforced resource protection, enhanced scalablty (esp on SMP or distributed systems), etc.
Chewy509…
PS. I also do acknowkledge that monolithic kernels do have there place, in small/low speed embedded systems, such as PDA’s, thin client’s, etc.
see subject.
Megol, name-calling proves nothing. The article expresses what I already know to be true. It also mentions that what may look good in theory can end up a lot worse in practice. And in practice, the microkernel architecture has proved to be inefficient, “solving” problems that never existed, and offering benefits that nobody wants.
Many of the traits that you attribute to microkernels are actually the province of the API. The rest were debunked in that article.
You’re quick to dismiss the inherent inefficiencies of the microkernel system. That’s cold comfort for the OSX user who is sitting around waiting, the department that is charged for time on a Cray and the embedded system developer who just broke the budget on a faster CPU. What may be insignificant when it happens once becomes very significant when it’s repeated over and over. When you get out of school you’ll find that your self-centered attitude about writing software will attract much heat from other team members, especially the engineers.
When you get out into the real world, you’ll also find out about the latest darling of academia that you appear to be imfatuated with — distributed processing. It may be fun to play with, but it’s not economical.
You also state that a benifit of a microkernel is that you can swap file system drivers out while the system is running. You do not need a microkernel to do this. If the file system is implimented as a loadable kernel module, this can be done in a monolithic kernel as well. This is true for not just drivers but any section of code you may want to be able to swap at run-time. Linux does this for instance, and freebsd has growing support for this. I believe all file systems and a fair number of device drivers have been rewriten as loadable modules under freebsd.
The largest gain of the microkernel architecture is abstraction or layering of the system. For instance you can rewrite the tcp/ip stack without concern of effecting any other part of the system. This also allows for easier debugging and independent testing of each layer or “module”.
I for one do think that the microkernel architecture is more elegant than the monothithic approach, but I also think it creates unneeded complexity. I for one just like the fork/exec process model which may explain my preference for the monolithic way of things.
I don’t like ppl who can’t see advantages in diffrent designs.
Remember size is a factor too.
Speed:
There are times when the ad hominum attack is the appropriate response. This, however, was not one of those times; him calling the article in question “trollish” is appropriate and in line with what people actually said about the article in question.
Your ad hominum attacks, however, show that you can not back up for position with reasonable arguments. The fact that QNX is very sucessful in the embedded space, for example, shows that microkernel designs can and do work there.
There are times which I wish Linux was microkernel. For example, there was (is?) a bug where Linux would freeze if it queried a paralell port zip drive which I disconnected. This sort of thing would not have happened if Linux used a microkernel design which allows device driver abstraction.
The complaints about microkernel designes remind me of the complaints about C code back in the 1980s. It may have been slower than straight assembler, but it was far easier to write for and debug.
– Sam
– Sam
Just Another Boring OS.. will it ever end?
AFAIK the relative performance of microkernels and monolithic kernels remains to be proven. For a practical indication of the differences, look at two moderns OSes which some claim to be microkernels: BeOS and Windows NT. Neither are microkernels at all; the NT design started as one, but the designers soon realised that, to prevent the kernel from slowing down too much, the various microkernel components should all run in kernel mode. BeOS, too, has most system services in the kernel; the only user-mode stuff are the app, media and network servers.
I’d like to point out that (on the x86 at least), the two slowest operations the CPU can perform at TLB flushes and inter-level interrupts. Unless you turn off protection and have user and kernel components in the same address space, this is going to be a major overhead. Is it really necessary to have five context switches per file read, when a switch to and from kernel mode would be enough?
Microkernels are all very well for CS departments, but you’ve got to make some concessions to the hardware in the real world.
If you aren’t interested in reading about experiments in Operating Systems design, then maybe you shouldn’t be reading WWW.OSNEWS.COM .
ditto
Ditto also. I have never understood why people visit this site who have nothing but disdain for hobby operating systems. Linux was itself a hobby operating system once.
Problem is that there is a major operating system (Windows), and one that’s competing to it (Linux). Others will have a hard time to gain reputation. One of them half-way managing that is FreeBSD, but afterall it still gets pretty much ignored, tho it’s superior to Linux as server OS IMO (maybe even as desktop OS, driver support is lacking, sadly).
I am SAM!!!
Exactly.
that should have been Re: Re: ditto (i was greeing with cheeto not KidPaddle) hehe, oh well.
“Another microkernel, so what? Microkernels are the ancient CS departments’ darling, but they aren’t of much practical use.”
Really? Gee… Someone must have forgotten to tell Apple. After all, OS X run on the MACH microkernel. Someone apparently didn’t tell QNX or Wind River that microkernels have no practical use either. As both QNX and vxWorks use microkernels. vxWorks is only the number #1 RTOS in the world, being used in everything from automobiles to aircraft to medical equipment to controlling high speed trains.
But what do they know? Because “Speed” says that microkernels have no practical value. So it must be true…
That article on Linux Journal is hilarious. How can someone advocating a UI that performs IPC through TCP/IP sockets complain about the overhead of microkernel messaging?
XFree doesn’t use TCP/IP sockets on local machines. It uses UNIX domain sockets (basically kernel IPC) and shared memory.
Gee Sam, how nice of you to ignore all of my sailent points and accuse me of something that there’s no evidence of. I guess that you’re trying to tell me that you can not back up your position with reasonable arguments.
And that is the case! After all, the modest commercial success of QNX can be influenced by any number of factors. Claiming a cause and effect with zero evidence to support that proof is totally empty. And the existence of one poorly written device driver is evidence that one device driver was poorly written, nothing else. Thanks for wasting resources, Sam!
Simba writes: “Gee… Someone must have forgotten to tell Apple. After all, OS X run on the MACH microkernel.”
Simba, many people told Apple, many times. Apple just didn’t listen. Back when OSX was nothing but vaporware, monolithic LinuxPPC was spanking microkernel MkLinux. A lot of effort was put into discovering why two otherwise identical Linux systems could behave so differenty. What they found was that the microkernel design wasted far more time than theorists had originally calculated. The microkernel paradign was simply less efficient. But Apple obviously cares a lot more about the status quo than it does about its customers.
Tim Robinson reminds us of other failed microkernel attempts. Windows NT was originally released as a microkernel OS, and the public turned up their noses at it because it was slow and hungry. But as soon as they ditched the microkernel architecture and started moving device drivers out of user space, NT began to do better, even outperforming Windows 95. And the customers came in droves. BeOS went through a similar metamorphisis after the first three iterations of that product proved to be disappointing performance-wise.
Speed: What you must realise is that everything has it’s ups and downs. Nothing is perfect, never expect a project to come out with a flawless design and architecture. The monolithic kernel isn’t perfect, it has design flaws coming out of it’s ears, but so does everything else, what you do not seem to realise is that we humans learn from mistakes. We make a mistake learn how to fix it and most of us react differently or take a different approach the next time.
Flaming people on this site or flaming projects does nothing, the person coding this project could give a hoot less what you think about Microkernels if Microkernels are really so bad then I’m sure they’ll do something about it sometime in the future.
I know you’ll probably flame me for this but just think for a second, before you post something take sometime to think about what your actually saying and if it’ll actually do any good. Although this post will go right through your stubborn head, maybe I can shed some light on how humans advance technologically and in everyday practises.
Afaik OSX is a monolithic kernel, made by statically linking things with Mach u-kernel into kernel space.
Speed: monolithic kernels have flawed security and stability thanks to running tons of code in kernel space, at ring0. U-kernels are slow at IA-32 because it is not designed to fast context switching. IMHO this is HW flaw, not u-kernel concept flaw. U-kernels are hard to make them fast at IA-32 but there are techniques to do it. Look at L4
The article you linked to is just bullshit. Just read all those comments below it.
Check out UUU:
http://uuu.sourceforge.net/faq.php
Unfortunally the development of UUU is stopped now.
Wanna see the rise of organic software !!!
“Simba, many people told Apple, many times. Apple just didn’t listen. Back when OSX was nothing but vaporware, monolithic LinuxPPC was spanking microkernel MkLinux”
And what about vxWorks? And QNX? They both use microkernels. Whether you like OS X or not, it doesn’t change the facts that microkernels have plenty of uses, especially in RTOS applications. There are things that QNX and vxWorks can do for example that Linux will never be able to do because it uses a monolithic kernel. So microkernels do have practical use because of this. There are things that microkernels can do that monolithic kernels simply can’t. A good case study you might want to look at is all the white papers available on Plan 9. Plan 9 is a very interesting OS and it does some pretty amazing things–things that probably could not be done with a monolithic kernel.
“What they found was that the microkernel design wasted far more time than theorists had originally calculated. The microkernel paradign was simply less efficient. But Apple obviously cares a lot more about the status quo than it does about its customers.”
No. Maybe Apple cares about future expandability? After all, they could have simply used the FreeBSD monolithic kernel ported to PowerPC since that what the rest of the Darwin core is based on. They chose the microkernel because it can do things that monolithic kernels simply can’t do.
And as far as efficency, that’s to broad of a statement. It depends on what the kernel is doing. Microkernels can be more efficient than monolithic kernels in some applications.
By the way, Java wastes resources and is relatively inefficient as well. But that didn’t stop it from becoming the most popular programming language in the world. More people program in Java these days than program in C or C++. Why? Productivity. With systems running as fast as they are today, time is usually worth more than the small amount of performance lost by using Java instead of C or C++. Using Java makes development cycles much shorter and reduces initial downtime from bugs caused by sloppy memory management and incorrect pointer use.
Why did I bring up Java? To prove a simple point. Speed and efficency are not always the most important consideration for implementing solutions these days. Sometimes flexibility is more important. Java’s rapid deployment abilities and cross platform nature have propelled it to the most popular language in the world, even though it is relatively innefficient and slow compared to C. But that doesn’t make Java useless anymore than it makes microkernels useless.
|jBett| shows us a textbook definition of a troll. Worthless, and trying to spark an angry reaction. But of course I know that I’m not the one writing flames here, so I’ll point out the error instead. *yawn*
I’m not going to waste much time on ondrej either. The article that I linked to has already debunked that claim.
Simba really, really wants us to believe that microkernel architecture is all that, but unfortunately is producing 100% claims and 0% evidence. Simba, what you do pretty much sums up the failure — it’s easy to dream up grandiose ideas, but making something of them is much harder.
Java is yet another example of a grandiose plan that has failed to displace the existing paradigm. Now we have Java programs that fail to meet the stated goal of ubiquity, and are still slow. How many people run Java apps outside of a browser? How many run Java apps inside a browser?!? ‘Nuff said…
As for Apple, what I hear is that they did what they did not because of anything the architecture offered, but rather because of licensing. The Mach license gave them a legal loophole so they could evade responsibility toward open source software, and not have to publish source code for hardware drivers. It was a way for Apple to rip off OSS, taking what they wanted, but giving little back, and keeping their monopoly intact by keeping other OS developers away from what they would need to compete with OSX.
“Simba really, really wants us to believe that microkernel architecture is all that, but unfortunately is producing 100% claims and 0% evidence. Simba, what you do pretty much sums up the failure — it’s easy to dream up grandiose ideas, but making something of them is much harder.”
vxWorks isn’t evidence for you? What more do you want? Like I said, it is the most popular RTOS in the world. It is being used in automobiles, aircraft, high speed train control, medical equipment, etc.
“Java is yet another example of a grandiose plan that has failed to displace the existing paradigm. Now we have Java programs that fail to meet the stated goal of ubiquity, and are still slow. How many people run Java apps outside of a browser? How many run Java apps inside a browser?!? ‘Nuff said… ”
You aren’t looking in the right place. Try looking inside of major corportations. Java use is very widespread. Like I said, a survey that was conducted last year indicated more programmers are using Java today than C or C++. In 2001, J2ME shipped on more than 4.5 million PDAs and cell phones. Compaq and Dell both preload the JRE on their XP systems. OS X has Java heavilly integrated into it, and many of its system utilities are written in Java. Java application servers are everywhere. Basically, Java is running a lot of things you probably dont even realize it is running. Like possibly your cell phone. Chances are, your cell phone has J2ME in it.
The vast majority of companies said in a survey that Java plays or will play a major part in their overall strategies–far more than C# will.
You really should do your research on both Java and microkernels.
The name of a company does nothing to prove your claim. Nor does the mere fact that a product may be popular. Microsoft is a company, and Windows is popular. So what? For all we know, your vxWorks may be popular in spite of the microkernel, not because of it. You haven’t even touched on anything relevent.
Claiming that I should do your research doesn’t prove anything either, although Speed’s Razor says it’s evidence that you’re empty-handed.
As for Java, I notice that you failed to name a single “major corportation [sic]” in support of your claim. No matter, I think you know that no substantial business is going to let me audit their software, even if I was foolish enough to do your legwork for you. So it’s just another empty claim.
Same thing for your mysterious, unnamed “survey”.
I’m looking in the right place, allright. Not the place where you want to misdirect me to, but right nonetheless. Using your faulty logic and misdirection, one could claim that AOL has more customers than there are people on earth, based on the number of free CDs distributed. It’s obvious why that’s a fallacy!
Just because a machine has a Java environment installed on it doesn’t mean that it’s being used. Common sense tells us that it probably has more to do with it being free than anything else! We’re all born with an appendix, but we aren’t using them to digest our food…
If “Java application servers are everywhere” as you claim, how come you didn’t mention a single one by name? Do you think that anybody on the street (even an employee of a “major corportation [sic]”) can name even one Java application? Get real!
Speed:
——
What do you expect Simba to show you ? To list thousands of companies using Java or what ? You want names of apps but the majority of software is not something you can buy in a store or something that is reviewed in magazines, there are countless custom (sometimes unnamed) pieces of software. Java is not oriented on desktop (“thanks” to Swing IMHO) so you won’t hear much about it in press or run it at _your_ computer but this doesn’t mean it doesn’t exist.
Why do you think are there so many Java jobs ?
Ad microkernels: there is obvious trade-off between performance and protection&security, agreed ? Some people just think that the performance penalty is worth it, thats all. You pointed to OSX’s slowness and blamed its microkernel architecture. But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together. So microkernel is certainly NOT the reason and you can see that there are many more other factors of performance that just microkernel and if OSX was real microkernel, maybe you wouldn’t see important difference.
Your are shouting “give me evidence” all the time but the only “evidence” used by _you_ was clueless article that everybody laughs at. What did _you_ show us ? Only arrogance.
IMO the best OS architecture should allow you to load thing both to kernel space and separate address space. You could choose yourself what is more appropriate for what piece of code.
First of all, some advice: Wiseman say one not get out of hole by digging deeper. You really are just digging yourself a deeper hole at this point.
Like I said, vxWorks can do a lot of what it can do because it uses a microkernel and not a monolithic kernel. Find me a single RTOS that uses a monolithic kernel? As far as I know there are not. Why? Because monolithic kernels suck for RTOS applications. There is where microkernels shine.
As far as companies using Java:
http://industry.java.sun.com/casestudies/
You may want to try reading some of these case studies beforew you continue to make such innacruate statements about Java. The facts are that many many companies are using Java with great success in many applications.
The survey I mentioned here was done by Evans Data Corporation. in 2001, more than 50% of U.S developers said they used java. In Europe, the number was over 60%.
Another survey: here is one that polled 120 IT executives and found that 78% said they are or will be using J2EE for their web based applications:
http://www.infoworld.com/articles/hn/xml/01/12/21/011221hnjavasurve…
You are just fooling yourself if you think Java isn’t in use in a lot of places with good success.
Speed: Just to save you some work, here are a few of the more impressive things Java is currently being used for:
– NASA is using Java and Java applets to monitor and control the Hubble Space Telescope.
– Java played a major role in sequencing the human genome, and is still being used for genome research.
– Limewire, the #1 Gnutella client is written in Java
– Delta Airlines Web site is powered by BEA Weblogic and server side Java.
– The British Airways e-commerce system is powered by Java.
This came from about 2 minutes of looking on the site I gave for you. I’m sure you can find many more impressive things Java is being used for if you spend a few minutes looking at the case studies.
ondrej writes “What do you expect Simba to show you ? To list thousands of companies using Java or what ?”
Don’t look at me, I’m not the one taking indefensible positions! Grandiose claims lead to grand failures. That’s not my problem. I do know that I can don a blindfold and throw a dart, and I’ll hit a C/C++ application. But Java apps are as rare as hen’s teeth! So obviously Java hasn’t taken over the world, just as I said.
But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together. So microkernel is certainly NOT the reason and you can see that there are many more other factors of performance that just microkernel and if OSX was real microkernel, maybe you wouldn’t see important difference.
First things first. Before there’s any hope of having me accept your conclusion, you must first convince me of its premise. Right now there’s exactly one person claiming that OSX doesn’t use the Mach microkernel — you. If you can back it up with evidence, you’ll get somewhere. If not, you join the bloated ranks of the sore losers.
Your are shouting “give me evidence” all the time but the only “evidence” used by _you_ was clueless article that everybody laughs at. What did _you_ show us ? Only arrogance.
Yes…your arrogance. You will have to overcome that stupidity and vainglory to make any progress! If I passed you a tray of gold bars, would you laugh and knock them to the ground? I’m offering you knowledge which is “golden”. If all you can do is laugh, then you’re proving your own stupidity. If you knew that the article had faults, you woud have been able to explain why. But all you do is hurl insults and make baseless claims…
Simba writes “First of all, some advice: Wiseman say one not get out of hole by digging deeper. You really are just digging yourself a deeper hole at this point.”
ROFL! Speed’s Razor says that you’re evading the topic because you don’t have an answer! Your claim, your hole.
Like I said, vxWorks can do a lot of what it can do because it uses a microkernel and not a monolithic kernel.
Saying it over and over will not make it come true. You might as well close your eyes, click your heels and say “there’s no place like home” over and over! The problem is that you’re stuck at point A, talking about a point B that has yet to be seen.
Find me a single RTOS that uses a monolithic kernel? As far as I know there are not. Why? Because monolithic kernels suck for RTOS applications.
Affirming the consequent doesn’t help your cause. Without proof, it could simply be a coincidence. Who knows? You’re giving evidence that microkernels are popular in a small segment of the industry, but you’re not even the neighborhood of showing any microkernel superiority.
It’s the same story for your Java offerings. You’re citing wishful thinking from Sun, and irrelevant statistics. But this time you can’t even prove that Java is popular, much less superior!
That’s right, I haven’t forgotten the topic.
“It’s the same story for your Java offerings. You’re citing wishful thinking from Sun, and irrelevant statistics. But this time you can’t even prove that Java is popular, much less superior!”
Umm… I did prove Java was popular. I gave you two surveys including one done by Evan’s Data Corp. I also gave you a web site that contains hundreds of case studies with companies successfully using Java for many things.
“ROFL! Speed’s Razor says that you’re evading the topic because you don’t have an answer! Your claim, your hole.”
I gave you an answer. You are the one claiming Java is useless. Now back it up with some proof. I gave you tons of stats that Java is very useful.
I honestly can’t believe you are claiming Java is worthless. I will even do more of your homework for you. Here are some of the companies that are currently using Java:
IBM, Sun, BEA, NASA, Celara Genomic, Borland, British Airways, Delta Airlines, Walt Disney, General Dynamics, Boing, Ford, Toyota, Saab, BMW, Oracle, Proctor and Gamble, eXcelon, Merck, NASA, Dell, Staples, Panasonic, Motorola, Fujitsu, Nokia, Sony, Toshiba, Sharp, Texas Instruments, Mitsubishi, Nextel, Sprint, eBay, Nortel, the U.S. Army, CitiBank, EDS, Hewlett Packard, General Electric, 3Com, Hitachi, The Siera Club, Time Warner, United Airlines, Apple, Sabre/American Airlines, PepsiCo, Fuji, Philips Electronics…
Do you want me to continue?
“do know that I can don a blindfold and throw a dart, and I’ll hit a C/C++ application. But Java apps are as rare as hen’s teeth! So obviously Java hasn’t taken over the world, just as I said.”
As my previous list of companies using Java points out, you are not looking in the right place. Java is not used much for consumer software. It is used to implement custom solutions. You can’t see Java a lot because it works behind the scenes. Your logic is the same as me saying “Well, I don’t see Oracle anywhere on a web site so that must mean no one is using it.” The fact is you and I both use Oracle a lot. We just don’t realize it because it is behind the scenes. Java is the same way.
“Affirming the consequent doesn’t help your cause. Without proof, it could simply be a coincidence. Who knows? You’re giving evidence that microkernels are popular in a small segment of the industry, but you’re not even the neighborhood of showing any microkernel superiority.”
I didn’t say microkernels were superior. I said they are better for some applications. RTOS is a big one. The reason is flexibility. If I am designing an RTOS, I probably don’t need 90% of the things that a monolithic kernel has.
I really think you are spouting off without having a clue about kernel design theory. I think you have never once worked with anything outside of the PC arena. For example, you have never done any programming for embedded controllers or something. Monolithic kernels don’t make sense for applications like this.
> I do know that I can don a blindfold and throw a dart, and
> I’ll hit a
> C/C++ application. But Java apps are as rare as hen’s
> teeth! So
> obviously Java hasn’t taken over the world, just as I said.
Hehe that’s like if you said “I can don a blindfold and throw a dart, and I’ll hit a COBOL application so COBOL must be widely used”. Do you think that if every programmer started to use language X then suddenly all existing programs would be rewritten in X ?
> Right now there’s exactly one person claiming that OSX
> doesn’t use
> the Mach microkernel — you.
Did I really say that ? No. Let me remind you: “But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together.” In other words: OSX uses Mach microkernel but not in microkernel-like fashion.
> If you knew that the article had faults, you woud have been
> able to
> explain why.
Read the comments beneath the article yourself, please. I’m too tired with you.
Umm… I did prove Java was popular.
No, you gave a lot of statistics. The statistics show that there are a whole lot of copies of Java out there. That proves that Java is fairly ubiquitous (though not nearly as much as C/C++). Ubiquity is not popularity!
You are the one claiming Java is useless. Now back it up with some proof.
That’s a lie. I did claim that microkernels aren’t of much practical use, and I did provide proof.
You are the one making the Java claims, specifically against C/C++. And so far your “proof” has fallen far short.
As my previous list of companies using Java points out, you are not looking in the right place. Java is not used much for consumer software.
Yeah, well…for a product that you claim is beating C/C++ its fruits are awfully hard to find. OTOH C/C++ apps are truly[/] ubiquitous! You’re not doing too good with your claim…
[i]Your logic is the same as me saying “Well, I don’t see Oracle anywhere on a web site so that must mean no one is using it.”
That’s a lie. It totally misrepresents my position.
But since you brought it up, I’ll point out that the man on the street would recognize the Oracle name, and would not be able to name a single Java app. So much for your faulty logic!
I didn’t say microkernels were superior. I said they are better for some applications. RTOS is a big one. The reason is flexibility
So you’re all up in my face because…? If you agree with me, just say “I agree with you.”
If I am designing an RTOS, I probably don’t need 90% of the things that a monolithic kernel has.
Why do I get the feeling that if I ask you what, you’re going to mention things that A.) are not traits of monolithic architecture, and B.) can easily be left out of a monolithic kernel? Prove me wrong…if you can!
I really think you are spouting off without having a clue about kernel design theory. I think you have never once worked with anything outside of the PC arena. For example, you have never done any programming for embedded controllers or something. Monolithic kernels don’t make sense for applications like this.
I have formal training in OS theory. I’ve studied most of Andy Tanenbaum’s works. I started programming before the PC even existed. I used to play with programmable calculators because it was hard to get mainframe time back then. I’m currently doing most of my work on SPARC boxes.
The fact that my bio doesn’t match your assumptions is evidence that what you “really think” is what’s faulty here. I’ll also point out that you are constantly harping about embedded stuff, neglecting everything else. It appears that you’re the one who has had too little exposure to appreciate the Big Picture!
Hehe that’s like if you said “I can don a blindfold and throw a dart, and I’ll hit a COBOL application so COBOL must be widely used”. Do you think that if every programmer started to use language X then suddenly all existing programs would be rewritten in X ?
No, it’s not. You’re using a false analogy in straw man fashion. You’re also distorting my statement. I don’t have to do Simba’s work, but I was saying is that there’s no evidence that I can see to support those claims.
I don’t see you producing any new Java programs in support of the claim, which supposedly outnumber C/C++ apps. If Java really is eating C’s lunch, then you’d be able to produce at least one or two for crying out loud!
Did I really say that ? No. Let me remind you: “But OSX is no microkernel ! It’s monolith created by linking microkernel with other kernel services together.” In other words: OSX uses Mach microkernel but not in microkernel-like fashion.
Weasel words. Let me know when you have the guts to take a position.
Read the comments beneath the article yourself, please. I’m too tired with you.
So you concede that the article has no faults, as far as you know?
BTW, you wouldn’t be so tired if you didn’t spend so much time maintaining those “alternate realities”.
Speed… It’s obvious at this point that you are just trolling, so I am dropping out of this discussion after this post.
I gave you surveys that said over 50% of US developers are using Java. I gave you surveys that said 78% of IT execs stated Java already does or will play an important role in their web based applications. I gave you a list of 49 major companies that are currently using Java in many way–many of the companies I lised being Fortune 500 companies. And you claim my evidence that Java is widely used falls far short? LOL