Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1996
The goal of the Rialto project at Microsoft Research is to build a system architecture supporting coexisting independent real-time (and non-real-time) programs. Unlike traditional embedded-systems real-time environments, where timing and resource analysis among competing tasks can be done off-line, it is our goal to allow multiple independently authored real-time applications with varying timing and resource requirements to dynamically coexist and cooperate to share the limited physical resources available to them, as well as also coexisting with nonreal-time applications.
Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V), 1995
This paper describes ongoing investigations into algorithms for modular distributed real-time resource management. These investigations are being conducted in the context of the Rialto operating system -an objectbased real-time kernel and programming environment currently being developed within Microsoft Research.
ACM SIGBED Review, 2013
The shift towards multi-core platforms has become inevitable from an industry perspective, therefore proper techniques are needed to deal with challenges related to this migration from single core architectures to a multi-core architecture. One of the main concerns for system developers in this context is the migration of legacy real-time systems to multi-core architectures. To address this concern and to simplify the migration, independently-developed subsystems are abstracted with an interface, such that when working with multiple independently-developed subsystems to be integrated on a shared platform, one does not need to be aware of information or policies used in other subsystems in order to determine subsystem-level schedulability. Instead schedulability can be checked through their interfaces at the time of integration on a shared multi-core architecture. In this paper we propose a solution for investigating the system schedulability via providing interfaces for independentl...
2005
Modern systems are frequently called upon to support mixes of applications with different types of timeliness requirements. Current solutions for supporting such mixes are ad hoc and do not guarantee the requirements of all types of processes. We discuss the need for better systems support for such mixes and present partial solutions toward the development of such systems. These include an integrated real-time scheduler that focuses on best-effort performance, a slack scheduler designed to improve the performance of soft real-time processes, and an integrated soft real-time disk bandwidth manager.
Real-time systems play a considerable role in our society, and they cover a spectrum from the very simple to the very complex. Examples of current real-time systems include the control of domestic appliances like washing machines and televisions, the control of automobile engines, telecommunication switching systems, military command and control systems, industrial process control, flight control systems, and space shuttle and aircraft avionics. All of these involve gathering data from the environment, processing of gathered data, and providing timely response. A concept of time is the distinguishing issue between real-time and non-real-time systems. When a usual design goal for non-real-time systems is to maximize system's throughput, the goal for real-time system design is to guarantee, that all tasks are processed within a given time. The taxonomy of time introduces special aspects for real-time system research. Real-time operating systems are an integral part of real-time systems. Future systems will be much larger, more widely distributed, and will be expected to perform a constantly changing set of duties in dynamic environments. This also sets more requirements for future real-time operating systems. This seminar has the humble aim to convey the main ideas on Real Time System and Real Time Operating System design and implementation.
Real-Time Systems, 2002
This paper presents a framework appropriate for Flexible Real-Time Systems (FRTS) and a run-time support system based on that framework, called Flexible Real-Time Linux (FRTL). The framework proposes to build each task as a sequence of mandatory and optional components and to separate their execution in two scheduling levels. This approach is shown to provide both hard guarantees and¯exible behavior. The FRTL system has been implemented by enhancing the original capabilities of Real-Time Linux (RT-Linux), while maintaining its predictability and ef®ciency features. This paper also shows a complete schedulability test on which all sources of overhead of the FRTL itself have been introduced. By applying this complete test, the designer is able to safely guarantee a real-time application running on the FRTL system. a special task without timing constraints but which can be executed if suf®cient resources are detected at run-time. While hard tasks implement predictable (and normally simple) algorithms due to their timing constraints, optional components can implement highly complex, unbounded algorithms 1 . Optional components may therefore be used to enhance the response quality achieved by hard tasks. In particular this framework proposes both a computational model on which hard tasks consist of a sequence of mandatory and optional components and a software architecture on which mandatory and optional components are separated in two scheduling levels. Mandatory components are scheduled, at the real-time level, according to a ®xed priority preemptive scheme; this permits their execution to be guaranteed by using a feasibility test . Optional components are scheduled inside the non-real-time level, which is executed in slack time . This level schedules optional components by means of a utility-based scheduling policy (not imposed by the framework) by which it is possible to add¯exibility to the scheduling process. The architecture also proposes a strict hierarchy between both levels, by which the real-time level always decides when to run and when to preempt the nonreal-time level. By means of this hierarchical organization, the two scheduling policies are not mixed but combined, having a clearly de®ned, simple interface. This provides three interesting advantages: ®rst, the schedulability impact of scheduling decisions at the nonreal-time level is eliminated, making the system more robust and simpler to analyze. Second, the real-time level is liberated from the signi®cant overhead that utility-based policies usually provide. Third, the designer is facilitated in incorporating a custom, application-speci®c scheduling policy within the non-real-time level.
2006
Scheduling theory generally assumes that real-time systems are mostly composed of activities with hard real-time requirements. Many systems are built today by composing different applications or components in the same system, leading to a mixture of many different kinds of requirements with small parts of the system having hard real-time requirements and other larger parts with requirements for more flexible scheduling and for quality of service. Hard real-time scheduling techniques are extremely pessimistic for the latter part of the application, and consequently it is necessary to use techniques that let the system resources be fully utilized to achieve the highest possible quality. This paper presents a framework for a scheduling architecture that provides the ability to compose several applications or components into the system, and to flexibly schedule the available resources while guaranteeing hard real-time requirements. The framework (called FSF) is independent of the underlying implementation, and can run on different underlying scheduling strategies. It is based on establishing service contracts that represent the complex and flexible requirements of the applications, and which are managed by the underlying system to provide the required level of service.
19th Euromicro Conference on Real-Time Systems (ECRTS'07), 2007
Dynamic memory storage has been widely used for years in computer science. However, its use in real-time systems has not been considered as an important issue, and memory management has not receive much consideration, whereas today's real-time applications are often characterized by highly fluctuating memory requirements. In this paper we present an approach to dynamic memory management for real-time systems. In response to application behavior and requests, the underlying memory management system adjusts resources to meet changing demands and user needs. The architectural framework that realizes this approach allows adaptive allocation of memory resources to applications involving both periodic or aperiodic tasks. Simulation results demonstrate the suitability of the proposed mechanism.
Operating systems have become a key factor for the success of today’s mobile devices. With the rising capabilities of the underlying hardware, the complexity of managing these capabilities grows similarly. In the last years, multi-core hardware has been a major challenge for operating systems and it starts to shape also the real-time subdomain. These challenges, along with one of the best solution for managing complex resource allocations – called hierarchical scheduling – are briefly presented in the Introduction part of this paper. Related work done in the domains of real-time operating systems, multi-core resource allocation and hierarchical scheduling is presented from both the commercial/industrial and the research/academic points of view. The next section is introducing the heterogeneous multi-core platform that will be used for running the real-time operating system proposed in this paper, which is described in detail in section IV. The way the operating system is managing th...
ARTOSS
Resource Reservation (RR) is a class of real-time schedulers, proposed by the research community for hard and soft real-time systems, which are receiving considerable attention from industry. With this white paper, we would like to trigger a broad discussion between the academic and the industrial world on the use of RR techniques in standard operating systems. After presenting the major reasons for using RR ("why"), we present a set of propositions on "what" and "how" should be provided, which pinpoint the demands on operating systems and the research issues that remain to be addressed.
Lecture Notes in Computer Science, 2002
Embedded systems comprise of tasks that have a wide variety of timing requirements, from the lax to the very stringent. The mixing of such tasks has been handled by specialized real-time schedulers, from the traditional cyclic executive dispatcher to sophisticated dynamic-priority schedulers. A common assumption of these real-time schedulers is the availability of global knowledge of the entire task set, and this assumption is required to ensure the schedulability of the timecritical tasks notwithstanding the interference of the less time-critical tasks. In this paper, we discuss the notion of a real-time virtual resource which abstracts the sharing of a physical resource such as a CPU by multiple time-critical tasks. Each real-time virtual resource is a virtual resource in the traditional sense of operating systems but its rate of service provision varies with time and is bounded. The real-time virtual resource abstraction allows tasks with wide-ranging timing criticality to be programmed as if they run on dedicated but slower CPUs such that global knowledge of the tasks is not necessary for schedulability analysis. More importantly, events or signals that are timing sensitive may retain their timeliness properties to within a bound under the real-time virtual resource abstraction, thereby permitting the composition of real-time tasks to preserve global timeliness properties.
Procedia Computer Science, 2021
In this paper we give an overview of both hardware and software architectures of real time systems used in devices for various purposes-from lab bench contraptions to cars. The goal of the paper is to reveal separate classes of such architectures as well as to define preconditions for choosing a particular architecture.
Real-Time Systems, 2013
Real-time multiprocessor computing has been an active area of research for many years. For example, several real-time multiprocessor scheduling results are known for more than three decades. However, while the field of real-time uniprocessor computing evolved steadily to a mature area, the multiprocessor counterpart lagged behind, plagued by higher intrinsic complexity, costly platforms, low efficiency and few applications. This situation changed radically in the last decade with the massification of multi-core processors that made parallel computing platforms available in practically all general purpose computers as well as many industrial and embedded systems. This revolution forced adaptations in many existing software commodities to take advantage of the available parallel computing hardware and motivated a strong research effort in tackling the idiosyncrasies of these systems. The real-time systems community in particular has been dedicating substantial attention to issues such as the definition of analysable task models that better adapt to parallel platforms, the scheduling of the tasks on the set of processors, the tasks synchronization across processors and the access to global resources including caches, to name just a few.
2010
Hierarchical scheduling frameworks (HSFs) have been devised to support the integration of independently developed and analyzed subsystems. This paper presents an efficient, modular and extendible design for enhancing a real-time operating system with periodic tasks, two-level fixed-priority HSF based on the idling periodic and deferrable servers, and virtual timers. It relies on Relative Timed Event Queues (RELTEQ), a timed event management component targeted at embedded operating systems, which supports long event interarrival time, long lifetime of the event queue, no drift and low overhead. It minimizes the overhead in terms of processor and memory usage, limits the interference of inactive servers on system level, and minimizes the necessary modifications of the underlying operating system. The proposed design was implemented and evaluated within the µC/OS-II real-time operating system used by our industrial and academic partners.
Proceedings Real-Time Technology and Applications Symposium, 1995
Distributed multimedia applications are typical of a new class of workstation applications that require realtime communication and computation services to be effective. Unfortunately, there remains a wide gap between the development of real-time computing technology in the research community and the deployment of real-time solutions in commercial systems. In this work we explore technology for allowing two operating systems, a general purpose operating system and a predictable real-time kernel, to co-exist on the same hardware. We discuss the problems of multiplexing shared devices and partitioning shared data structures to accommodate two operating systems, and present a CPU executive that allows the IBM Microkernel (a derivative of the Mach microkernel) with an OSF/1 server to co-exist with a simple real-time kernel we have built. We also extend the traditional theory of scheduling periodic tasks on a uniprocessor to accommodate the case where a real-time kernel is allocated only a fraction of the total CPU capacity.
IFAC Proceedings Volumes, 1979
Two dedicated real-time operating systems (RTOS) are analysed and compared with logical model obtained in TC-8, Purdue Europe. Specialisation is mainly concentrated to Process Management, Exception Handling and operator-RTOS interface. It is concluded that dedicated RTOS, absolutely necessary in some cases, has in all applications certain advantag e s. Consequently, the possibility to dedicate an ope rating system should be considered as an essential RTOS design problem.
2001
finished. It is possible to avoid the problem by adding break points to the event handling code where the handling of urgent events can take place. On the other hand, the problem is not critical, if a powerful processor is available. The real-time properties of most embedded systems are based on the use of real-time operating systems. Application of such operating systems requires high expertise and much time. The resulting software is often heavy and hard to maintain. In this paper we present a class of application specific operating systems called ReaGOS. ReaGOS is based on a new architecture and an operating principle, where the operating system calls application programs but not vice versa. The new architecture saves both data and code memory and it is fast enough for embedded systems. The operating system is generated automatically from a high level graphical specification. Another method uses interrupt mechanisms to handle I/O driver events [5]. This method has some disadvanta...
Real-time Systems, 1999
This paper describes an open system architecture that allows independently developed hard real-time applications to run together and supports their reconfiguration at run-time. In the open system, each real-time application is executed by a server. At the lower level, the OS scheduler schedules all the servers on the EDF basis. At the upper level, the server scheduler of each server schedules the ready jobs of the application executed by the server according to the algorithm chosen for the application. The paper describes the two-level CPU scheduling scheme used by the open system and the design and implementation of a uniprocessor open system within the framework of the Windows NT operating system. The implementation consists of three key components: the two-level hierarchical kernel scheduler, common system service providers, and real-time application programming interface.
Lecture Notes in Computer Science, 1995
This paper describes ongoing investigations into algorithms for user-centric modular distributed real-time resource management. These investigations are being conducted in the context of the Rialto operating system -an object-based real-time kernel and programming environment currently being developed within Microsoft Research.
EURASIP Journal on Embedded Systems, 2008
The rapid progress in processor and sensor technology combined with the expanding diversity of application fields is placing enormous demands on the facilities that an embedded operating system must provide.
Lecture Notes in Computer Science, 2005
Real-time scheduling is the kernel mechanism having the most impact on RTOS performance. After describing existing algorithms and methodologies for embedded realtime applications, we present their limitations in handling dynamic environments, and discuss new research trends for overcoming them in next generation operating systems. 20.1 Landscape This summary is intended to give a brief overview of the status of scheduling methods, in particular with respect to flexible scheduling. It does not aim to be complete or provide in-depth literature survey. Rather, directions and issues, together with seminal algorithms are presented. Most of the presented algorithms are research prototypes.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.