Friday, April 22, 2005

Feedback to Microsoft: Windows cannot chew gum and copy large files at the same time

There is one very simple scenario in which Windows sucks, and there should be a simple solution for this: copying large files.

Just try doing something else while you copy a really large file (for instance a CD image). If your system is like mine -I have a Pentium 4 at 3.4GHz with Hyper-threading, and still a 7200 RPM ATA100 disk with 2MB cache (and a 74 GB Raptor coming really soon!)- you will probably want to go for some coffee. Because the computer will get on its knees.

This happens if you do it from Windows Explorer or from the command line, to the same disk, between two disks, to or from a network disk, inside the same partition or between two different partitions. You can experience this on Windows XP or on Windows Server, regardless of the "Processor Scheduling" setting.

You will not see a culprit process listed on Task Manager, so you cannot downgrade its priority. There is no way to pause a file copy, so you better plan on advance and call a friend to have the coffee together.

Chances are that if you use SCSI or SATA with some kind of instruction queue you will see better performance. But I bet it will still be annoying.

So, what use is a multitasking operating system that cannot multitask?

What I suggest is:

  • Throttle disk activity. Nothing should disrupt a decent client or server operating system from servicing user requests on a timely manner. Think QoS. Think how easy it is to perform a DoS attack on a Windows based Terminal Server today.

  • Improve file operation progress dialogs, providing controls for assigning different levels of priority and for pausing. Do you really think that the cancel button is enough? Similar options should be added to the command line.

I can think of many other things, but if they only implemented these two, it would be great.

Do you know of an existing solution for this? How other operating systems handle this scenario. Thanks.

No comments:

Moving to MSDN

I haven't decided yet, but it is very likely that I will stop blogging here for some time. For some background, I have moved to the sate...