Optimizing I/O on Windows

5,134

Solution 1

The bottleneck here is the harddrives - as you mentioned - but it isn't the concurrent problem you describe. It's the fact that hard-drives are many, many times slower than RAM.

If you want to speed up your computer:

  • buy more RAM - like, 4GB, because 2GB is basically the bare-minimum standard nowadays
  • buy the fastest HDs you can - 7200RPM, I believe

But if you want to "spread out" your OS, you can do this via striping across the disks. Check out RAID to learn more, as in general, this kind of striping is done to replicate data for the purposes of HD failure. http://en.wikipedia.org/wiki/RAID

  • I'd also recommend swapping your Duel Core for a Core 2 Duo, they are much better

How It Memory Works

Your computer will store as much as it can on it's RAM. This is so that when it needs any data, whether it be a file or instruction, it can simply look at it's internal memory for a super fast response. If that data isn't in memory, it has to go to the HardDrive to fetch it. This takes a lot of time, as physical devices are slow.

When the computer fills up it's RAM, it has to store some of the stuff back onto the HD and fetch the new things it needs from the HD and put it on RAM. If you're running a gigantic program or doing lots of things at once, you run into a place where your computer is constantly shuffling things from RAM to HD, because your working set of memory(the things you really need and are using) doesn't fit on RAM anymore - this is called thrashing, and you hear your HD being noisy and your computer will be quite slow and sluggish.

So, the more RAM you have, the more stuff you can fit into super-fast memory (rather than fetching it from your HD), the less waiting you have to do for the HD, and the all-around faster your computer will be.


To answer your questions:

Would it be a good idea to spread the I/O across several hard drives

For the purposes of speeding up your computer, you really won't see that much of a difference. Buying more RAM is the most effective solution.

If you're backup-conscious, RAID isn't a bad idea at all and will achieve what you're going for.

Is this possible on windows based operating systems

Yes, but it's more common to do it physically and is controlled in the BIOS. See this howto : http://www.pcmag.com/article2/0,2817,2249572,00.asp

Is there any other ways that can speed up I/O

In order from cost-effectiveness:

  • buy more RAM
  • buy a better processor
  • buy 7200RPM disks

Solution 2

If you mean hold one drive for the Operating System and another for all the Data Storage, you can do this.

All you need to do is install Windows on one Hard Drive, and then once your in Windows just simply go to C:\Users\**USERNAME** and you will be presented with all your user folders, just right click each one and go to properties. and go to Location, change the location to that of the second Hard Drive, e.g if your second drives letter is H, then to change the Documents folder location just use H:\Documents

This will perform all data storage on the second drive while all operating system I/O will be done on the OS Drive.

edit:

To move a location of other Windows folders, consider using the mklink command of windows

Here's a simple tutorial on how to do this: http://windows7themes.net/windows-7-mklink-command-use-to-create-symbolic-links.html

You may face an error if you were to do

mklink /J "C:\Program Files" "H:\Program Files"

as it's complaining about C:\Program Files existing.

Here's a possible way you could go around this issue: http://tuts4tech.net/2009/08/05/windows-7-move-the-users-and-program-files-directories-to-a-different-partition/

Share:
5,134

Related videos on Youtube

RobertPitt
Author by

RobertPitt

I am a 21 year old programmer who is still learning the major parts of programming such as Architecture, I hope I can learn from her and help others in the mean time !.

Updated on September 18, 2022

Comments

  • RobertPitt
    RobertPitt almost 2 years

    Im currently building a new PC, the specification is below:

    • Windows 7 Ultimate
    • Intel Core 2 Due 2.6
    • 2GB Ram
    • Hard Drives
      • 150GB Sata
      • 180GB Sata
      • 200GB Sata
    • 512MB Express GFX Card

    Now my question(s) mainly relate to the hard drives, most of you guy's will know that the major bottle neck of a computer is the hard disk, the fact that it has 1 needed it cannot read / write from 2 places concurrently.

    Im trying to speed up I/O of the hard drives and this is a learning curve for myself but i think the question is plausible but im not sure about other factors that may effect what im thinking about doing.

    As I have 3 hard drives im wondering if I can spread a windows operating system across multiple hard drives, so that the bulk of the OS (Program Files) would be placed on a separate drive, thus spreading the I/O Bottleneck out to reduce the load.

    Now I understand that Linux distributions do this, such as the Home Folder can be placed on a separate HDD.

    • Would it be a good idea to spread the I/O across several hard drives
    • Is this possible on windows based operating systems
    • Is there any other ways that can speed up I/O

    as stated above, this is not something that I need to do on this computer, but it's something I would like to know how to do if it's possible.

    Regards


    oine possible solution I have read about is that after Windows 7 Has installed and your at the "Create Users" screen, if you hit Shift + F10 you will get a Command Prompt, you can then do the following:

    • Make your partitions on your hard drives.
    • Copy all your files from User data and Program Files to the new locations
    • Open Registry Editor and change a few key's to point to the new locations
    • Continue to create the user's and should be all ok.
    • rlb.usa
      rlb.usa about 13 years
      Can you tell us more of what you're doing? Based on some of your answers it sounds like your concerns aren't based around the average user checking email and running solitaire.
  • rlb.usa
    rlb.usa about 13 years
    It might be more practical to simply use an external harddrive for personal storage (and your internal HD for system files + programs) if you're going to do this.
  • RobertPitt
    RobertPitt about 13 years
    Well this method work's but it's only available for folders within the user data, i would like to focus on Program Files as this is one of the main I/O Points of a system.
  • Sandeep Bansal
    Sandeep Bansal about 13 years
    OK I get you, edited my answer to show how to add aliases for routing folders to another location. Also I would recommend a SSD if you want to omit the HDD Bottleneck
  • RobertPitt
    RobertPitt about 13 years
    Please stop emphasizing on RAM, my question has nothing to do with RAM, it's purely disk I/O, +1 for the other tip's
  • RobertPitt
    RobertPitt about 13 years
    +1 for the MkLink, this is how I would want to achieve it within Linux, will take a look at that.
  • rlb.usa
    rlb.usa about 13 years
    Disk I/O is slow. It's just slow. There's really no way of getting around that fact. You can tweak and twiddle all you want, but at the end of the day, you're not going to see any real noticeable differences.
  • RobertPitt
    RobertPitt about 13 years
    I understand that, but it also play's a role in organizing my data, im a perfectionist and would like to set this kind of system up to 1. spread the I/O, 2. organize and utilize my HDD's, 3. learn the pros/cons behind this structure, im not worried about amazing results, I just want to see the results and understand them to further my knowledge
  • Sandeep Bansal
    Sandeep Bansal about 13 years
    added information about a possible error
  • RobertPitt
    RobertPitt about 13 years
    yea i would have to load in safe mode, run an unlocker to see if there are any files locked by applications, place the directory into read only, move the files, make the link, reboot.
  • Sandeep Bansal
    Sandeep Bansal about 13 years
    Or you can follow the link I entered in my answer at the end, showing a way to do it much easily without going into safe mode.
  • Wes Sayeed
    Wes Sayeed almost 10 years
    When posting links, please summarize the contents of those links in your answer so that any future readers of this question can quickly determine if the link applies to them.
  • lzam
    lzam almost 10 years
    This is a link only answer. Please edit your answer to include more details, instead of just external links. Otherwise, link rot becomes a real problem.
  • Larry Hyman
    Larry Hyman almost 10 years
    I thought the URLs were self explanatory.... There now fixed