Embedded OS image

While there are many embedded devices such as automobiles, medical devices, and home appliances, I think that there are many people who will work on embedded system development from now on due to the increase in IoT devices.

In embedded system development, the hardware and software to be used must be determined in the midst of many constraints such as cost and functionality.

Among the selection of software for such embedded system development, one of the most important things is what to choose for the embedded OS. However, since the optimum embedded OS changes depending on the embedded system to be developed, it will be very difficult to select the appropriate embedded OS.

For such people, in this article, what is an embedded OS? Starting with, I will explain the points of how to select an embedded OS.

At the end of the article, we will introduce the real-time OS "BlackBerry QNX" for embedded systems that we handle, so please consider it as a candidate when choosing an embedded OS.

What is an embedded OS?

An embedded OS is an OS installed in an embedded system to perform a specific function, such as home appliances, medical equipment, and electronic equipment for automobiles.

Recently,I think that functions may be added later by OTA etc. even after product shipment.

What is an OS (Operating System)?

OS (operating system) is a type of important software that is installed in various devices and manages and controls the entire system.

In addition to the CPU and memory, it manages the resources of the device, such as storage devices such as HDDs and SSDs, and control of communication functions such as networks, and has the role of transmitting input contents to application programs.

Such OS can be broadly classified into two types.One is the embedded OS used for the embedded system mentioned above. The "BlackBerry QNX" that we handle is classified as an embedded OS.

The other is a general-purpose OS used for personal computer and server management. Microsoft's "Windows" and Apple's "MacOS", which are famous as OSs, are classified as general-purpose OSs.

Difference between embedded OS and general-purpose OS

So what is the difference between an embedded OS and a general-purpose OS?

The biggest difference is the control method for running the application program.General-purpose operating systems such as "Windows" and "MacOS" control the execution of a wide variety of application programs in the order in which they are requested and in parallel.

For example, when working on a document in PowerPoint in parallel after running a macro in Excel while operating a computer. In this case, the requested macro is executed with priority, and control is exercised to operate PowerPoint with unused resources such as CPU and memory.

In contrast to such a general-purpose OS, an embedded OS controls the execution of application programs with specific functions according to a determined priority. Even if process A is already running, if process B with higher priority is ordered, process B will be executed with priority.

In addition, the embedded OS basically performs control (real-time control) for all processing so that the processing is completed within the time required at the time of design. An OS capable of such control is called a real-time OS, and most of the OSs used as embedded OSs are real-time OSs.

The real-time OSis explained in more detail in the article below.

Features and Roles of OS Required for Embedded Systems

computer analysis

There are various OS specifications used in embedded systems, but they can be classified into several characteristics.

The first is that it has high real-time performance to meet the demands.

This is because embedded devices may be used in scenes that lead to serious accidents if they cannot execute processing within the required time. Many embedded systems use highly reliable real-time operating systems.

The second is high availability that can withstand long-term operation.

Assuming a factory that operates 24 hours a day, an embedded system may continue to operate without restarting for several months to several years after startup.In such a factory, it is not possible to restart easily, so performance that can withstand long-term operation is required.

The third is maintainability that can be used in a long life cycle.

Assuming a production management system used in factories, it is not uncommon for the system to be used for decades. In order to continue using it for such a long period of time, it is necessary to have maintainability that adapts to handling failures that occur each time and expanding functions.

What is an embedded OS use case?

Unlike general-purpose OSs, embedded OSs with some features are used in a wide variety of devices, specifically as follows.

Various manufacturing robots for manufacturing sites, etc.
A robot vacuum cleaner that automatically cleans
Surgical robots in the medical field
Building management such as elevators
●Railway systems and automatic ticket gates

How to choose an embedded OS

How to choose an embedded OS

Choosing an OS is a very important point when developing an embedded system.

Various factors such as the functions required for the OS, the cost of developing an embedded system, and the technical capabilities of the company itself affect the selection of the OS.With such a wide variety of backgrounds, it is not easy to choose the best embedded OS.

However, there are still important points to consider when choosing. We will introduce 5 indexes "RASIS" for evaluating the system of the OS itself, which are important when selecting an embedded OS, and two important points for development.

What is RASIS?

An acronym for Reliability, Availability, Serviceability, Integrity, and Security(safety/confidentiality), which is indispensable for the safe operation of a system. A word that represents an element.

Reliability

Reliability refers to the degree to which system failures and malfunctions are less likely to occur.

In other words, high reliability means that the probability of failures and defects occurring is small.

Since the OS is software that manages the entire system, it must be highly reliable.

FIT (Failure In Time) and MTBF (Mean Time Between Failure) are used as indices to evaluate the reliability.

Availability

Availability is the percentage of time the system is up and running. Simply put, it is system availability.

In other words, high availability means that the percentage of time that is actually unavailable due to failures or defects is small and that it can continue to operate for a long time.

In an embedded OS, a high utilization rate also affects productivity, so it is one of the important points when choosing an OS.

Also, it can be said that the above-mentioned high reliability (hard to break) and high availability (high percentage of uptime) are in a certain interrelationship.

Serviceability

Maintainability represents the ease of correction (restoration) in the event of a system failure.

High maintainability means low cost of modification.

MTTR (Mean Time To Repair) is used as an index to evaluate the maintainability. It shows how much time is required to fix each defect.

Let's take the importance of MTTR as an example of robots on the manufacturing floor that are used in factories that operate lines 12 hours a day.

If one manufacturing robot stops due to a system failure once a month, the impact on the production of the entire factory will be relatively small if the MTTR is 1 hour. However, if the MTTR is 12 hours, which means that it takes 1 day to recover, the production capacity will decrease by about 5%/time per month assuming 20 working days per month.

If this is not once a month, but increases to 2 or 3 times, the production capacity will drop by 10% or 15%, leading to a very dangerous situation.

In order to reduce these risks as much as possible, it is very important to choose a system with low MTTR and high maintainability.

Integrity

System integrity generally refers to how difficult it is for data to be lost or inconsistent in the event of a system failure.

Since there is no system that is 100% free from failures and failures, it is very important to know how much data remains in the event of a failure.

For example, even if all work data is lost due to a problem, if the system backs up once a day, the data up to the previous day can be restored. If this is a once a week backup setting, you will lose a week's worth of data, and the damage will be great.

In addition, it can be said that maintainability is also considered in designing to prevent such things from happening, such as losing one of the data when multiple data are written at the same time.

Security/Confidentiality

Safety/confidentiality means "difficulty in information leakage". Simply put, it is a high level of information security capability.

Especially in recent years, many embedded systems are connected to the Internet due to IoT. As a result, the number of external hacking attacks targeting embedded systems is increasing year by year. System security/confidentiality is one of the most important points to protect your data.

If a hacking attack succeeds, there are a wide variety of risks to be suffered. For example, if a hospital's electronic medical record terminal is hacked, there are actually cases where the hospital's functions stop, and the acceptance of patients and treatment stop.

If there is an emergency patient who is waiting for surgery, it is a very dangerous case because the surgery cannot be performed and it may lead to a life-threatening situation.In order to protect information and systems from such risks, safety and confidentiality are one of the essential points.

Recently, as a security measure for IoT devices, a technology called "OTA (Over The Air)" that updates software wirelessly has come to be used.The popularity of OTA is increasing because it has the advantage of improving safety by quickly correcting and updating software bugs and security patches over the air.

Of course, the real-time OS "BlackBerry QNX" that we handle as an agent can also implement security measures using this OTA.

Is the development support function and support system sufficient?

The embedded OS will be developed according to the system. In other words, development requires a high level of technical skill.

On the other hand, engineers with extensive experience in OS development are rare, and the reality is that it is extremely difficult to develop on your own.In such a case, the most useful thing is the development support function provided in the embedded OS and the support system of the provider.

If there are many development support functions, the difficulty of development will be reduced, and if there is support from the embedded OS provider, there is no doubt that it will be useful in solving problems.If you don't have knowledge of OS development or want to clear more severe development goals, you should choose an embedded OS that has a full range of development support functions and support systems.

Whether the product has been used extensively in the target market

When choosing an embedded OS, one of the important points is the abundance of market results.

Having a track record in the market can also be interpreted as having a wealth of knowledge about possible development issues and dealing with defects. Of course, there is also the trust that other companies choose our products because of their high quality.

You shouldn't choose an embedded OS based on market performance alone, but it is recommended to add it to your list of options.

Introduction of "BlackBerry QNX" handled by our company and strengths

Finally, I would like to briefly explain the real-time OS “BlackBerry QNX”, for which we are the domestic distributor, and its strengths.

For embedded solutions, we have obtained IEC 61508 SIL3 certification, and because of their high reliability, they are often used in medical equipment with high safety requirements.

Embedded solution

Embedded solution

In automotive applications, it is used by more than 45 automotive brands as a highly reliable real-time OS, and is currently installed in more than 215 million vehicles. We have acquired ISO26262 ASIL D" certification, which greatly reduces the work required for customers to obtain certification.

Automotive solutions

Automotive solutions

It is possible to introduce at a low total cost while maintaining high reliability as described above.

A brief introduction ends here. If you want to know more about "BlackBerry QNX", please refer to our website at the link below. We also have an introduction video in the webinar, so please watch it.

Inquiry

If you have any questions or concerns regarding the content of this article, please feel free to contact us using the form below.