Where Are Operating Systems Headed? 278
An anonymous reader writes "Dr. Dobb's Michael Swaine breaks down the question of where operating systems are headed. Among his teasers: Is Vista the last version of desktop Windows? (Counterintuitively, he says no.); Did Linux miss its window on the desktop? (Maybe.) And, most interestingly, are OSes at this point no longer necessary? He calls out the Symbian smartphone OS as something to keep an eye on, and reassures us that Hollywood-style OSes are not in our short-term future. Where do you weigh in on the future of operating systems? In ten years will we all be running applications via the internet?"
Article author is displaying some confusion (Score:5, Insightful)
Consider for a moment: What is Debian on FreeBSD? [debian.org] Is it a FreeBSD operating system or a Linux operating system? Or is it a Frankenstein kitbash of both? The answer is, neither answer is correct. It is the FreeBSD kernel combined with the GNU Platform.
Separating the task of operating the hardware (traditionally the job of the kernel) from the higher level "platform" has a variety of implications. The most important implication is that the software is as portable as the platform is. It doesn't matter if the underlying kernel is FreeBSD, Linux, or Windows NT. If you software targets the GNU platform, it is portable across all those systems. At least at a source level, though binary compatibility is ideal.
Thus when programmers make the comment that Java "is like an Operating System", what they mean is that the Java Platform is sufficient to replace the platform that shipped with your operating system. While the focus is currently on integrating the disparate platforms, what you're starting to see is that the OS is taking a back seat to the platform. Programmers want portability across devices, and Information Technology wants more flexible deployment solutions. Combined, these two needs add up to a drive for further portability of platforms with an eye toward using the right kernel for the right deployment solution.
That is where "Operating Systems" are headed. Not the monoliths of yesteryear, but the flexibility to provide familiar functionality where you need it and when you need it.
Symbian? (Score:5, Insightful)
He definitely never looked at it or never tried to develop something on it.
If Symbian is your answer, you've got the wrong question.
Counterintuitively? (Score:3, Insightful)
How is this counterintuitive? Of course Vista is not the last version of desktop Windows. You don't think Microsoft will want to retain their revenue stream in 5 years? Plus with China growing economically there will still be much demand for new computers with new OSs for many years.
In ten years will we all be running applications via the internet?
Maybe, but that doesn't mean there will be no OS. Even thin clients need some form of OS. Your web browser has run on hardware somehow.
My utopian vision (Score:2, Insightful)
Ok, Apple will keep it's fiefdom - but there's really nothing in that world I'd miss.
I would love to see some sort of unified driver type - your driver and hardware not tied to an OS, but that's unlikely.
Re:Consumer devices (Score:3, Insightful)
That Mac looks pretty important to me.
Re:Linux is headed to the landfill (Score:5, Insightful)
Linux has had a huge positive effect. For one thing, it gave the GNU project a serious kick-start. Sure it was possible to run GNU on a BSD kernel before Linux came along; but next to nobody actually did. Anyway, BSD had its own set of Open Source userland utilities, and still hardly anybody used it. Suddenly Linux came along, and Open Source was trendy. Linux had its limitations, for sure; and some of the people who tried Linux moved over to BSD for what at the time were valid reasons. Some of them moved back when Linux cleaned its act up. These peole might never have tried a free OS, if it had not been for some young upstart Finn with a bee in his bonnet about performance of monolithic vs. microkernels.
Do you think Solaris would have been open-sourced -- possibly even under GPLv3! -- if it hadn't been for the fact that GNU/Linux posed a credible threat to it?
If anything is "headed to the landfill", it's the whole Closed Source model -- or more strictly, the egregious idea of keeping the Source Code of a program secret from its own users. The extent of the damage that this has done is just beginning to sink in, ever so slowly. Within a generation, there will be more than one country in the world where it will be illegal not to supply Source Code with software, even if you are not allowed to give out copies of it.
That Gartner report is worthless... (Score:3, Insightful)
platforms (Score:4, Insightful)
Re:Virtualized Devices (Score:2, Insightful)
"Operating system" is a pretty old paradigm... (Score:5, Insightful)
People have forgotten that the original goal of the "operating system" was nothing other than to automate the function of the "operator," reducing personnel costs and making sure that the computer wasn't sitting around at $200 an hour waiting for someone to square up the next deck of cards and load them into the hopper.
The only people who think they can tell you what an OS really is are the students who have recently memorized some textbook definition. An OS is an intertwingled hairball of utterly arbitrary functionality. It has evolved from competitors copying whatever it is that another competitor did, messing some things up, adding some cool stuff, and doing random things dictated by marketing strategy.
Want to bundle HyperCard, but you promised the database vendors you wouldn't compete with them? Easy, don't call HyperCard a database, call it part of the "system software." Want to hide the fact that your graphical shell could run on a competitor's operating system? Easy, just say Windows is part of--no, wait, IS--the operating system. And so it goes.
It is quite possible to use a computer without an operating system. I'm not saying any of these are viable paradigms for today, but none of the original versions of BASIC required an operating system. MUMPS is largely self-contained, no OS needed.
There is an opportunity for some kind of brand-new conceptualization. No, I don't know what it is. If I did, I'd promoting on it. But, yes, I think it's very likely that twenty years from now the idea of an operating system will seem as quaint as the idea of a front panel with lights and switches on it. There was a time when nobody believed you could run a computer without _that_, either.
Re:Consumer devices (Score:2, Insightful)
It's not that the consumer devices that are becoming important in themselves, what's important is that they are becoming interoperable. This is what Apple is doing with the iTV, iPhone, and the iPod, and if anything the PC (Mac) becomes more important because it ties all the consumer devices together.
Re:Linux is headed to the landfill (Score:2, Insightful)
As long as your biggest market is people who want it done for them, and as long as it's affordable, the OS will continue to drop into their hands. The price increase for the various iterations of Vista show that Microsoft is at least aware of Windows' continuing strength.
If you want OSS to blossom, it has got to become sexy and work with much less nerd/geek presence. Symbian happens to power smart phones, but it's not sexy either. It can't spoil you in that "mainstream-moves-the-most-water" way, like Windows can.
Ubiquitous Computing (Score:2, Insightful)
On the server side, we will build huge machine-servers, capable of virtualization. Which here i see lots of players, Linux included, but i see no OS from Microsoft. I see Google here too, as provinding enterprise-level services to all of us (aka email, office, anything else). Speaking of that, there is a reason why Google does not build a OS: it's irrelevant. We should follow the pack-leader
And, not to forget, on the enterprise side, i assume a big load of thin-clients will prevail. Maybe Windows-as-it-is-now has a slight chance here...
Re:Linux is headed to the landfill (Score:2, Insightful)
This is very true. Not to mention if 'Linux' dies it will just be the kernel. there is so much more to a linux distro/application stack than just the kernel.
If anything is "headed to the landfill", it's the whole Closed Source model -- or more strictly, the egregious idea of keeping the Source Code of a program secret from its own users.
This is the key statement. Do you think people these days would be buying Dells and running Solaris on them if Solaris wasn't open sourced? No; they would be too afraid that Sun would pull another quick one and decide that Solaris 11 (or whatever) wouldn't be released on x86. People forget about history, but not when this stuff happened so recently. Over time people may forget exactly why, but using Open Source Software will become second nature. People will start asking why there's no open development process, why there's not publicly available mailing lists, why the documentation for a peice of software isn't editable by the users, why the end users can't directly submit a bug request. All of those things lend themselves to a faster and more adaptable development process, and quicker turn around time for the customer. Why call up your proprietary vendor, sit on the phone waiting for an hour only to find out some information that you could have just looked up if their data sat in an externally viewable location? Transparency is also a great tool for the customer to evaluate the real quality of a product and the people behind it.
So many devices! (Score:3, Insightful)
Linux: most portable kernel for talking to the hardware.
GNU: most portable userspace.
JVM: most portable VM for taking to userspace and scripting languages.
Mozilla: most portable platform for web collaboration, especially if Firefox 3 goes forward with the "information broker" role it wants to fulfill.
These four levels give us a good solid platform for the shifting hardware landscape. Because no matter what, everything always comes back to physical devices, physical presence of some kind.
Re:My definition of an OS (Score:5, Insightful)
Libraries.
There's no point in getting too pedantic about terms like "operating system" that don't actually have widely-established meanings. There can be absolutely no doubt about what code belongs to the kernel and what code belongs to userspace and what difference that makes. Library vs. application code is pretty clear, too, though at run-time much of that distinction is lost (or even after link-time in the case of static libraries). So now that we've defined what they are in terms of words with actual meanings, who cares whether it's part of the operating system or not?
If you don't learn from past mistakes... (Score:2, Insightful)
Re:Linux is headed to the landfill (Score:4, Insightful)
Exactly.
Not many people who have gone to the trouble of owning a cow and stuck at it for awhile are going to go back to buying milk and cheese from the supermarket. The big dairies will try to make out that milking a cow is too difficult for ordinary people to manage. Some will believe them, but others will have a go and some of them will succeed. And just because people aren't buying prepackaged milk anymore, doesn't mean they won't be needing other things. The smart investor would be thinking in terms of cow food, churns and maybe fancy gadgets like fully-automatic electric cheesemakers and home semi-skimmers, which cow owners will need if they don't want to go back to Tesco.
Microsoft are getting too big for their boots. One day now, they'll mess with the wrong people, and be told to go forth and multiply. That will make a lot of people wonder why they didn't have the cojones to blow Microsoft off sooner. Some will give it a try. Remember also that interoperability is improving all the time. Microsoft can't change their proprietary protocols too quickly, for fear of breaking everything. If they introduce a new server protocol, everything still has to be able to speak the old one for awhile. Open Source is behind now; but if Microsoft stall, it'll catch up quickly.
And there's always this sort of scenario;
Once Open Source deployment -- whether that's Linux, BSD, Solaris or something else altogether -- reaches a certain critical mass, it will automatically and suddenl