Computer Science Department
School of Computer Science, Carnegie Mellon University
Service Decomposition: A Structuring Principle for Flexible, High-Performance Operating Systems
I describe the implementaiton of two critical operating system services, networking and filing. In networking, sessions are network connections, session management consists of setting up and shutting down connections, and session use consists of sending and receiving data on established connections. In filing, sessions are open files, sessions are established by opening and closing files, and sessions are used by reading and writing opened files. I evaluate the service implementations to show that Service Decomposition provides superior flexibility without sacrificing safety or performance. The service implementations I describe achieve end-to-end application performance on a user-level operating system that is competitive with well-tuned commercial operating systems.