CAREER: Fine-Grained Operating System Components for Storage
University Of California-Los Angeles, Los Angeles CA
Investigators
Abstract
A modern computer operating system comprises millions of lines of performance-critical code, much of it tightly coupled to the hardware, where most any error can be expanded into a security vulnerability, and whose behavior fundamentally impacts every application it hosts. Thus, perating systems are both inherently hard to program and critically important to get right, which has slowed the pace of operating systems research and development. New programming methodologies can help break this impasse, leading to systems that are easier to teach, understand, program, and get right. This research program develops a new component-based design for file systems and disk storage. Its particular focus is file system consistency, the process that ensures that disks contain correct information in the correct format. All file system components communicate using change descriptor data structures, a generalization of soft updates that allows independent file systems and disk structures to express dependencies. Change descriptors are exported to applications, allowing them to implement previously-inexpressible consistency policies. The resulting design will make file systems easier to develop by factoring out common code, improve storage system robustness through first-class consistency support, and lead to new application designs that are far more resilient to system crashes. The project will produce a file system component support library and an array of components, as well as several sample applications, including some designed for classroom use. All of the code will be freely and widely distributed.
View original record on NSF Award Search →