Should I use an RTOS in my project or not? This is the most often question I was asked in real-time systesms. Generally speaking, there is no simple yes or no answer. In this post, I will answer this question step by step, starting by explaining what is an RTOS and when should we use an RTOS. This post is a compile of my previous answers on Quora with some other additional references.
A collection of all research labs around the world that work on real-time and embedded systems (RTES). Research Groups in Europe Real-Time Systems Research Group, University of York (York, UK) ReTis Lab – Real-Time Systems Laboratory, Sant’Anna School of Advanced Studies (Pisa, Italy) CISTER: Research Centre in Real-Time Computing Systems (Porto, Portugal) Real-Time Systems Research Group (Vienna, Austria) MRTC – Mälardalen Real-Time Research Centre (Vasteras, Sweden) PARTS – Parallel Architectures for Real-Time Systems (Brussels, Belgium) Real-Time Systems at TU Kaiserslautern (Kaiserslautern, Germany) Real-Time and Embedded Systems Group at MPI-SWS (Saarbrücken, Germany) Research Groups in America Networked Real-Time and Embedded Systems Laboratory, University of Illinois (USA) Real-Time Systems Group, University of North Carolina (USA) Cyber-Physical Systems Lab, Washington University in St.
This post is a collection of real-time systems related conferences and journals that I am aware of. I have ranked them from (A - C) based on my knowledge. A* means the top recognised in the related topic. RTS Conferences Real-Time Systems: RTSS: IEEE Real-Time Systems Symposium (A*) RTAS: IEEE Real Time Technology and Applications Symposium (A) ECRTS: Euromicro Conference on Real-Time Systems (A) RTCSA: IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (B) RTNS: International Conference on Real-Time Networks and Systems (B) WCET: Workshop on Worst-Case Execution Time Analysis (C) Ada-Europe (C) Embedded Systems:
Worst-case Execution Time (WCET), refers to the upper bound on the execution time of a piece of program. In hard real-time systems, where the timing requirement is stringent, WCET is needed for the purpose of validation to show that the scheduler can safely schedule the designed system even under extreme conditions. Current research on WCET provide two approaches: (1) static analysis and (2) measurement-based analysis. Static method uses only the source code or the assembly code as its input and calculate the WCET based on an abstract model of the processor.
Fixed-Priority Scheduling (FPS) and Earliest-Deadline-First (EDF) are the two dominating scheduling algorithms in real-time systems . Over the last few decades, the industry has migrated from using time-triggered cyclic-executives into these more advanced priority-based methods. FPS and EDF work fine in most of the circumstances. However, for FPS, one identified issue is that there are cases in which low-priority tasks could miss deadlines or even starve if tasks with higher-priorities overrun beyond their specified worst-case execution times.
Have being working on real-time systems for almost four years since the beginning of my PhD, I have learnt a lot from the ground up about this research field. It is also becoming more and more clear to me what is this research really about. The most essential objective of real-time systems is to have timing guarantee, in which the tasks in the system, especially with hard real-time constraints, would meet their deadlines under any circumstances at execution time.
On your first lecture in Embedded Systems, you will definitely hear the term ‘hard’ real-time and ‘soft’ real-time. Systems such as avionic systems, automobile engine control systems and cardiac pacemakers could be included in the category of hard real-time systems, while web servers, human-machine interfaces and multimedia systems are soft real-time systems. By intuition, we can infer that these hard real-time systems are more critical and important than the soft ones.
Real-Time Scheduling Theory has been developed over the last 40 years, since the first published work of Liu and Layland in 1973. Before that, real-times systems were designed with cyclic executives, which is in a ad-hoc manner and very difficult to maintain. In general, the theory is consist of task modelling, scheduling policy and schedulability test. Some other issues, e.g., resource management, response time analysis, worst-case execution time analysis, are also involved in the design of real-time systems.