BITS: The Component Based Operating System
BITS, an operating system project, was investigated in HiPeX research centre in City University , London, UK.
Overview
BITS, based on describing system resources as independent components, enables applications to implement their own abstractions, define their own protection schemes and participate in resource management strategies. MAGNET, a dynamic resource management framework designed for a component-based environment, provides applications with a flexible, runtime adaptible environment where user-customization of resource allocation strategies are feasible.
People who were involved in the project
- Patty Kostkova
- Julie McCann
- Tim Wilkinson
- Kevin Murray
- Paul Hawlett
- Greg Law
Operating systems form the interface between system resources and applications by providing abstraction of hardware resources, protection of applications, and resource management. However, traditional operating systems limit flexibility, performance and utilization of hardware resources by forcing applications to use high-level abstractions, uniform protection schemes, and high-level static resource management.
Motivatons for BITS
In addition, the role of operating systems has significantly changed with the ever-increasin g use of heterogeneous distributed systems offering enormous computational power, and new application requirements --- higher flexibility, extensibility, tailoring services to application-specific demands and the ability to adapt to frequently changing system conditions.
One of the major factors limiting both system flexibility and performance is fixed high-level abstraction. It has become clear that the requirements of all applications cannot be met by any operating system in advance. It is for this reason that current research explores better structured abstractions to enable finer granularity of system services. Extensible systems (such as Exokernel) show that presenting real hardware to applications that require low-level access allows them to tailor their specific abstractions which results in better performance. In addition to user-defined abstraction and better performance, applications in mobile environments with frequently changing characteristics pose additional requirements on operating systems --- the ability to participate in dynamic resource management, to support adaptations to ever-changing conditions, and to express their requirements in terms of quality of service. A new approach to operating system design and construction is required to enable these requirements to be met.
Further, recent approach to software design which has changed the structure of applications and many software products is `componentisation'. The BITS project is investigating the usage of this methodology as the basis for an operating system, aiming to provide the desired resource management flexibility and dynamic adaptation of resource-application interfaces.
In addition to representing resources as independent components and providing user-defined abstractions and protection (including the ability to access raw hardware), a component-based architecture should enable dynamic user-customizable resource management. As the BITS system is constructed from independent components, user-tailored computing environments can be easily implemented by enabling applications to select only the components they require. In addition, runtime extensibility (such as dynamic resource allocation and reallocation) based on quality of service description can be implemented. These are the features that MAGNET aims to provide in order to enable dynamic and mobile applications to fully utilize available resources.
MAGNET: Resource Manager in a Component-based Environment
The BITS component-based operating system consists of a set of independent components representing system resources. They comprise:Hardware Components (representing hardware devices) and Server Components (representing user-level abstraction servers). Hardware Components are accessed through a functional interface called Simple Hardware which presents raw device drivers to applications, or through Virtual Hardware which provide basic low-level protection of one application against another. Server Components, running at the user-level, provide applications with high-level abstractions (e.g., file systems, dsm, etc.) MAGNET, the dynamic resource manager, provides runtime resource allocation and, in cooperation with the Glue Generator, establishes interactions between clients and servers.
Overview of BITS
Following figure illustrates the structure of BITS operating system.![]()
BITS's abstraction approach is to implement only the necessary protection schemes (encapsulated in the Virtual Hardware), and leave the implementation of high-level abstraction to Server Components.BITS supports protection at three levels: Virtual Hardware (low-level hardware protection), MAGNET (protection service requests and offers), and component-to-component protection.Finally, check our papers on BITS and MAGNET.