Thumbnail
Access Restriction
Open

Author Hodson, Orion ♦ Spear, Michael F. ♦ Hunt, Galen C. ♦ Roeder, Tom
Source CiteSeerX
Content type Text
File Format PDF
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Data processing & computer science
Subject Keyword Run-time Conflict ♦ Declarative Statement ♦ Self-describing Artifact ♦ Resource Conflict ♦ Possible Interaction ♦ Input Output ♦ Execution-based Testing ♦ Developer Effort ♦ Configuration Requirement ♦ Interprocess Communication Requirement ♦ Driver Start Time ♦ Full Algorithm ♦ Install Time ♦ Strong Software Isolation Architecture ♦ Complex Configuration ♦ Undeclared Resource ♦ Communication Requirement ♦ Singularity Operating System ♦ Developer Error ♦ Abstract Representation ♦ Application Abstraction ♦ Software System ♦ Driver Code ♦ Device Driver ♦ Configuration Problem ♦ New Driver ♦ Resource Management Algorithm
Description Run-time conflicts can affect even the most rigorously tested software systems. A reliance on execution-based testing makes it prohibitively costly to test every possible interaction among potentially thousands of programs with complex configurations. In order to reduce configuration problems, detect developer errors, and reduce developer effort, we have created a new first class operating system abstraction, the application abstraction, which enables both online and offline reasoning about programs and their configuration requirements. We have implemented a subset of the application abstraction for device drivers in the Singularity operating system. Programmers use the application abstraction by placing declarative statements about hardware and communication requirements within their code. Our design enables Singularity to learn the input/output and interprocess communication requirements of drivers without executing driver code. By reasoning about this information within the domain of Singularity’s strong software isolation architecture, the installer can execute a subset the system’s resource management algorithm at install time to verify that a new driver will not conflict with existing software. This abstract representation also allows the system to run the full algorithm at driver start time to ensure that there are never resource conflicts between executing drivers, and that drivers never use undeclared resources.
Educational Role Student ♦ Teacher
Age Range above 22 year
Educational Use Research
Education Level UG and PG ♦ Career/Technical Study
Learning Resource Type Article
Publisher Date 2006-01-01
Publisher Institution In Proceedings of the EuroSys 2006 Conference