Quote:
Originally Posted by Shades
But then why can't the OS make use of new features when they are there and not use those features when they're not? Oh, that's just planned obsolescence on the part of the OS, isn't it.
|
Not really. Judging from the system requirements, Windows 8 will run on systems with a Pentium IV or later and Windows 7 will run on a Pentium III or later. In other words, Microsoft was supporting roughly 10 year old processors.
As for selectively using features, that gets messy. Linux gets around the problem by being open source. Distributions choose a target architecture for both the OS and applications, then compile for that target. As long as everything is written in a high level language, and the compiler supports it, it usually works out well. In a few cases they will go as far as implementing missing CPU features in software (such as floating point for certain ARM processors as well as really old Intel processors), but that is an exception rather than a rule.
Microsoft doesn't really have those options. Even though they control the source code for Windows and could probably recompile it to target older processors, they have no control over third-party applications. That would make things confusing for the end user and more difficult for application developers. Some applications would simply refuse to run, since they would be using CPU extensions. Other applications would offer dramatically different levels of performance between two machines, since Windows would be utilizing the CPU extensions in some cases but not in others. On top of that, selectively using CPU extensions means that Microsoft would have to implement a mechanism to do so. While that is very much possible, it would add to both the complexity and cost of development.