An operating system architecture for real-time tasking abstractions
department or school: Science, Faculty of
department or school: Computer Science, Department of
data provider: DSpace
degree campus: UBCV
creator: Lo, Siu Ling Ann
issued: 2009-06-09T15:52:23Z
issued: 1995
related degree: Doctor of Philosophy - PhD
degree grantor: University of British Columbia
description: A flexible real-time tasking abstraction is necessary to support diversified and evolving application-level timing constraints. Previous research has focused on rigid solutions and failed to provide any insight to a more flexible design alternative. A common approach has been to implement a real-time scheduling algorithm in the operating system kernel as an integral part of the task model. When the real-time requirements of applications evolve and a new scheduling algorithm is needed, the kernel is modified. This monolithic approach is out of step with the press for software reusability when software development and maintenance costs continue to escalate. In order to explore for a flexible design, we have examined the concepts behind existing real-time task models and classified them into competitive and cooperative task models. In contrast to the common belief that they are fundamentally different, our conclusion is that although the design of these task models are incompatible with each other, their underlying concepts are not. This paves the way for our architectural design which supports evolving real-time requirements at the application level. We propose a task abstraction where tasks cooperate and participate in making real-time scheduling decisions. This design allows for the implementation of competitive task models and their scheduling algorithms on top of a common kernel. It also provides more flexibility in task structuring since applications can be structured as cooperating tasks. We have implemented our design in the Mach 3.0 kernel and the r-kernel for experimentation and for proving the practicality of our abstraction in terms of performance and consistency with the overall design of the systems. The lessons we have learnt from implementation have strengthened our belief in the importance of providing a flexible scheduling interface which can be used by the application programmer. The flexibility of our solution is illustrated by considering the deman…
aggregated CHO: https://circle.library.ubc.ca/rest/handle/2429/8868
extent: 4983344 bytes
format: application/pdf
note: AN OPERATING SYSTEM ARCHITECTURE FOR REAL-TIME TASKING ABSTRACTIONS By Siu Ling Ann Lo B.Sc. (Computer Science) The University of British Columbia , 1981 M.Math. (Computer Science) The University of Waterloo , 1984 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY in THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF COMPUTER SCIENCE We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA April 1995 © Siu Ling Ann Lo, 1995 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. (Signature) Department of GfllHuhr Sc/€frCC The University of British Columbia Vancouver, Canada Date fyHJ 26 . I79ST DE-6 (2/88) Abstract A flexible real-time tasking abstraction is necessary to support diversified and evolving application-level timing constraints. Previous research has focused on rigid solutions and failed to provide any insight to a more flexible design alternative. A common approach has been to implement a real-time scheduling algorithm in the operating system kernel as an integral part of the task model. When the real-time requirements of applications evolve and a new scheduling algorithm is needed, the kernel is modified. This monolithic approach is out of step with the press for software reusability when software development and maintenance costs continue to escalate. In order to explore for a flexible design, we have examined the concepts behind existing real-time task models and classified them into competitive and cooperative task mod…
has type: Thesis/Dissertation
date issued: 1995-05
is shown at: 10.14288/1.0051387
language: eng
degree discipline: Computer Science
provider: Vancouver : University of British Columbia Library
publisher: University of British Columbia
rights: For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
scholar level: Graduate
type: Text
identifier URI: http://hdl.handle.net/2429/8868