General purpose operating systems have been designed to provide fast, loss-free disk service to all applications. However, multimedia applications are capable of tolerating some data loss, but are very sensitive to variation in disk service timing. Current research efforts to handle multimedia applications assume pessimistic disk behaviour when deciding to admit new multimedia connections so as not to violate the real-time application constraints. However, since multimedia applications are soft real-time applications that can tolerate some loss, we propose an optimistic scheme for admission control which uses average case values for disk access taking advantage of caching in the operating system and on the hard disk controller. We have also optimized the measurement based admission controller to admit variable bandwidth multimedia clients even when the requesting client's requirements cannot be completely met. We assume that the multimedia files have been encoded as multiple layers, each adding resolution to the previous one.
Typically, disk scheduling mechanisms for multimedia applications reduce disk access times by only trying to minimize movement to subsequent blocks after sequencing based on Earliest Deadline First. We propose a disk scheduling algorithm that prioritizes requests to help align service to application requirements. The disk scheduling algorithm uses knowledge of the media stored (like MPEG or Realmedia) and permissible loss and jitter for each client, in addition to the physical parameters used by the other scheduling algorithms, to schedule requests efficiently. We evaluate our approach by implementing our admission control policy and disk scheduling algorithm inside the Linux kernel under a framework called Clarity and measuring the quality of various multimedia streams and performance of non-multimedia applications. Clarity provides better bandwidth utilization by admitting more multimedia clients than the traditional pessimistic approach. It also guarantees disk bandwidth availability to clients of a particular class in the presence of a large number of clients of other classes. This results in fewer deadlines violations for multimedia clients, higher throughput and lower average response time for non-multimedia clients. We find that our approach results in improved performance for multimedia and non-multimedia applications. The contributions of this thesis are the development of a new admission control and flexible disk scheduling algorithm for improved multimedia quality of service and their implementation on Linux.