Wednesday, July 14, 2021

Windows 11 is change, which is not new

Microsoft announced Windows 11, and with it a set of requirements for the hardware that is required to run Windows 11. This is not new; all versions of Windows have had a list of "minimum required hardware". Yet some folks are quite upset about the requirements. Why are they so upset?

Looking back over the history of PCs (and going back the the first IBM PC, before the days of Windows), we can see a steady pattern of improvements to hardware and operating systems that took advantage of those improvements. New versions often required better hardware.

The first IBM PCs came without hard disks, and floppy disks were an option. DOS, the PC operating system before Windows, required floppy disks. IBM's PC XT included a hard disk, and DOS version 2 took advantage of the hard disk. (And was required to use the hard disk.) One could run DOS 2 on a floppy-only PC -- if you had enough memory -- but it provided little advantage. Systems with insufficient memory were not supported.

Windows 3.0, the first version of Windows to achieve popularity, would run on a PC with an 8088 processor, but it required a hard drive, and the multimedia operations required an 80286 processor and a CD drive. Here we see that older, less capable systems, are not supported.

Windows NT and each of its successors have set requirements for processor, memory, graphics, and disk space. Windows 2000, Windows XP, Windows Vista, Windows 8, and Windows 10 all have requirements for hardware.

So we should be used to the idea that new operating systems will not support older systems.

But I keep coming back to the question: why are people so upset about this version of Windows? What is it with Windows 11 that makes people complain?

I can think of several reasons:

First, this announcement was a surprise. Microsoft has, for the past several years, released Windows 10 and kept the hardware requirements unchanged. Those requirements allowed for a broad swath of PCs to run Windows 10. (I myself have PCs from 2007 and 2012 that are running Windows 10.) There has been nothing in the messages from Microsoft that Windows 10 would be replaced, or that hardware requirements would change. Until now.

Second, the new requirements have dropped support for a lot of PCs, and perhaps folks are still using these older PCs. By raising the hardware bar for Windows, Microsoft has declared some (okay, lots of) PCs are "unworthy". If a person happens to have one of those PCs, they may consider this an insult.

But the reason I truly suspect is a different one.

Past updates and changes to hardware requirements have had clear benefits. When Windows/386 wanted a VGA card, we understood that the graphics capabilities of earlier video cards were not sufficient for the desired experience. When an operating system required a 16-bit card for the network interface, we understood that the transfer speeds of the older 8-bit cards were not sufficient. When Windows NT required an Intel 386 processor, we understood that the older 8088 and 80286 processors were not sufficient to provide multitasking the way we wanted it.

With past upgrades, we understood the reasons for the required hardware. That's not true with Windows 11.

Windows 11 needs a certain amount of memory and disk space; that's understood. It also needs the TPM 2 chip; we understand that. But Windows 11 has requirements for a certain, not-well-understood subset of Intel processors. (It's not clear that Microsoft understands the subset, either.)

Part of the problem is Intel's product line. Intel has gobs of processor models. It has so many that the old names of "8088" and "80286" or "Pentium 1" and "Pentium 3" don't work. Instead, Intel uses letters and numbers, something like i7-6550 and i5-5204. (Those aren't real models; I made them up. Or maybe they are real, maybe I hit on actual product numbers. But you get the idea.)

Intel has shipped, over the past decade, possibly thousands of different processor models, each with  different features. Most people don't care about most of the differences. The typical person looks at the processor clock speed and the number of cores, and little else. Hardware enthusiasts and game players may look at socket type and cache size.

Only the folks who write operating systems and low-level drivers go beyond those to look at the arcane aspects of the different processors. Those aspects can include the handling of interrupts, privileged execution of certain instructions, fixes to errors in the instruction set, virtual memory, and virtual machines.

It is these differences that are important to Microsoft. Windows has to work with all of those processors. It has to handle the quirks of each processor. It has to "know" that it can trust an instruction on some processors and not trust it on others. All of those quirks add up, and they can interact in strange and subtle ways.

On top of that, Microsoft has to test each of those configurations (preferably on real processors, not simulations). That means that Microsoft has to maintain a large collection of hardware.

By limiting the processors to those designed and shipped in the past three years, Microsoft eliminates the older processors and in so doing reduces the variation that they cause. The reduced set of processors allows for (relatively) simpler code for Windows, and a simpler test process.

But none of this is obvious. Microsoft has not said "we're limiting the supported processors to those we can test on", nor have they said "we're limiting the supported processors to those that have these (insert arcane aspect) features".

All we have is a vague announcement. (And I will say that the whole "Windows 11" announcement seems rushed. It doesn't have the depth and details of previous announcements from Microsoft. But that's another topic.)

That vague announcement does not give us understanding. And because we don't understand the reasons, we resent the change. That's basic psychology.

I will close with a few thoughts:

- Microsoft, I think, has thought about Windows 11 and its requirements, and has made a good decision.
- That decision is not available to us, so we see the change as arbitrary.
- It is easy to resent what we do not understand.
- Microsoft was probably surprised by the reaction to the announcement, and may be working on more announcements.
- While I don't understand Microsoft's decision, I have faith that they have a good process.

A poor message can hide a good process; let's wait for more information.

Also - Microsoft is not alone in changing hardware requirements. Apple has done so with every new version of macOS (I think). Even Linux drops support for older systems. I have an old 32-bit MacBook running Ubuntu 16.04 with no way to upgrade because Ubuntu now requires 64-bit processors.

No comments: