Windows could use rush of fresh air
Beginning as a thin veneer for older software code, it has become an obese monolith built on an ancient frame. Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly, all while maintaining compatibility with older software and hardware — is there anything Windows doesn’t try to do?
Disaster! Run for the hills! Microsoft is trying to do the bare minimum you have to do with a commercial operating system!
Painfully visible are the inherent design deficiencies of a foundation that was never intended to support such weight. Windows seems to move an inch for every time that Mac OS X or Linux laps it.
The oldest 'base' for Windows (if you could distill it down that way) is the NT source code. That was designed from day one to be as future proof as you can make an OS. (Trying to future proof software over more than a decade is like trying to predict the weather at 2pm, on the 4th of July 2045. Windows is pretty modern, just like everything else out there. I can't really think of any ancient technology in Windows that is beyond salvage; everything important that needs to be overhauled can be overhauled, and has been. (Hit that Comment button if you disagree. I'm not saying everything in Windows is perfect. It isn't. I just don't think we've painted ourselves into a corner anywhere with the OS design.)
The best solution to the multiple woes of Windows is starting over. Completely. Now.
Ah yes - the wonderful lets-start-over argument. Every developer gets to this idea at some point. Good developers think of ways that they can take what they have, and radically improve it.
Vista is the equivalent, at a minimum, of Windows version 12 — preceded by 1.0, 2.0, 3.0, 3.1, NT, 95, NT 4.0, 98, 2000, ME, XP. After six years of development, the longest interval between versions in the previous 22-year history of Windows, and long enough to permit Apple to bring out three new versions of Mac OS X, Vista was introduced to consumers in January 2007.
That's correct, I guess.
Although XPSP2 was, as a project, the size of a new OS.
And we shipped Windows Server 2003 in that gap. And a lot of 64 bit versions of Windows.
When I.T. professionals and consumers got a look at Vista, they all had this same question for Microsoft: That’s it?
I know what they were trying to say. They're trying to say: Awww yeah, that's it.
The internal code name for the next version is “Windows 7.” The “7” refers to nothing in particular, a company spokeswoman says.
She doesn't use winver. Just like most consumers.
But sticking with that same core architecture is the problem, not the solution. In April, Michael A. Silver and Neil MacDonald, analysts at Gartner, the research firm, presented a talk titled “Windows Is Collapsing.” Their argument isn’t that Windows will cease to function but that the accumulated complexity, as Microsoft tries to support 20 years of legacies, prevents timely delivery of advances. “The situation is untenable,” their joint presentation says. “Windows must change radically.”
Eh, OK. I think I blogged on that before.
Some software engineers within Microsoft seem to be in full agreement, talking in public of work that began in 2003 to design a new operating system from scratch. They believe that problems like security vulnerabilities and system crashes can be fixed only by abandoning system design orthodoxy, formed in the 1960s and ’70s, that was built into Windows.
Unfortunately, this willingness to begin with an entirely new foundation is not located within the Windows group but in Microsoft’s research arm, where scientists and their heretical thoughts are safely isolated. Last April, Microsoft publicly unveiled the five-year-old research project, called “Singularity.” It is nothing more than a neat academic exercise, not a glimpse of Windows 7.
So...Microsoft Research is looking into brand new unproven ways to build operating systems. And we're not using those unproven methods and technologies *today* when we sell operating systems to millions of paying customers? Yes, we suck indeed.
[Mac OS X is] based on a modern microkernel design, which runs a very small set of essential services that make the system less vulnerable to crashes.
Yes, that is a somewhat true point, but distilled down to nothingness by the NY Times editor. (Are microkernel-based designs more robust? The answer is ...er, kind of, based on your definition of modern, microkernel, essential, services, system, vulnerable and crashes. And is.)
In some crucial ways, however, Microsoft would enjoy advantages in developing its own “Windows OS X,” as we might call it, that Apple did not: the power of today’s quad-core machines and sophisticated virtualization software would allow older software applications and hardware peripherals to be used indefinitely with little or no performance penalty, making a clean start far easier for customers to accept.
Sigh. No. Memory is the big problem here - virtualizing Windows Vista in a little virtual box inside of Windows 7 (or 8 or 9 or 10 or whatever) is going to take too much memory.
Quad-core is not going to help you; the bottleneck here is not the CPU; fitting two operating systems into memory is. A simple point like this should be easy enough to explain in the NY Times.
A MONOLITHIC operating system like Windows perpetuates an obsolete design. We don’t need to load up our machines with bloated layers we won’t use. We need what Mr. Silver and Mr. MacDonald speak of as a “just enough” operating system. Additional functionality, appropriate to a given task, can be loaded as needed.
If only there was a way for a bit of software to load bits and pieces of the operating system, as needed...Some API to load a dynamic link library from the disk, into memory, and then call a well-defined API in said DLL. Maybe we can call it...LoadLibrary()?