Skip to main content

Building Applicances out of Reusable Components using Pebble

01 January 2000

New Image

Appliances are special purpose systems that require high processing speed, ease of configuration, safety and fault isolation. Traditional approaches to building an appliance operating system have been either building it from scratch [CacheOS] or stripping down a monolithic kernel to its basic components [Jaeger99]. The former approach is costly and the resulting product is likely to be highly specialized and not easily extensible. The latter approach is not easy, as the OS code and data structures are often shared and closely interwined. The resulting OS is also likely to be coarse-grained and not easily customizable. Most applicance are network-centric (e.g., HTTP caches, proxies, file servers, routers) in the sense that they require high-performance network connections. Such performance is often achieved with application-specific specialization of system I/O [Cao95] requiring a modification of a portion of the operating system, such as the protocol stack or the file system.