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?'"
I thought Windows was secure. Why not use that? *cough* *cough*
The question is, can you make a system that actually works very well?
I'm glad someone finally got to asking this question.
.. 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.
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!
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?
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.
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
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.
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.
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.
"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
Actually he said: "Be thankful you are not my student. You would not get a high grade for such a design :-)" the :-) is important.
2009 will finally be the Year of the Minix Desktop!
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
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!
...is to call this news. The grant was received in November 2008! (see http://www.minix3.org/news/)
I though Minix was dead for some 15 years....
Did netcraft confirm it?
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
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...
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.
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...
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.
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.
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.)
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
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.
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.
30 seconds when you're sat on your ass in front of your PC.
Try power-cycling a weather satellite in 30 seconds.
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.).