Linked by Thom Holwerda on Mon 22nd Oct 2007 13:48 UTC
Windows Earlier today, OSNews ran a story on a presentation held by Microsoft's Eric Traut, the man responsible for the 200 or so kernel and virtualisation engineers working at the company. Eric Traut is also the man who wrote the binary translation engine for in the earlier PowerPC versions of VirtualPC (interestingly, this engine is now used to run XBox 1 [x86] games on the XBox 360 [PowerPC]) - in other words, he knows what he is talking about when it comes to kernel engineering and virtualisation. His presentation was a very interesting thing to watch, and it offered a little bit more insight into Windows 7, the codename for the successor to Windows Vista, planned for 2010.
Permalink for comment 279930
To read all comments associated with this story, please click here.
RE[4]: This isnt new
by TemporalBeing on Mon 22nd Oct 2007 20:09 UTC in reply to "RE[2]: This isnt new"
TemporalBeing
Member since:
2007-08-22

In large part, Vista is the beginning of the new code base. Again, MinWin isn't new to Seven. It's there in Vista/Server 2008. A lot of code was rewritten for Vista. They've started to virtualize system resources, and they've mapped/eliminated most dependencies and layering violations, and turned each feature into manifest-backed compoents. They are more agile in what they can add/remove without affecting other components because of this work and the processes put in place during Vista's development.

It isn't a matter of how agile the code is. It's a matter of how much the code itself can take change. Windows, due to quite a lot of reasons (e.g. backward compatibility, competition stifling, incomplete and undocumented APIs, bugs, etc.), is a monolithic code base that is not very easy to change. Revising it, refactoring it is not going to help. The only way you solve that is by starting over.

Starting over is often good for a project too. You lose a lot of legacy code that is not needed, and you get the chance to do it better, more correctly. You can apply newer design and architectural principles and fix things proactively instead of retroactively. (Sure you'll still have stuff to fix retroactively, but they'll be different things than before if you did your job right.)

Every software project will at some point reach a point where it'll have to have its entire code base thrown out and restarted. In many respects, it is really a sign of maturity of the program - you understand the program enough to know how to do it right and you need to give yourself the opportunity to do it. A clean cut is often the only way to do so.

Vista is better in some respects to modularity of parts. However, it is still far from what it needs to be and it has a lot of cruft in it - stuff Microsoft simply can't get rid of unless they start over. Otherwise, they're just continuing in the same paradigm, fixing the same issues over and over.

Reply Parent Score: 1