Now-a-days graphical interface is very important for any operating system, even the embedded ones. Adopting existing solutions will be much easier than developing your own. Moreover, a lot of ...software may be reused in this case. This article is devoted to X Window System adaptation for Portable Operating System Interface (POSIX) compliant real-time operating system Baget. Many encountered problems come from the tight connection between X and Linux, therefore it is expected to encounter these issues during usage of X on non-Linux systems. Discussed problems include, but not limited to the absence of dlopen, irregular file paths, specific device drivers. Instructions and recommendations to solve these issues are given. A comparison between XFree86 and Xorg implementations of X is discussed. Although synthetic tests show Xorg performance superiority, XFree86 consumes fewer system resources and is easier to port.
Parallel task execution on multiple cores is increasingly the norm in high-performance embedded systems. Many multicore real-time operating systems (RTOSes) support a fixed task priority policy, and ...many applications that execute on such platforms require high performance while adhering to the fixed task priority policy. This paper proposes a decentralized task scheduling problem for a fixed-priority multicore RTOS running a mix of sequential and parallel tasks. Since aggressive decentralized task scheduling can result in task priority inversions, a high-performance priority-preserving solution to the proposed problem is challenging. To address this problem, 32 possible candidate solutions are considered and simulation studies are used to evaluate them. From extensive evaluations based on carefully prepared performance metrics, it is found that policies based on number of tasks, waiting time and priority (NTWP) for sequential tasks and small subtask first, then minimum number of tasks (MIN–MNT) for parallel tasks significantly outperform other possible candidates.
Thinking in parallel and distributed categories is imperative for todays computer applications. It is shown how students train this way of thinking by carrying out a laboratory project. Students ...develop a software system for the computer control of a model plant. The control maximizes the throughput of produced parts. The problem is analyzed using the process flow graph. The analysis returns a structure of process actions which partly run in parallel, partly sequentially. This structure can be mapped into a task system. Basic task functions like synchronisation and communication are solved with mailboxes and semaphores. At first a manual control is implemented, in which basic hardware and task functions are tested. In the next two steps the tasks are integrated into an automatic-mode task system. Both decentralized and hierarchical task organizations are considered. The design of parallel, distributed and realtime task systems provides students with valuable experience and a basic understanding of modern software architectures.
The concept of applying feed forward control to solve the question of thickness control for hot rolled coils has been succesfully implemented at the Hot Strip Mill of SIDERAR S.A.I.C. through the ...F.F.F. A.G.C. By keeping constant the roll gap at the first stand of the Finishing mill, hardness variations of material determine roll force modifications which are used to calculate gap and speed adjustments of the next stands prior to the arrival of the disturbance, turning therefore unnecesary high cost modifications of the mill drives.
Modern multicore platforms feature multiple levels of cache memory placed between the processor and main memory to hide the latency of ordinary memory systems. The primary goal of this cache ...hierarchy is to improve average execution time (at the cost of predictability). The uncontrolled use of the cache hierarchy by real-time tasks may impact the estimation of their worst-case execution times (WCET). Software cache partitioning through page coloring has been considered a promising approach to isolate task workloads and thus improve WCET estimation. However, when real-time tasks share cache partitions due to false or true sharing, the inter-core delay caused by the cache coherence protocol may cause deadline losses. In this paper, we propose a Color-Aware task Partitioning (CAP) algorithm that assigns tasks to cores respecting their usage of cache partitions (i.e., colors). Tasks that share one or more colors are grouped together and the whole group is assigned to the same processor. Thus, it is possible to avoid inter-core interference. We compared the deadline miss ratio of several generated task sets partitioned by the CAP algorithm and by the worst-fit decreasing heuristic. We executed the partitioned task sets in a modern 8-core processor with shared L3-cache using a real-time operating system. Our results indicate that a color-aware task partitioning algorithm can avoid deadline misses in a multicore processor with shared cache.
In this paper a sample control application employing realtime linux as hard realtime operating system is presented. More precisely, a kernel module is in charge of getting a value from a DAQ-board, ...carrying out the control algorithm and putting the result out to the DAQ board. At the same time, these values are put into shared memory for display by a graphical user interface based on GTK+. The user application sets control parameters, adjusts a setpoint in shared memory, as well as starts, and stops the control process through FIFO-buffers.
The objective of the co-operate research project “Autonomous Driving” is the automation of an ordinary mass-produced car in such a way that it can be moved without a human driver. A possible ...application of such a system is the automated durability test of a vehicle, which nowadays is usually done by a human test driver under extreme stress on man and machine. This submission describes the implementation of the vehicle diagnosis system, which checks a test car on a proving ground. Therefore the human diagnostic capabilities have to be replaced by measuring equipment to automate the detection of malfunctions which occur.
To compare realtime operating systems one must often rely on specifications given by the manufacturers. These published data are often measured by so-called benchmarks. But with the help of ...benchmarks it is not possible to collect sufficient information to determine the system behaviour for worst cases. Therefore it must be clarified which latency times exist and how they arise. Of great significance is the additional latency time of the operating system, which is compulsory for the design of the application. In this paper it is investigated whether and how long a given task, activated by an external interrupt, is delayed until task completion. For that all latency times which can occur are discussed, specifically the worst cases. We are taking a closer look at real time operating systems which encourage so-called kernel-level threads. The advantage of these kernel-level threads systems in contrast to traditional systems are discussed referring to performance. At the moment we are testing two systems, LynxOS and HP-RT. We want to measure the worst-case latency times and therefore illustrate how this is done.