• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Why is Windows allowed to freeze while waiting for a process??

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

orion456

Member
Joined
May 31, 2004
Many times during the day, while using winXP or win7, it suddenly stops responding while it waits for an IE page to complete, or it waits for some program to install or some process to respond. In some cases only the mouse will work, everything else is frozen. You can't open other windows, clicking on icons does nothing, you can't even open MyComputer or the START menu. If it happen to have Task Manager open, you can clearly see that the processes are sitting at 99% idle and the performance meter show little or no CPU activity. Then suddenly, the IE window will complere and the 6 icons you clicked on activate and open simultaneously.

Why is Windows allowed to do this. Why is it not multitasking? Why can't a multi-CPU system conduct other work while windows waits for what ever its waiting for. Why must I be held hostage while my computer does something (which isn't CPU thinking). You would think by Win7, this crazy performance would be fixed...but it isn't!

In short, WHAT AM I WAITING FOR?? Why aren't I in control of my own machine? Why does Windows think, what ever it is doing, is more important than responding to my request to perform a simple task like looking at another IE window? :bang head
 
First, I will say that there is definitely an issue. I'd be checking the hard drive, disabling programs that may cause issues and likely reinstalling Windows.

It depends what it is doing. If you have multiple threads waiting for disk I/O, none of them can do anything until the data is received or the process is terminated. The same goes for any other resource (CPU, RAM, disk, network, etc).
 
I've just recently begun using Win 7 on my daily box, after using Debian[mostly] as the main OS, these past 5-6 years; although not quite as severe as you describe, I have noticed that multitasking doesn't 'seem' to be Win 7's strong trait.
Purely my personal reflections, not based on any empirical data whatsoever.
 
It doesn't seem terrible to me, but thideras is right - you're not waiting on the processes to do something, you're waiting on the necessary data to become available. Before a process can start executing (using CPU time) all of its resources need to be memory-resident. Typically you're waiting on disk I/O to load code or data into memory, and there's nothing a thread can do while it waits for that.

Do you have a SSD yet? :)
 
Is this similar to QoS (quality of service) in networking?
I don't believe so. QoS works to prioritize certain types of traffic over others - this is simply a matter of waiting for data to be available for processing.

If you want a network analogy, this is like getting mad at the browser for not rendering the page while it's still waiting for the server to respond. :)
 
Haha okay that works. :)
I noticed that internet explorer 9 is good at dealing with this problem. When one page freezes up, instead of messing up the entire program it just kills that one page and you won't lose the rest of your tabs. That was a good feature for Microsoft but I'm still an avid FireFox user.
 
If you want a network analogy, this is like getting mad at the browser for not rendering the page while it's still waiting for the server to respond. :)

True but it shouldn't stop me from opening another tab, inserting a different url and go to a different page. If Windows is waiting for something fine...wait. But don't lock me out from doing something else. Just sayin.
 
True but it shouldn't stop me from opening another tab, inserting a different url and go to a different page. If Windows is waiting for something fine...wait. But don't lock me out from doing something else. Just sayin.
That depends solely on how the program is designed. If there is only one thread (or all threads have to wait for a main thread/process), lockups can happen. They can't just insert a variable called "WorkWhenLockedUp" and set it to "True". A complete program redesign would have to be done.
 
That depends solely on how the program is designed. If there is only one thread (or all threads have to wait for a main thread/process), lockups can happen. They can't just insert a variable called "WorkWhenLockedUp" and set it to "True". A complete program redesign would have to be done.
Right. It's really an architectural issue, and not one that's easy to solve. Asynchronous requests are much more difficult to coordinate. If I send all of my threads off to do something, and they have to wait for it, it's not a simple matter to redirect them in the meantime while they're waiting.
 
I found the issue... First line:

... it suddenly stops responding while it waits for an IE page to complete...

Try a new browser. I also don't know the specifications of your system, but even my relatively slow and old quad core system (relative to the newest hardware) can easily handle 30+ tabs and other programs at once.
 
If you want a network analogy, this is like getting mad at the browser for not rendering the page while it's still waiting for the server to respond. :)

Not quite. The true problem is not being able to do anything else within the broswer (and sometimes the OS) until the page has loaded. When waiting for elements to download, it should not lock up your browser or computer from other tasks.
 
Maybe I'm just picky but I find this happening on several machines using IE or firefox as well as winxp and win7. The reason I posed the question was a colleague asked me why Windows freezes and won't give you access every so often, sometimes for a significant time frame. So he was experiencing the same problem. In his case, it was refusing to shut down some windows so he tried turning the machine off, and it refused to do that too, until it finished with the open windows and then shut down complerely 10 minutes later.

It's an intermittent thing, sometimes won't happen for hours, sometimes will happen several times in a short period.
 
Not quite. The true problem is not being able to do anything else within the broswer (and sometimes the OS) until the page has loaded. When waiting for elements to download, it should not lock up your browser or computer from other tasks.
I think you misunderstood - it was confusing of me to use a browser analogy in a thread complaining about a browser.

Complaining about threads not doing anything while waiting for I/O is like complaining about a browser not rendering anything while it's waiting for its request to be served.
 
I think you misunderstood - it was confusing of me to use a browser analogy in a thread complaining about a browser.

Complaining about threads not doing anything while waiting for I/O is like complaining about a browser not rendering anything while it's waiting for its request to be served.

Your analogy makes perfect sense, just not in this case.

It makes perfect sense that a browser does not rendering a element (or page) if its still waiting on elements of the page to download (your analogy).

It does not make sense (in this day and age with multi-core cpus and "multi-tasking" OSs) that you would be unable to access any other tabs, or your OS, or perform any other tasks while the browser is waiting for some elements to download and render (my example).

Unless I'm interpreting your analogy incorrectly (or you're just using a inaccurate analogy), your analogy just doesn't fit with the problem at hand.

Btw, the problem seems to manifest itself very often @ Homedepot.com. On both my PC and my laptop, while its loading up a page (more often after a search result), the browser is unresponsive for that brief period of time.

Other (less noticeable) similar problems: A page is being loaded and the side scroll bar has been resized accordingly for the page. However, no matter how much you try to scroll the page down (or up), it will not do so until the page in its entirety has been loaded. I've even had the usual "(not responding)" pop up in the title bar when this happens. Can't switch tabs, can't minimize, none of the menu options work, and even the window that pops up telling you a program has stopped responding asking you if you wish to wait, or close it will pop up eventually.
 
It sounds like you're having a different problem, then. Your system shouldn't be doing that. You seem to dislike Microsoft, so I'm assuming you're using a linux distro or OS X? I'd be surprised if either of those was exhibiting the behavior you're describing. I know it doesn't happen to me on Ubuntu, Windows 7, or OS X, though I typically use Firefox and/or Chrome on each of those systems.

All I'm trying to say by way of the analogy is that, in general, if a thread is blocked waiting for data there's not a whole lot it can do. And even with multi-core hardware and an operating system to manage it, if a process responsible for a certain task gets blocked for one reason or another, it must stop until whatever's blocking it is resolved. That doesn't mean other processes can't continue doing what they're doing, though, and it doesn't mean the discussion of threads and things that block them is relevant to this discussion, so I might be off base there...

Anyway, I'm a little confused as to why you're so adamant about my analogy not fitting. You arrived in the thread after I made it, didn't describe your problem until just now, tried to somehow fit it to the issue you're experiencing, and now you're convinced it's incorrect for this case. I didn't make it for you. :)
 
A few things to add...first, I've had some problems with IE9 where it will freeze up at random - Chrome / FF have no issues with the same pages. I have noticed this on multiple machines (branded and ones I have built) that have IE9 installed and being used.

With regards to IE and Windows locking up simultaneously, functions of IE and Windows Explorer are tied together, which should explain why you experience Windows locking up when IE has an issue. The quick and easy solution is...don't use IE or use IE8 for now.
 
Back