In the past 10 years, the cost/megabyte of magnetic disks has been decreasing by almost a factor of two. This decrease makes large scale disk-based storage systems attractive. However, such systems usually come in the form of RAID arrays that have a much higher cost/megabyte than the underlying disks. To maintain the low cost ideal, COTS (commercial, off the shelf) components must be used. A large storage system, built from off the shelf hardware, could have disks hosted by PCs connected through a high performance LAN. The high bandwidth PCI bus and large number of expansion slots make PCs a good building block for such a system. However, most PCs (and PC operating systems) are used in desktop environments, typically with only 1 or 2 disks.
In this report, we test how well PC operating systems support large amounts of storage. We compare three operating systems, Windows NT, FreeBSD and Solaris x86. A set of experiments are conducted on each OS to test support for (i) large numbers of disks and disk controllers, (ii) PCI expansion boxes, and (iii) Shared SCSI buses. The results show that all of the operating systems compared had some subset of the required features. We were also able to add the missing features to FreeBSD, and show that it is feasible to use PCs to host large amounts of storage. In addition, we present some measurements of multiple disk I/O on each operating system.