In this article we will try to help you solve problems such as how to create an optimal system with the soft and hardware you have. For that we will consider disk system performance: the connection of hard disks and CD/DVD drives, drivers of IDE controllers, size and location of a swap file etc etc.
The majority of modern computers have a disc system based on IDE-interface (ATAPI). A typical motherboard has 2 channels of an IDE controller: primary and secondary. Each channel has its own connector on the motherboard and its own cable. One of the IDE devices, that can be connected to the cable, works in the master mode, the other in the slave mode; these modes can be set on the drive with the help of jumpers.
How do 2 devices, connected though one pipeline cable, work?
Unfortunately, the IDE-protocol doesn't allow 2 drives to work independently. The cause isn't even a single pipeline cable. The matter is that the IDE-protocol doesn't allow the second drive to work until the command of the first drive isn't completed. For example, the HDD receives a command to read a sector. Then the heads start to move to the required sector; this takes some time. While it's being implemented, the second drive isn't accessible. But this problem is not so terrible, as the following: an HDD and a CD-ROM are connected through one pipeline cable. It's much worse, since a CD-ROM is much slower.
Conclusion: let your devices have separate pipeline cables, connected to different controllers. If you have 2 devices, it's OK; but in case of more, what to do?
A bit later we'll consider how to to organize several HDDs for the highest performance.
Slave or master?
Each IDE-device has a switch for master/slave modes. And the IDE-devices which are on the one pipeline, must have different modes. What drive should work in master/slave mode doesn't matter. Put the jumpers/swithes in the position which is more logic for your OS. If you've got 2 drives, and one of them is more than 5 years, you should never set it as a master. It won't tell upon the performance, but it might cause a problem of compatibility. Besides, if you've set 2 drives, which can read CDs, on one controller, you won't be able to boot the system from your slave drive. Although, this problem has been solved for the latest motherboards.
What drive should be connected to the middle plug and what to the end plug?
It doesn't matter much. The cable should not be strained or bent, it should hang free. Such unnecessary deformation might cause a damage of the cable and loss of a contact. See to it that the plug is firmly connected. This might lead to data loss.
Bus Mastering drivers
Another important aspect of this disc system is a driver of the controller. The work of this driver influences system performance.
At the present time there are 2 modes of disc, driver and controller work. The first one is "standard" for old devices (all devices must support it) - PIO mode (Programmed Input/Output). In this mode a CPU is used for data transmission between an HDD and a system. This mode works with all IDE controllers. The second mode, a new one, is Bus Mastering (DMA/UDMA), where data are transmitted without a CPU involved. The mode both leaves a CPU free (it's important for multitask systems) and doesn't establish any restrictions on data rate. For example, in my case, in Windows NT4.0 and Windows 2000 the driver in PIO mode on Celeron 333A, BX couldn't provide data rate more than 5 MBytes/s from any out of 3 modern discs (Quantum 10 GBytes, Seagate 6 GBytes and Seagate Barracuda 30 GBytes). In Bus Mastering mode, Seagate Barracuda shows 10 - 15 MBytes/s, and the other - 7 - 10 MBytes/s. Besides, in PIO mode the CPU load constitutes 100%, and in Bus Mastering mode - only 20%.
Fortunately, all motherboards beginning from the Pentium period support Bus Mastering (further - BM). The only problem left is a correct usage of this mode.
Windows 98/Windows ME
Modern computers based on these OS have already got the drivers working in BM mode (especially Windows ME). You can check it in your system manager. If you have got a mainboard based on an Intel chipset with the words "Bus Master" in the system manager, it means that the required drivers are already installed. If you've got a VIA chipset and the system manager contains the word "VIA", it means OK. In case of a standard IDE driver, you should renew the drivers. Windows 95 users have to look for the drivers, since the system lacks for standard BM drivers.
Now, let's make sure that the devices work in this mode. So, in the system manager you have to set "DMA" mode for all HDDs and CD/DVD drives in "Settings" submenu. Different systems have different default parameters. So, you'd better check whether all devices work in the required mode.
This system has Bus Mastering drivers and uses them. All you can do is to assure that the device uses this mode. For example, some CD-ROMs set PIO mode when being installed. What you have to do is to check the settings of ATA/ATAPI controllers (Primary/Secondary IDE channel) and a working mode in the system manager.
The users of this OS may have difficulty in setting this mode. The standard drivers for NT systems with SP3 and higher have BM support for Intel PIIX3 and higher controllers (for i430/i440). Unfortunately, the drives don't work, since they can't define this mode automatically. The program ConfigNT will help you to define the currant mode. In case the BM mode doesn't work, you can set it manually in this program (only for Intel i430/i440 chipsets), or you can install drivers with BM support.
Users of other chipsets (i.e. VIA or Intel i8xx) have to install special drivers with Bus Mastering support.
Fortunately, other modern systems (Linux, FreeBSD, BeOS etc) have better Bus Mastering support. Their standard drivers have Bus Mastering support for almost all Intel controllers (and some for VIA). The Unix users, for example, can make sure if they watch the messages of the booting driver. BeOS switches this mode automatically. Unfortunately, there might appear some problems with IDE controllers (motherboards) of other manufacturers. In this case you have to solve the problem yourselves.
For the latest Bus Mastering drivers for all wide-spread chipsets refer there.
Virtual memory settings
All up-to-date OS use a virtual memory (it's a swap-file). The main parameter of it is a size of a swap file(s).
It makes no sense to set the maximum possible size of a swap file. If the file stores all necessary data, then the system performance is the highest.
Where and how a swap file should be placed?
Structure of logical discs
As for the performance, it's better to make a separate disc of a relatively small size (2 - 4 GBytes) for your system. In this case, system files, the access to which is executed almost simultaneously, will be closer to each other on the physical disc. It matters significantly if you have got system discs of 10-30 GBytes. If you'd use 10-20% of the size for a system logical disc (that is about 2 GBytes), then the search time for a track of the HDD's head traveling among system files will be much less than the time spent for traveling around the whole physical disc. If you install the system of 10-20 GBytes, the system files will spread out on this disc chaotically. This may lead to difficulty in the file access.
Is it worth to divide the discs any other way? No, it isn't. Each logical disc, while used by the system, stores a lot of (up to hundreds Kb) service information. It reduces the available space. Though if you are using FAT32 (Windows98/ME offers only this file system), you shouldn't create logical discs bigger than 10 - 15 GBytes.
Disc systems of certain operating systems can be developed further. But each OS require its own settings for improvement. The present article touches upon only the ideas which are general for all operating systems. And maybe in future we'll consider definite problems of definite OSs.
Write a comment below. No registration needed!