KTK: kernel support for configurable objects and invocations

Bodhisattwa Mukherjee, D Silva, Karsten Schwan, Ahmed Gheith · Distributed Systems Engineering · 1994

The Kernel Tool Kit (KTK) is an object-based programming library that offers explicit support for on- and off-line program configuration. Specifically KTK allows the specification of attributes for object classes, object instances, state variables, operations, and object invocations. Attributes are interpreted by pre- or programmer-defined policy classes that may be varied separately from the abstractions with which they are associated, and they can be used to vary objects' internal implementations without changing their functionalities, or change the semantics of object invocations without affecting the methods being invoked. As a result, it is straightforward for KTK: (1) to support no-thread, single thread and multi-threaded objects along with many different invocation semantics (e.g., periodic, asynchronous, synchronous, event-driven, etc.), (2) to permit programmers to implement new object types and invocation semantics to match their applications' requirements in functionality and performance, and (3) to support the construction of objects that are dynamically configurable at any level of abstraction in an operating system. In this paper, the on-line configuration of KTK attributes is shown to improve the run-time performance of multiprocessor applications. We configure KTK objects typically resident at both application- and kernel-level for a multiprocessor target machine, thereby demonstrating the utility of KTK for development of configurable operating system mechanisms and user-level abstractions.

Read the paper · More papers on PaperTik