Your hard drive is nothing but a set of magnetic disks that are stacked one atop another with small air spaces between them. Each disk has several tracks and sectors on both sides that serve as addresses for your files and programs. The information for each file is stored in the form of x, y, z where x refers to the disk number while y and z point to the track and sector where the file is located (see Fig 1 below). The format of data identification should not present problems in accessing files or programs without delay, yet still you experience delays- often to the extent that you get irritated.
Considering that you are using the latest NTFS format and SATA drive connection, you may wonder if the use of the File Allocation Table (FAT) is still the best way to speed up access to programs. File access delays occur when files are fragmented and programs are cluttered all over the hard drive. For example some portion of your program might be on the first disk and the remaining part on disk three or four. In many cases, a file may span several dozen segments on your hard disk. When you save a file or install a program, Windows looks for the nearest free space and tries to save your file there. If the file size exceeds the free space, it looks for the next free space chunk and stores the remaining part there. To allow "file access processes" to retrieve the remaining data, it leaves a pointer to the next segment at the end of the data chunk. This process continues until the Windows "write process" encounters an EOF (End of File) character.
When you access a file or program, a Windows process consults the file allocation table for the address of the file and then goes to the address shown. As the process tries to load the file or program into memory, it notices that the file has further portions (indicated by the pointer previously mentioned). The file access process moves ahead to the appointed address and loads this portion only to find out that the file still has some portion stored elsewhere (see Fig 2).
For both data files and programs, Windows employs a cache so as to reduce the access time. As this cache lies in between the hard disk and main memory, a Windows "read operation" need not repeat the entire process of accessing the file from the hard drive again and again. For write operations, too, the data is kept updated in the cache until you "save the file," whereupon the Windows write process accesses the hard disk to store your data.
Please note that in the case of any application, Windows needs to cache at least the basic code so that you can use it to initiate further processes. For example, if you are opening MS Word, Windows will have to read the hard drive using the above method and load these basics into the cache: the GUI and blank page so that you can start working and initiate other processes of MS Word. This is the primary reason why you need to wait for long while loading any application. In case of MS Word, it already took time to gather all the cluttered portions to get the basic GUI into cache. Once you issue the open command, the entire read process is activated for the file that you wish to open. Same is the case with other commands such as "Save" or "Insert Image," etc. Also, if you wish to apply a theme or page border, it will again have to initiate the read operation to locate and load the theme into the cache.