Evaluating Component-based Systems: The Pebble Approach

09 February 2000

New Image

Pebble is a new component-based operating system with a radical design: almost all system services are provided by components that run in user mode in separate protection domains. A thread running in one protection domain may migrate to another protection domain by an efficient portal call. Typical components include an interrupt dispatcher, a scheduler, device drivers, TCP/IP stack, file servers, and applications. A major advantage of Pebble is that it has additional modularity and safety benefits over the traditional monolithic kerenel structures. We used Pebble as a framework for comparing several operating systems structures. In particular, we compared Pebble performance with more integrated structures, where the drivers are included in the kernel, and the TCP/IP stack is included in the application. We also compared Pebble performance to a mature momolithic operating system (OpenBSD) that runs on the same hardware. Our initial results indicate that a fully component-based system has equivalent performance to more integrated structures and to OpenBSD.