What are real-time operating systems at the network edge?
What are real-time operating systems?
A real-time operating system (RTOS) indicates the operation of a system, it supervises the application software, it sets the rules while the application program is running, and it is programmed to respond immediately.
In any system, whether social or technical, there are resources, and there are tasks that must be handled by those resources. In the case of a social system, the resources are human and other natural resources – although money is considered a resource, it is actually a means of facilitating the exchange of resources.
Similarly, in a technical system, there are resources and tasks that require resources to be performed. In a computer system, there are three key resources: computational resources, communication resources, and storage/memory resources. Considering the advancement of technology, within each of these categories there could be a hierarchy and many variations of resources that are brought into action when appropriate.
Every system, whether social or technical, needs one or more entities to manage resources and tasks. In computer systems, we have the operating system (OS) which acts as a communication layer between the user (and tasks) and the resources. The choice of operating system depends on many factors, such as software availability, performance, reliability, hardware compatibility, ease of administration, and of course, maintenance cost, among others.
The operating system can be designed to match context, users, and tasks, or it can be designed for general purpose. It could be, for example, central or distributed if the context implies it. It can also be designed to take care of a specific system attribute, respond immediately, or be the most reliable, or minimize resource usage in the event of a resource shortage. In any case, the operating system must prioritize the tasks of a system by scheduling their processing.
I became obsessed with computing early on, especially when I discovered number systems and the fact that we could demonstrate every number or letter in a binary format and perform operations on numbers in a logic circuit. This sparked my interest in pursuing computer hardware as my first engineering degree. Later, when I learned about the concept of operating systems, I was fascinated by the many details and the many variations of operating systems that could exist. Another aspect that I loved about operating systems was the fact that I could recognize leadership in a social context as a type of operating system and how it came with many parallel concepts.
Examples of real-time operation
Some current real-time systems have zero tolerance for delaying system response time and cannot accept tasks that must be scheduled in the same way as general purpose operating systems (GPOS). Examples here include security alarm systems, or crash prediction systems, in the case of a self-driving car, or a car’s safety airbag, which must react immediately if it should have a actual value.
Looking ahead, we know that features such as remote robotics and many IoT use cases cannot become mainstream reality if there is no real-time operating system with portability, which also takes into account distributed context, security and reliability.
With the advancement of 5G and the extremely low latency it offers, the concept of remote operations by remote robotics, collaborative robots and IoT, calls for the real-time behavior of operating systems in computing entities, whether on a device or in a server at the network edge. It just doesn’t make sense to have extremely low latency when transferring the command from the operator to the device and have the command wait in a queue to be scheduled by the system. operation.
How RTOS will influence our daily life
The integration of a few emerging paradigms, “automation and AI”, “robotics” and ultra-low latency networks, as well as real-time distributed operating systems would open up a field of possibilities ranging from better living , remote management, applications in industry and significant improvements in smart manufacturing.
If we look at the operation of a robot, it is practically programmed into the operating system of the robot. If you have a remote control for the robot, you can send remote tasks to the robot and expect the reaction to be instantaneous. This quick reaction depends both on the speed of the link that carries the message from the person using the remote control to the robot, and on the quick reaction of the operating system inside the robot.
In the case of remote robotics, you can view the operator-robot duo as a two-part system or as a distributed system. A distributed system with a distributed operating system may be a better choice for such a context. In the case of remote robotics, the real-time aspect of the use case is more critical and as such must be supported by a real-time operating system.
In the field of automation and AI, robotics is in a sense a representation of AI embedded in a machine. The next step for robotics is more flexible robot behavior where appropriate. For example, imagine if you could modify or adjust the internal programming of a robot in action?
With the emergence of AI and intelligent machines, as well as the development of robotics and remote robotics, there is no doubt that remote operations are going to be part of the systems we use in daily life. It’s easy to imagine a future where most heavy operations normally done by humans are done by a remote-controlled robot, for example.
How does an RTOS differ from a GPOS and earlier operating systems?
If we compare an RTOS to GPOS and early operating systems, we need to look at the characteristics of real-time operating systems in terms of the overhead they create in terms of memory, power, and processing requirements. We must also consider the portability of the operating system on different types of hardware. Modularity such as parts of the operating system that can be added as needed, while the original part, or kernel, is mandatory.
Connectivity support in the operating system is another important feature of the operating system that can influence its use. The scalability, reliability, and security of the operating system are some other characteristics that can influence the use of the operating system for mission-critical applications and critical use cases.
Industry Discussions and Technical Challenges of RTOS
Lately, the concept of RTOS has attracted attention in the context of IoT, as IoT use cases are expected to have a significant impact on our daily lives, for example, the growth of smart home capabilities . There are many open source IoT operating systems that aim to bring real-time aspects into play, the key attributes of which are always portability and security, among others. The operating system sits directly in a system and can cause relatively minor issues like inefficient resources in the device, and potentially more critical issues that could compromise the security of the device.
Although there are more variants of RTOS for small devices, real computers only work with a few famous operating systems such as Linux. Developing a new operating system is a huge effort, and the tendency used to be to rely on something that has been tested by a large population, rather than building a new one. The Linux operating system is not yet quite ready to be considered a real-time operating system in general terms. In the case of a distributed context, another challenge is to make the operating system not only real-time, but to create a distributed system so that the workload on one computing entity can be easily executed on another entity. computing in the same distributed system.
With advances in the edge cloud and integrated connectivity, computing at the network end is the most interesting case for real-time distributed operating systems. It will enable a smooth transition of device workload processing to the network edge matching the speed of a 5G network and providing a real-time execution environment running on edge computing. network.
In my field of research, we have been making our way in this area for a long time. We have developed an IoT operating system called Calvin and we have published the code on the github. We also developed the Nefele Distributed Operating System concept and these days we are working on the Real-time Distributed Operating System for Edge Cloud, so stay tuned!
Read Azimeh’s previous blog post, “What is Computing Structure in the Network?”
Learn more about 5G for manufacturing.