disks as non-volatile storage devices. Their operating systems provide the application programmer with the abstract perspective that the storage capacity of this device is a linear array of fixed size blocks. Such a system simplifies program development by allowing the programmer to focus on the task at hand instead of the physical attributes of the disk drive. Nonetheless, a number of data intensive applications (e.g., multimedia) must estimate the service time of a disk in order to satisfy their real-time constraints. This study focuses on the Unix operating system (due to its popularity) and investigates techniques to identify the physical characteristics of a magnetic disk in order to estimate its service time. These estimates can be used to develop, implement, and evaluate a real-time application. Our techniques employ no proprietary information and are quite successful in developing a methodology to estimate the service time of a disk. However, these techniques do identify a few attributes of magnetic disks that are difficult to explain (without proprietary information).
Our proposed techniques are a contribution because they demonstrate that a programmer does not need to abandon the benefits of the development environment provided by an operating system to support multimedia applications (or other applications with a real-time constraint). A program is portable as long as it consumes the physical workings of a magnetic disk drive as its input parameters. Each time a program is ported to a new platform, the system administrator computes the physical characteristics of the new disk drive using our techniques and provides them as input to the program.
Techniques to estimate the disk service time have been proposed in [RW94, Wil77]. The previous studies proposed models that provide an average estimate of the disk service time. These models were targeted for use in simulation studies to yield realistic results. Our models are designed to estimate the service time of a disk drive to enable an application program to satisfy its real-time constraints. As such, our models do not underestimate the service time of a disk drive. This may reduce the overall processing capability (throughput) of a system, however, this limitation can be eliminated (once a program is debugged) by introducing a specialized software layer that tailors the system to the physical details of a disk drive.