Hacker News new | ask | show | jobs
by amirmc 4159 days ago
I find it interesting that this post can be taken two ways.

1. It's clear that Linux 'won' in the marketplace so we can all laugh at how wrong this guy was and the curiosity of these 'microkernel' things and that portability stuff. Lols all around.

2. We've reached a point where ideas are gaining ground about immutable infrastructure, people are talking more about things with similarities to microkernels called unikernels [1] (and where they might be used [2]). Linux isn't going anywhere but these new approaches have value and were being discussed as long ago as 1992. Of course, the author got things wrong but that's par for course. It's more interesting to see ideas that are resurfacing. Incidentally, ARM was a RISC chip and now dominates Intel on mobile devices.

I prefer the second approach. So to anyone poking fun at the author, please consider that maybe this is one aspect of living in the future [3], albeit much further than than most (market timing is always underrated and academics tend to think further ahead than most people). We can also remind ourselves that 'Better' is a tricky and subjective thing to define (cf VHS tapes vs Betamax).

[1] http://queue.acm.org/detail.cfm?id=2566628

[2] http://nymote.org/blog/2013/introducing-nymote/

(disclaimer: I'm involved with both the above projects)

[3] http://paulgraham.com/startupideas.html

6 comments

So we now live in a world where both monolithic and "microkernel" (hybrid) systems are commonplace - there's a bit shy of a billion devices running linux (android) and no shortage of windows and osx hosts around. What can we learn from this?

Well, it doesn't really seem to matter whether you use a monolithic or microkernel design. They both work well enough. Driver development is hard for reasons that have got nothing to do with this, and doesn't appear to change much between the platforms. Success/popularity of operating systems appears to be determined by other factors.

I'm not sure why people feel this is still worth debating. All the evidence points to it being completely unimportant.

Neither Windows nor OSX are microkernels.
Depends on how you look at it. Darwin is based on Mach with some monolithic BSD stuff linked in, I remember reading that Windows was fairly microkernelish but they've been pushing more things to kernel space.
> It's clear that Linux 'won' in the marketplace

Arguable. There might be more instances of QNX and L4 running than of Linux. This is pretty much impossible to measure. Remember that Android smartphones have a second OS underneath or beside the Linux kernel.

Apple and Microsoft use a hybrid approach, so they just do not participate in the debate.

> OKL4 shipments exceeded 1.5 billion in early 2012, mostly on Qualcomm wireless modem chips. Other deployments include automotive infotainment systems.

http://en.wikipedia.org/wiki/L4_microkernel_family#Commercia...

Thanks for the info. Linux certainly captured mindshare and is synonymous with the cloud these days, but I agree these things are not clear cut.
I would very much like to laugh at Andy Tanenbaum and we all should. He deserves to be ridiculed because he was being an a-hole. He was putting down another programmer based on a theoretical mumbo jumbo when he could have proven his theories by actual programming.

I think it is obvious that any scientist that can prove his theories in a practical way must do that and should not flame and criticize another. In areas where theories are harder to prove like astrophysics, social science, economics, etc. I guess people can debate and flame. We are all used to economist flame wars by now.

But in areas where theories are practically provable, such criticisms are useless and idiotic. If Tanenbaum thought microkernels were so great he should have made a usable microkernel OS.

This also shows a very negative practice in the software industry which should be discouraged. And this is the criticism of the thing that is working now in favor of some new shiny project that is still in development but it will be all so great when it comes out. It is a very easy pitfall to get into, because the thing working now usually has some problems and disadvantages while the shiny new thing that does not exist yet is usually perfect in every way. But in practical matters, one usually does better going with the thing working now. But worst of all, this practice of worshiping the nonexistent solution is usually used to strike down newcomers and disruptors.

By the way, unikernels have absolutely nothing to do with microkernels. So, no the day of the microkernel has not arrived and there is no indication that it will come any time soon. Maybe there will be a practical working microkernel based os some day. I have no idea what will happen in a thousand years or ten thousand years. But if that happens it will be more of coincidence than evidence that Andy Tanenbaum is some kind of genius living in the future. If you have long enough time frame a lot of predictions about the future will eventually happen in one way or another.

Regardless, Linus never disputed the fact that microkernels are theoretically better. He just knew how impractical they were because he actually buckled down and did the work to make a useful OS instead of bloviating on theory.

>We've reached a point where ideas are gaining ground about immutable infrastructure, people are talking more about things with similarities to microkernels called unikernels [1] (and where they might be used [2]).

Not only this. Amoeba, Tanenbaum's research OS is a distributed operating system, meaning that many devices could be used as a single system. This would be incredibly useful in our current age where everyone has a laptop, a smartphone, a tablet, and lots of other devices that need to be synched.

Usually distributed OS are designed for a scenario where every device is (nearly) always on. Like a supercomputer or a LAN of desktops. Mobile devices want to be mostly off to save energy.
Well, a new type of operating system is needed then.
> It's clear that Linux 'won' in the marketplace

it depends a lot on what you mean by won and which marketplace you are talking about.

as a desktop os linux is essentially non existent with an ever shrinking 1.5% of the market share or so as more and more regular joe consumers get machines with windows or os x preinstalled at a much faster rate than expert-level geeks are installing linux.

as a software developer targetting the mainstream it is rare that targetting linux is a profitable venture, because nearly no customers use it and those that do don't spend money on software in the same way as some one living in the Microsoft or Apple ecosystems. OS X also has a tiny market share (around 4% iirc) but people who are willing to pay over the odds to have a pretty workstation seem also not afraid of spending money on software.

as a server platform Linux dominates despite the best efforts of MS and Apple to try and market slightly uglier versions their consumer level desktop OS as a server product. its easier to use remotely, and can easily be configured to not rely on heavy UI features - there are even flavours that cater better to business philosophies on 'stability' (i use that term loosely) like RHEL and CentOS - also stability and open source go hand in hand, because you can fix bugs, or pay people to fix bugs allowing you to throw money at problems to fix them in a way which is impossible with the mainstream OSs

as a software developer it makes sense to target linux first for your big expensive server product. if you don't then you are cutting out your customers...

i don't think either of these situations has much to do with the underlying technology. its much more to do with the OS and what it provides than how it is built to achieve those aims.

Chromebooks (which use linux) accounted for over 5% of laptop shipments in Q3 of last year. They also grew at an astounding rate of 67% quarter over quarter. I have not seen data for Q4 of last year yet, but considering the chromebooks' growth rates it will probably be even higher.

So, no desktop linux market share is not non-existent and it is definitely not shrinking.

http://www.zdnet.com/article/chromebook-shipments-leap-by-67...

Don't forget that Android also runs on the Linux kernel and there are more Android phones than desktop PCs running any operating system.
Given the way Google is steering Android these days i am not sure i want it on a "desktop" any time soon.

Back during early 3.x it had a spark of potential. But since then Google has done quite a bit to lock it down so that it is basically a media consumption terminal.

> But since then Google has done quite a bit to lock it down so that it is basically a media consumption terminal.

It remains possible to choose to install, or not to install Google play Services and Google's app suite on aftermarket Android installations, and still be running Android, and running most 3rd party Android apps.

Any app developers who wants to run on Amazon, Jolla, Blackberry, CyanogenMod, and on the embedded Android in cars and appliances, and all the Android variants in China is going to have to take care to make use of Google Play Services optional, and to correctly use Intent filtering to make of of and respond to high level IPC messages to and from other apps, no matter if they are the "official" Google apps or not.

So, while Google could be more open without risking much if any advantage, Android hasn't been locked-down. Google has little chance of doing an "embrace and extend" on Android ISVs. You still have a wide range of choices.

That is pretty much ignoring the driver issue, or maybe myopically focusing on the Android API layer.

Look at the changes to file system permissions, and the introduction of the storage access framework in 4.4.

And look from the perspective of joe user, not from hank hacker.

This comment is exactly the opposite of reality. 3.x was the most locked down Android ever. Its source was never released. Since then, AOSP has gotten strictly more functional with every release. The proprietary Google apps built on top have gotten wider distribution on the devices that have Android installed, but that doesn't make AOSP itself more locked down.
From a user perspective, Android has gotten more locked down. This in that while previously one could access the file system directly, now on has to go via a sub-system that can deny or hide access arbitrarily.
You're talking about a security issue where one app could read and write another app's data. That's like saying Android is locked down because you can't read another app's heap.
That’s the nature of any consumer-oriented product, though. Unless someone starts making a phone for hackers, they’re all going to be designed for media consumption.

With that said, you’re right about the locking down. It’s a good thing that we’ve CyanogenMod and Replicant.

Also don't forget that Android OEMs must pay Microsoft for the privilege of using that OS, so I'm not sure what Linux has won here.
There are few "big expensive server products" now - people are running SAAS, or open source products that may or may not have expensive support contracts. If you run SAAS you can run anything you like, look at Whatsapp with their Erlang on FreeBSD stack.
> Linux 'won' in the marketplace so we can all laugh at how wrong this guy was

Oh, it has been a long time since 1992 and these posts by Tannenbaum are pretty famous (actually, I'm surprised it still appears on HN). So we did laugh already. Later we suddenly stopped laughing and it was more like your "second approach". But that also was quite a while ago. Next wave of philosophical though in techno society was reflecting on all these "worse in better" stuff, "MIT vs Berkley", "Lisp is older that C", "ML is 40 years old". Because, really, it's all about the same idea. And posts about "Cathedral and bazaar" and how dot com bubble destroyed the notion of sound architecture is pretty much about the same thing.

So for me it isn't anymore about any new "lessons" to learn from that. Just a painful reminder on "sooner or later we'll have to throw all these tremendous work away and start anew… shall we?".