Computable Minds -

Shutting down Windows and the halting problem

Posted on: Dec, 21st 2010
End Task
When we shutdown the computer, the operating system send a message to all the applications to end them. If some don't finalize, in the case of Windows XP, appears a window with a progress bar that advance slowly and makes us wait with the message "Ending Program". A better option, is press in "End Now", because the timeout that shows, simply is for leave the time pass, not for do something. Read the rest of the post if you want to know how shutdown faster your computer.

A computer doesn't can resolve any problem. There are problems that aren't computable and one of them is the halting problem, although for some cases there are solutions. The halting problem consist in calculate if an algorithm will end or not. Technically, the halting algorithm, is expressed as the algorithm that check if another algorithm will end, returning a one, or will not end, returning a cero.

The basic way to know if an algorithm will end, is waiting to the end of it and, how the time could be infinite, never will know how much time will have to wait to get the solution. Therefore, isn't computable for all the cases due to temporal limitations.

Ending Program Window

What does the operating system when have to wait that a process ends? It can't know if it is in a infinite loop, if will arrive to end its processing, if it's waiting to that other process release resources that it needs or if it doesn't want end because simply it doesn't want. Is that to say that can't resolve the halting problem, for that reason the operating system waits 5 seconds and if the process doesn't end, shows a progress bar, to make us wait 20 seconds more, while we are thinking ... "Shutdown now! I'm hurry". For that, in general isn't a good functionality, especially for those that have some process that always causes the launch of this message in the shutdown.

If you want deactivate this functionality, you can edit the Windows registry in the following way (only for Windows XP):

1. We access to the registry with "Start->Run" and we write "regedit"

2. We go to the path [HKEY_CURRENT_USER \ Control Panel \ Desktop] and we change the value AutoEndTasks by a 1. Next, a detailed explanation of this:

AutoEndTasks = This value with a 0 makes that Windows waits to them of the applications, the time specified by "HungAppTimeout". Put a 1 to end with all directly (asking the user for the files don't saved). Optionally we can leave it to 0 and change the following values:

HungAppTimeout= Time that waits before to show the window "End Program" (by default 5 seconds).

WaitToKillAppTimeout= Time that waits in milliseconds of the progress bar of the window "End Program" (by default 20 seconds).

MenuShowDelay= This is other silly wait time, if we put it to 0, when we pass the mouse over the options of the start menu, we don't have to wait to that appear the next menu.

At last, don't forget reboot and if someone knows how to make the same in Windows 7 or Vista, please, leave a comment.

Comments (0): Comment


Copy and paste in your page:

How about you!? Don't give your opinion?

Replying to the next comments:

To check if you are human answer the question correctly:

I don't like this question, change it!

None of these data will be stored.

(Write the e-mail)

Required field.

(Write the e-mail or several e-mails separated by coma)

Required field.

To check if you are human answer the question correctly:

I don't like this question, change it!

Daiatron on Google+