

- #Virtual machine ctrl alt delete drivers#
- #Virtual machine ctrl alt delete driver#
- #Virtual machine ctrl alt delete windows#
Windows requires the Ctrl+Alt+Delete combination to change the password.īut if you're running Linux and use Remote Desktop, the ++ combo results in a command to the Linux OS. But what if you need to change your password? The Windows settings might require you to send ++ instead of clicking a button: The Change button is greyed out. That’s because the problem was usually that a program got wedged into an infinite message loop, so most of the CPU was being run in the stuck application anyway.Depending on your organization, you might work remotely on a Windows system, using Remote Desktop. This was, in theory, random, but in practice it often guessed right. ¹ This setting was intended for developers to assist in debugging their programs because if you went for this option, the program that got terminated is whichever one happened to have control of the CPU at the time you hit Ctrl+ Alt+ Del. (This is safer than just pushing the reset button because the restart would flush disk caches and shut down devices in an orderly manner.) Or you could skip the check whether the 16-bit kernel scheduler had set the byte to 1 so that you could use Ctrl+ Alt+ Del to terminate an application even if it wasn’t hung.¹ There was also a setting to restart the computer upon receipt of an NMI, the intention being that the signal would be triggered either by a dedicated add-on switch or by poking a ball-point pen in just the right spot. For example, you could say that Ctrl+ Alt+ Del always restarted the computer rather than terminating the current application. “It was like that when I got here.”īonus chatter: There were various configuration settings to tweak all of the above behavior. I should point out that I didn’t write any of this code. The stuck application exits, the kernel regains control, and hopefully, things return to normal. Everything looks like the application simply decided to exit normally. This time, the kernel is making the exit call on behalf of the stuck application. If you hit Enter, then the 16-bit kernel terminated the application by doing mov ax, 4c00h followed by int 21h, which was the system call that applications used to exit normally.
#Virtual machine ctrl alt delete driver#
Maybe the device driver put an Abort, Retry, Ignore message on the screen that the user needs to respond to. If the “call me back once the critical section becomes available” callback was never called, then the problem is that a device driver is stuck in the critical section. (Why ¾ seconds? I have no idea.)Īfter ¾ seconds, the virtual reboot device looked to see what the state of the machine was. When you hit Ctrl+ Alt+ Del, the virtual reboot device set the byte to 0, and it also registered a callback with the virtual machine manager to say “Call me back once the critical section becomes available.” The callback didn’t do anything aside from remember the fact that it was called at all. One of those magic things was a special byte that was set to 1 every time the 16-bit Windows scheduler regained control. When the 16-bit Windows kernel started up, it gave the virtual reboot device the addresses of a few magic things.

Otherwise, the focus was on a Windows application.
#Virtual machine ctrl alt delete drivers#
If you were using an MS-DOS program, then it told all the device drivers to clean up whatever they were doing for that virtual machine, and then it terminated the virtual machine. It was short for virtual x device.įirst, the virtual reboot device driver checked which virtual machine had focus.

That’s where the funny name VxD came from. By convention, all drivers in Windows 3.1 were called the virtual something device because their main job was to virtualize some hardware or other functionality. All this work was in a separate driver, known as the virtual reboot device. When you hit Ctrl+ Alt+ Del in Windows 3.1, a bunch of crazy stuff happened. But there is only one synchronization object (the critical section), and it already owns that. The nice thing about a system where the only available synchronization object is a single critical section is that deadlocks are impossible: The thread with the critical section will always be able to make progress because the only thing that could cause it to stop would be blocking on a synchronization object. It was called “the critical section”, with the definite article because there was only one.

The Windows 3.1 virtual machine manager had a clever solution for avoiding deadlocks: There was only one synchronization object in the entire kernel. This is the end of Ctrl+ Alt+ Del week, a week that sort of happened around me and I had to catch up with.
