Chameleon, a dynamically extensible and configurable object-oriented operating system

Currently, new algorithms are being incorporated into operating systems to deal with a host of new requirements from multimedia applications. These new algorithms deal with soft real-time scheduling, different memory models, and changes to buffer caching and network protocols. However, old design...

Full description

Bibliographic Details
Main Author: Bryce, Robert William
Other Authors: Shoja, Gholamali C.
Language:English
en
Published: 2017
Subjects:
Online Access:http://hdl.handle.net/1828/8058
id ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-8058
record_format oai_dc
spelling ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-80582017-05-05T17:20:06Z Chameleon, a dynamically extensible and configurable object-oriented operating system Bryce, Robert William Shoja, Gholamali C. Chameleon (Computer operating system) Currently, new algorithms are being incorporated into operating systems to deal with a host of new requirements from multimedia applications. These new algorithms deal with soft real-time scheduling, different memory models, and changes to buffer caching and network protocols. However, old design techniques such as structured programming, global variables and implied dependencies are impeding this development and proof of correctness. Many current operating system research groups are developing extensible systems, where new code can be placed into the system and even kernel layers. A primary difficulty in these efforts is how to avoid adversely affecting reliability and traditional measures of performance. Techniques from the object orientation paradigm are being incorporated to better manage these issues because they have shown promise in improving modularity, information hiding, and reusability. In some cases, these techniques are even being used to build fresh operating systems from the ground up with the goal of easier extensibility and adaptability in the future. The Apertos operating system introduced and implemented many concepts originally alien to operating system research but exhibited unacceptable performance for multimedia applications. This dissertation introduces Chameleon, a new object-oriented operating system that shares the same philosophical approach as Apertos, leveraging meta designs and concepts to deal with the diverse requirements of today’s and future multimedia applications. However, Chameleon takes a new and original approach to design and implementation to achieve a high degree of adaptability and retain the performance of a micro-kemel. In Chameleon, the object-oriented paradigm serves as the basis for newly introduced concepts such as AbstractCPU, brokers, and the broker interface hierarchy. Together, AbstractCPU, brokers, and related software engineering techniques such as dynamic class binding serve as a basis for all system management, communication, and for an event-driven model where new events can be defined and dynamically introduced to a running system. The meta design clearly defines a hierarchy of “operating environments” that can be optimized for a particular type of application. As such, hierarchical resource management plays an important role in Chameleon. A minimal set of primitives that is appropriate for hierarchical memory management is defined atop a single address space memory model. Similarly, hierarchical CPU scheduling is employed, as different applications will exhibit different scheduling requirements. Different schedulers may then co-exist on the same CPU. Communication in a hierarchically structured operating system is also detailed. The implementation of the Chameleon structuring concept is presented and analyzed. Standard performance measures are used to compare Chameleon to related research and commercial operating systems. Costs of individual operations are also presented to outline the overheads and gains associated with the Chameleon model. Graduate 2017-05-03T21:28:41Z 2017-05-03T21:28:41Z 2003 2017-05-03 Thesis http://hdl.handle.net/1828/8058 English en Available to the World Wide Web
collection NDLTD
language English
en
sources NDLTD
topic Chameleon (Computer operating system)
spellingShingle Chameleon (Computer operating system)
Bryce, Robert William
Chameleon, a dynamically extensible and configurable object-oriented operating system
description Currently, new algorithms are being incorporated into operating systems to deal with a host of new requirements from multimedia applications. These new algorithms deal with soft real-time scheduling, different memory models, and changes to buffer caching and network protocols. However, old design techniques such as structured programming, global variables and implied dependencies are impeding this development and proof of correctness. Many current operating system research groups are developing extensible systems, where new code can be placed into the system and even kernel layers. A primary difficulty in these efforts is how to avoid adversely affecting reliability and traditional measures of performance. Techniques from the object orientation paradigm are being incorporated to better manage these issues because they have shown promise in improving modularity, information hiding, and reusability. In some cases, these techniques are even being used to build fresh operating systems from the ground up with the goal of easier extensibility and adaptability in the future. The Apertos operating system introduced and implemented many concepts originally alien to operating system research but exhibited unacceptable performance for multimedia applications. This dissertation introduces Chameleon, a new object-oriented operating system that shares the same philosophical approach as Apertos, leveraging meta designs and concepts to deal with the diverse requirements of today’s and future multimedia applications. However, Chameleon takes a new and original approach to design and implementation to achieve a high degree of adaptability and retain the performance of a micro-kemel. In Chameleon, the object-oriented paradigm serves as the basis for newly introduced concepts such as AbstractCPU, brokers, and the broker interface hierarchy. Together, AbstractCPU, brokers, and related software engineering techniques such as dynamic class binding serve as a basis for all system management, communication, and for an event-driven model where new events can be defined and dynamically introduced to a running system. The meta design clearly defines a hierarchy of “operating environments” that can be optimized for a particular type of application. As such, hierarchical resource management plays an important role in Chameleon. A minimal set of primitives that is appropriate for hierarchical memory management is defined atop a single address space memory model. Similarly, hierarchical CPU scheduling is employed, as different applications will exhibit different scheduling requirements. Different schedulers may then co-exist on the same CPU. Communication in a hierarchically structured operating system is also detailed. The implementation of the Chameleon structuring concept is presented and analyzed. Standard performance measures are used to compare Chameleon to related research and commercial operating systems. Costs of individual operations are also presented to outline the overheads and gains associated with the Chameleon model. === Graduate
author2 Shoja, Gholamali C.
author_facet Shoja, Gholamali C.
Bryce, Robert William
author Bryce, Robert William
author_sort Bryce, Robert William
title Chameleon, a dynamically extensible and configurable object-oriented operating system
title_short Chameleon, a dynamically extensible and configurable object-oriented operating system
title_full Chameleon, a dynamically extensible and configurable object-oriented operating system
title_fullStr Chameleon, a dynamically extensible and configurable object-oriented operating system
title_full_unstemmed Chameleon, a dynamically extensible and configurable object-oriented operating system
title_sort chameleon, a dynamically extensible and configurable object-oriented operating system
publishDate 2017
url http://hdl.handle.net/1828/8058
work_keys_str_mv AT brycerobertwilliam chameleonadynamicallyextensibleandconfigurableobjectorientedoperatingsystem
_version_ 1718447151809298432