Vista the Last of Its Kind
An anonymous reader wrote to mention a TechWorld story about Windows Vista. According to the Gartner Group, Windows Vista is likely to be the last of its kind. "The problem is that the operating system's increasing complexity is making it ever more difficult for enterprises to implement migrations, and impossible for Microsoft to release regular updates. This, in turn, stands in the way of Microsoft's efforts to push companies to subscription licensing. The answer, according to Gartner, is virtualization, which is built into newer chips from Intel and AMD, and has become mainstream for x86 servers through the efforts of VMware." Speaking of Vista, C|Net reports that a new release candidate is on the way. The average tester should expect it by the end of September.
Just because windows is bloated it doesn't mean that all other OSes are. This sounds awfully much like the "Mainframes are dead" and later on the "Unix is dead" (no, not the BSD-troll) predictions.
Most of the time Windows provides few simple file, display and input services to MS word and excel. I can see why you would want to rewrite it to cut down on exploits, improve scalablity, etc. But why would MS need to create so much additional complexity? Other than the obvious reason that they already have windows built to do what they need and may as well rewrite it since they have all that revenue.
My advice is for Microsoft to spend the next 20 years rewriting windows to run on future quantum computing devices. Word will keep working in the mean time. Should make a killing.
http://michaelsmith.id.au
Gartner analysts: We predict Microsoft will start making OS'es like this.
Microsoft: Umm, no - there are a ton of problems with doing things that way (even more than with the way we do things now!!!11)
Gartner analysts: Pffft, what would you know.
Seriously, speculation can be fun, but I find it hard to take these guys seriously.
What does this article mean anyway? Its a bunch of buzz words mixed together in an apparently random order.
Wouldn't it be nice if there were a way to start with a core operating system unit that could then have additional modules and applications bolted on as necessary? You'd have full control over exactly what functions the machine will and will not have. Too bad such a beast will never exist...
This guy's the limit!
The slashdot group think have known this since before XP came out and now a research firm predicts what we already knew, 6 years later. Microsoft haven't commented on this so its not worth discussing further (as we already have for years) until some announcement at some MS developer conference mentions it. Oh shit its saturday, slow news day.
Jonathanjk.com
That ought to be fun to work with. What will this stack do?
However what is not understandable is how virtualization will be helpful. Sure, you can make a virtual machine run only one process (services), but these services need to interact with each other through some mechanism to do useful work. Will the Windows kernel just do this interaction?
This seems to be oversolving the problem. Service isolation is good, but do you have to go overboard on that?
And Microsoft's absolutely right on this point. I don't typically defend them, but when groups like Gartner with no experience in computers makes up such ridiculous ideas, I think it's justifiable.
There's no reason they need to resort to using virtualization to accomplish this task. They could do it now with the current NT code, but it works now so there's no need to fix it for the time being.
It just seems like a waste of resources to completely re-engineer Windows to make efficient use of virtualization that still presents a consistent user interface.
// file: mice.h
#include "frickin_lasers.h"
One of the hallmarks of Web 2.0 is that the consumer is also a producer.... Apply that to porn? Gasp!
Gartner or no, it seems unlikely that Microsoft would be able to sufficiently modularize Windows in order to do this even if they did agree it was a good direction to go. Modularity and separation of problem domains haven't really been Microsoft's strong suit, have they? I'm thinking, for instance, of how Windows Explorer locks up while waiting for a device (CD drive, network connection) to respond. There are good reasons for not mixing UI and device communications on the same thread, and yet they didn't even bother to separate them in the main user interface to the OS. (Well, they hadn't as of XP, anyway -- 18+ years into developing the OS.) That's just one example of a failure of modularity in Windows. The usual path they seem to follow, be it the message pump (remember when it was one pump for the OS and all apps?) or Internet Explorer, is to go monolithic and only modularize when the monolith fails. Not commenting on the good or bad of that strategy (that would be a different flame wa^H^H^H^H^H^H^H^H discussion), but it gives insight into their approach to software development, one which is not particularly friendly to Gartner's ideas...
So, when's Linux going to take advantage of the hardware virtualization?
Sarcasm duly noted. Still, I think it should be mentioned that the problems Gartner claim will be solved by this use of virtualization can be solved in other ways than virtualization, and in Linux sometimes are. For example, the kernel and GNOME (or KDE) are separate entities, developed separately, and runnable separately - you can use different kernels with GNOME - e.g. BSD, and you can use KDE/Xfce/etc. instead of GNOME. Perhaps Windows would be easier to maintain and improve if things weren't tied-in as they are, the most famous case of which is perhaps IE.
I really don't see where hardware virtualization used to compartmentalize an OS is a better idea than correct modularization of the OS (which includes choosing the runlevel for the various parts, i.e. it may use 'virtualization', in a sense). Am I missing Gartner's point somehow?
Someone tell me what qualification Gartner analysts have in predicting the future of OS research? To me, this looks like BS, virtualization is a tool for a different problem. But if these analysts have a PhD in OS design, maybe I could believe it. But come on, they are disputing with MS what MS is going to do. Mostly MS doesn't know what it is doing, how Gartner can know more... . Argh..
This is complete BS. Microsoft would love nothing more than to have Windows be a modular snap-together, snap-to-upgrade, easily patched model like this. But to do it properly will require a good decade of work, and a complete redesign of Windows.
Windows as it is designed today is monolithic. You can't separate one layer from another in the "dreamy" way that Gartner is wishing for. The irony is that Netscape once used the term "spaghetti code" to describe the pre-Mozilla rewrite. The same could be easily used to describe Windows in it's current condition.
Gartner analysts often amaze me. I've met a few who deserve the respect of people in the industry. But I've met many more who have an amazing talent for talking out of their bottoms about technology they don't understand. Analysts have the best job. They get to make crack-filled predictions about the future. And nobody ever calls them on them, because in 3-5 years, when it hasn't come true, nobody remembers it, and the analyst is there preaching some hazy, totally new vision of the future (that probably contradicts their earlier "prediction").
Which is what is happening at Microsoft.
Yeah, cus EVERYONE had a computer back before Windows 95.
Cheap, ubiquitous computers largely coincide with Microsoft's support for cheap 3rd party hardware combined with a good-enough operating system.
Someone else MIGHT have come along to fill the void if they hadn't been there, but there's no proof that it would have happened, and certainly no proof that they set computers BACK 10 years. (Do you even REMEMBER what computing was like 10 years ago?!)
>>"But Microsoft tends to keep backwards compatibility for a long time"
Yeah--mass market kind of appreciates that. I suppose you'd prefer that the techno-elite (who have large budgets for new hardware AND software) have their own technology platform with no way to connect to, or pass files to the rest of the world? I mean, it'd be HORRIBLE if the guy using a 3 year old computer at home could bring his documents to work and use them on his brand new computer. (?!)
* Windows came on a few floppy disks?
* The primary job of an operating system was to launch user applications, not to assimilate them all?
The reason windows is so big and complex is not because it needs to be. In fact the most efficient OS's are the smallest ones.
Its all because of marketing. Microsoft has to keep adding bullshit to their os that slows it down and makes it consume ever more CPU/RAM/HD just so they can claim it does more, in order to sell it to you all over again.
I bet there's only like 1% of us that even know all the 'features' in windows, let alone actually use them.
I wish Microsoft would allow you to selectively install the basics, just like most linux distros already do.
Ballmer used to call this "strategic complexity". As Ballmer once put it, when asked why Microsoft kept adding functions to Windows, "If we stopped adding functions to Windows, it would become a commodity, like a BIOS. And Microsoft is not in the BIOS business".
There's no technical reason why an operating system has to be as bloated as Windows or Linux. Integrating Internet Explorer into the operating system was a business decision, not a technical one. And all that really meant was that IE's code was split up into various DLLs.
Technically, the "big OS" problem results from operating systems with poorly designed interprocess communication. When it's much easier and faster to call the kernel than another program, there's too much of a temptation to put stuff in the kernel. Both pre-NT Windows and UNIX had terrible interprocess communication systems, which is how we got to the mess we're in now.
On top of that classical problem, we now have the "DRM must be in the kernel" problem. DRM is really messing up operating system architecture. "Video streaming" crap is in the kernel, which means codecs with too many privileges and inevitably, codecs as attack vectors. Games want to have "drivers" to enforce their DRM. Even the iPod service wants privileged code in Linux. That has to stop.
You start with about 20MB install image, and add on what you need from there. That's why it's so popular for old boxes, servers, base for other distros, etc.
If you need virtualization to "unbundle" it into modules, then something's seriously wrong with the overall design... or you're not actually unbundling it.
I mean, when I think about "unbundling" Windows, I think about something like this:
* Windows NT "core" - NT kernel, the Win32 subsystem, Windows explorer and registry editor and the other associated utilities needed to boot to a desktop with no bundled applications or enhancements.
* Windows Network "core" - Windows firewall, Windows Networking, TCP/IP, and associated utilities. Depends on the Windows NT core.
* Windows Graphics "core" - DirectX 2d and desktop enhancements that use them, Aero, Windows XP effects and transitions, and utilities. Depends on the Windows NT core.
* Windows Web "core" - The HTML control, HTTP and other internet protocols, Internet Explorer and Outlook, and the associated utilities. Depends on the Windows Network core.
* Windows Media "core" - Windows Media Player, CD and DVD burning, and associated utilities. Depends on the Windows Web core and the Windows Graphics core.
* Windows Gaming "core" - DirectX 3d support, Windows 9x compatibility support, and associated utilities. Depends on the Windows Graphics and Network cores.
* Windows Access "core" - Interix, Remote Desktop, Telnet, FTP and other legacy protocols, User Switching. Depends on the Windows Graphics and Network cores.
* Windows Office "core" - Active Directory, RPC, SMS, all the "Pro" versus "Home" stuff. Depends on the Windows Networking core.
I mean, Windows is designed from the ground up to be divided this way. They sell embedded versions of Windows NT that work this way, and Windows CE uses the same basic API with a different set of libraries... you can even develop for CE on Windows and run CE applications under Windows with the right DLLs.
So I don't believe they need virtualization to make Windows "modular", the monolithic nature of desktop Windows is a marketing decision... not a technical one. By virtualizing, they get to sell you multiple copies of Windows for one computer. No wonder they want to go that way... it's more a wonder they took so long to catch on!
Don't forget all those Linux/Apache servers that deliver the porn.