In a recent interview at Harvard University, Bill Gates claimed (around 16:35 mark) that Windows uses Ctrl-Alt-Del as a logon key combination because “IBM didn’t want to give [Microsoft] a single button”. This statement is curious because it takes several facts and mixes them into something that is not even remotely true. It may be that Bill Gates never understood the technical details, or it may be that he simply forgot—after all, those decisions had been made 20-30+ years ago. Even otherwise intelligent and knowledgeable people sometimes have bizarre misconceptions about Ctrl-Alt-Del, so let’s attempt to set the record straight.
The IBM PC BIOS
The origin of the Ctrl-Alt-Del key combination on the PC platform goes back to the very first IBM PC and its ROM BIOS (1981). There is nothing special about the key combination as such. The hardware does not treat the keys specially at all. However, the BIOS does.
When the PC BIOS sees a Ctrl-Alt-Del combination, it jumps to the beginning of the POST code and performs a “warm boot”. This normally resets all hardware, but does not perform time-consuming memory tests. It is a convenient way to reset the system, faster than a power cycle and very useful on a machine with no memory protection and a dumb CPU which doesn’t even know what an invalid instruction is.
Modern BIOSes behave in an equivalent manner, although the implementation is much more complex (as is the hardware). What’s important to keep in mind is that when the BIOS is not in control (not processing keyboard input), such as when any protected-mode operating system is running, Ctrl-Alt-Del is just another key combination.
In some operating systems (many PC UNIX implementations) Ctrl-Alt-Del doesn’t do much. In others (OS/2, Windows), Ctrl-Alt-Del does have some special assigned meaning. However, this is done strictly under OS control.
Now fast forward about 10 years from the IBM PC introduction to the time when Microsoft was developing Windows NT, entirely without IBM’s involvement. In the early pre-release versions of NT (October/December 1991), the Ctrl-Alt-Del combination simply rebooted the system, just like in DOS. But in the July 1992 pre-release of Windows NT, things changed:
The Ctrl-Alt-Del key combination now had a whole new meaning. Microsoft decided to turn it into a “security feature”. Besides being required for logging in, for a logged-on user the Ctrl-Alt-Del key combination brought up a security dialog:
The reasoning behind this behavior was as follows: The low-level Windows NT keyboard driver processes the Ctrl-Alt-Del key sequence. Applications are not given a chance to intercept or alter the Ctrl-Alt-Del behavior. This avoids a class of spoof attacks where an application run by a malicious user pretends to be a login screen and steals other users’ credentials.
Why such an odd key combination? For the original BIOS functionality, it makes perfect sense. The Ctrl-Alt-Del combination is difficult to trigger, especially with one hand. This was intentional—since it resets the system without any confirmation, the key combination needed to be something that’s extremely difficult or impossible to trigger by accident.
Understanding the rationale for NT’s choice of Ctrl-Alt-Del as a security key combination is more difficult. There is absolutely no technical reason why Ctrl-Alt-Del had to be used. However, Microsoft no doubt sought a key combination not used by existing applications, including DOS applications. Ctrl-Alt-Del fit the bill. Another possible reason could be that users were familiar with the key combination, especially since Ctrl-Alt-Del performed similar “escape” functionality in Windows 3.x.
In the interview, Bill Gates mentioned some of the rationale for NT’s use of Ctrl-Alt-Del, but got it slightly wrong: “… you want to have something you do with the keyboard that is signaling to a very low level of the software, actually hardcoded in the hardware, that it is really bringing in the operating system you expect”.
Low level of the software (Windows NT), certainly. Hardcoded in the hardware, absolutely not. From the hardware’s point of view, Ctrl-Alt-Del is not special at all. It would be interesting to know where this misconception came from.
Bill Gates also said: “… we could have had a single button, but the guy who did the IBM keyboard design didn’t want to give us our single button…”. This statement is nonsensical on several levels. Bill Gates makes it sound like IBM designed the PC for Microsoft, when in reality Microsoft was just an (important) IBM contractor. And when Microsoft developed Windows NT, IBM wasn’t designing hardware for NT, it was the other way around—Microsoft designed NT to run on PC compatibles. The statement is fairly typical of Microsoft’s self-aggrandizement.
On top of that, IBM simply had nothing to do with the decision to use Ctrl-Alt-Del in Windows NT. There was nothing forcing Microsoft to use the combination, certainly nothing in the PC hardware. Microsoft could have decided to use a single key, although it would have been difficult to find one on the existing PC keyboards. Certainly other key combinations could have been used. At any rate, somehow trying to blame IBM for NT’s use of Ctrl-Alt-Del is just silly.
It is interesting to observe how Bill Gates on the one hand almost takes credit for creating the PC, and at the same time blames IBM for a decision made purely within Microsoft.