Skip to Main Content
Today's operating system designers face a daunting challenge: they must design systems that can support a great diversity of applications in a secure, efficient, reliable, and effective fashion. The challenge becomes even more daunting when some of the applications and their requirements cannot even be envisioned until after the system has been deployed for some time. One solution lies in designing systems that can be reconfigured and enhanced throughout their life-cycle by applications. However, opening up an operating system to application-initiated changes can significantly weaken the integrity of a system. This paper presents a system architecture that accommodates dynamic reconfigurations securely and efficiently, without exposing applications to unconfined complexity and risk. It also discusses a prototype implementation of this system architecture, and our first experience at dynamically extending the system scheduler without loss of service to running applications.