How To Choose A Real Time Operating System (Micro Controller and Embedded System, Computer Science and Engineering, Vtu)
How To Choose A Real Time Operating System (Micro Controller and Embedded System, Computer Science and Engineering, Vtu)
SEMINAR ON:
Presented by
Your name here
Under the guidance of
Name of your teacher here
DATE
01 WHAT IS A RTO?
OBJECTIVES
02 HOW TO CHOOSE IT?
RTO
There is no universal definition available for the
term 'Real-Time' when it is used in conjunction with
operating systems.
In a broad sense, 'Real-Time' implies deterministic
timing behaviour. Deterministic timing behaviour in
RTOS context means the OS services consumes only
known and expected amounts of time regardless the
number of services.
A real-time operating system (RTOS) is an OS that
guarantees real-time applications a certain capability
within a specified deadline.
They are designed for critical systems and for
devices like microcontrollers that are timing-specific.
Processing time requirements are measured in
milliseconds.
Any delays in responding could have terrible
consequences.
Real-time operating systems have similar functions as
general-purpose OSes , like Linux, Microsoft Windows or
macOS.
But are designed so that a scheduler in the OS can meet
specific deadlines for different tasks.
HOW TO CHOOSE A RTO?
The decision of choosing an RTOS for an embedded
design is very crucial.
A lot of factors needs to be analysed carefully
before making a decision on the selection of RTO.
These factors can be either functional or non-
functional.
Functional Requirements
Processor Support :It is not necessary that all RTOS's
support all kinds of processor architecture. It is
essential to ensure the processor support by the RTOS.
Memory Requirements:The OS requires ROM
memory for holding the OS files and it is normally
stored in a non-volatile memory like FLASH. OS also
requires working memory RAM for loading the OS
services.
• Since embedded systems are memory constrained, it
is essential to evaluate the minimal ROM and RAM
requirements for the OS under consideration.
Real-time Capabilities :It is not mandatory that the
operating system for all embedded systems need to be
Real-time and all embedded Operating systems are
'Real-time' in behaviour
• Analyse the real-time capabilities of the OS under
consideration and the standards met by the operating
system for real-time capabilities.
Kernel and Interrupt Latency : The kernel of the OS
may disable interrupts while executing certain
services and it may lead to interrupt latency. For an
embedded system whose response requirements are
high, this latency should be minimal.
Support for Networking and Communication :The OS
kernel may provide stack implementation and driver
support for a bunch of communication interfaces
and networking. Ensure that the Os under
consideration provides support for all the interfaces
required by the embedded product.
Inter Process Communication and Task
Synchronisation :The implementation of Inter
Process Communication and Synchronisation is OS
kernel dependent. Certain kernels may provide a
bunch of options whereas others provide very
limited options. Certain kernels implement policies
for avoiding priority inversion issues in resource
sharing.
Modularisation Support :Most of the operating
systems provide a bunch of features. At times it may
not be necessary for an embedded product for its
functioning. It is very useful if the OS supports
modularisation where in which the developer can
choose the essential modules and re-compile the OS
image for functioning.
• Windows CE is an example for a highly modular
operating system.
Development Language Support :Certain operating
systems include the run time libraries required for
running applications written in languages like Java and
C#. A Java Virtual Machine (JVM) customised for the
Operating System is essential for running java
applications. Similarly the .NET Compact Framework
(NETCF) is required for running Microsoft.NET
applications on top of the Operating System. The OS
may include these components as built-in component,
if not, check the availability of the same from a third
party vendor for the OS under consideration.
Non-Functional Requirements
Custom Developed or Off the Shelf :Depending on the OS
requirement, it is possible to go for the complete
development of an operating system suiting the embedded
system needs or use an off the shelf, readily available
operating system, which is either a commercial product or
an Open Source product, which is in close match with the
system requirements. Sometimes it may be possible to
build the required features by customising an Open source
OS.
Cost :The total cost for developing or buying the OS and
maintaining it in terms of commercial product and
custom build needs to be evaluated .
• when choosing an operating system you need to
consider both the initial expenses and the long-term
costs.
Development and Debugging Tools Availability :Certain
Operating Systems may be superior in performance, but
the availability of tools for supporting the development
may be limited.Explore the different tools available for
the OS under consideration.
Ease of Use :How easy it is to use a commercial RTOS is
another important feature that needs to be considered .
After Sales :For a commercial embedded RTOS, after
sales in the form of e-mail, on-call services, etc. for longer
sale critical patch updates and support for production
issues, etc. should be analysed thoroughly.
OUTCOMES
In this session we have learned about
• What is RTO
• How to choose a RTO
REFERENCES
• Introduction to Embedded System by Shibu K V
THANK YOU