A Ana, por su eterna (im)paciencia, y en memoria de nuestro amigo LucasI have never begun a novel with more misgiving.
If I call it a novel it is only because I don't know what else to call it. I have little story to tell and I end neither with a death nor a marriage.
W. SOMERSET MAUGHAM:The razor's edge /* * Buddy system. Hairy. You really aren't * expected to understand this * * Hint: -mask = 1+˜mask */
LINUS TORVALDS:/usr/src/linux/mm/page alloc.c
AbstractThis thesis proposes a new general framework for building flexible hard real-time systems, that is, systems featuring both hard timing constraints and flexible behaviour. The proposed framework is capable of integrating tasks with different criticality levels as well as combining different scheduling paradigms into the same system. As a result, the framework completely guarantees the timing requirements of hard tasks, while also allowing for an adaptive and intelligent scheduling of non-hard tasks. The framework is divided into a computational model, a software architecture and a set of services. The computational model proposes building a flexible real-time application as a set of tasks, with each task being structured as a sequence of mandatory and optional components. The software architecture proposes separating the execution of task components into two scheduling levels, one level for scheduling the task mandatory components by means of a hard real-time policy and another level for scheduling the task optional components by means of a sort of utility-based policy. The set of services actually includes both a facility for communicating mandatory and optional components inside an application and a group of mechanisms for explicitly detecting and handling run-time timing exceptions.The proposed framework is also shown to be realizable in practice. In particular, this thesis presents the design and implementation of a real run-time support system which supports all the features proposed by the framework. This run-time system, called Flexible Real-Time Linux (FRTL), has been developed by enhancing the original capabilities of the Real-Time Linux (RT-Linux) operating system. Finally, an exact timing characterization of the FRTL run-time system and actual measurements of its overhead are also provided. The timing characterization allows for the development of a complete feasibility analysis of the entire system, which can be then used for verifying the timing constraints of any FRTL-based application. The overhead measurements show that the FRTL has been designed and implemented very efficiently. Overall, FRTL is shown to be both predictable and efficient, which actually proves that it can be useful in building real flexible real-time systemsThe work presented in this thesis has been developed in the context of the following rei ii ABSTRACT search projects, which have been funded by the Spanish government: "Entornos de sistemas basados en el conocimiento de tiempo real" (TAP94-0511-C02-01), "ARTIS: herramienta para el desarrollo de sistemas inteligentes en tie...