Welcome: Hunan Intelligent Applications Tecgnology CO.,ltd.-HNIAT.com
Language: Chinese ∷  English

Basic knowledge

Architecture and basic functions of IoT operating system

The IoT operating system consists of a kernel, auxiliary peripheral modules (file system, graphical user interface, communication protocol stack, drivers for various common devices, etc.), integrated development environments, etc. Based on this, a series of industry-specific specific Application, the following figure illustrates this concept:

Internet of things


The IoT operating system is different from the traditional personal computer operating system and smart phone operating system. It has some unique features in the field of IoT application, which are described below.

的 The characteristics of the IoT operating system kernel

1. The kernel size is highly scalable and can adapt to different hardware platforms. For example, in an extreme case, the kernel size must be maintained within 10K to support sensors with limited memory and CPU performance. At this time, the kernel can have basic task scheduling and communication functions. In the other extreme, the kernel must have functions such as perfect thread scheduling, memory management, local storage, complex network protocols, and graphical user interface to meet the requirements of highly-configured intelligent IoT terminals. At this time, the kernel size will inevitably increase greatly, and it can reach hundreds of K, even M grade. This kind of kernel size scalability can be achieved through two levels of measures: recompilation and binary module selection loading. The recompilation measures are very simple, just need to select the required functional modules according to different application goals, and then recompile the kernel. This measure is used in situations where the kernel customization is very deep, such as where the size of the kernel is required to be less than 10K. The binary module is selected for loading, which is used when the kernel customization is not very deep. At this time, maintain an operating system configuration file, which lists all binary modules that the operating system needs to load. After the kernel initialization is complete, the required binary modules are loaded according to the configuration file. This requires the terminal device to have external memory (such as hard disk, Flash, etc.) to store the binary module to be loaded;

2, the real-time nature of the kernel must be strong enough to meet the needs of critical applications. Most IoT devices require the operating system kernel to be real-time, because many critical actions must be completed within a limited time, otherwise it will be meaningless. The real-time nature of the kernel encompasses many levels of meaning. The first is the real-time nature of the interrupt response. Once an external interrupt occurs, the operating system must respond to the interrupt and process it in a short enough time. The second is the real-time nature of thread or task scheduling. Once the resources required by the task or thread or the conditions for further running are ready, they must be able to be scheduled immediately. Obviously, the kernel based on non-preemptive scheduling is difficult to meet these real-time requirements;

3, the kernel architecture is highly scalable. The kernel of the Internet of Things operating system should be designed as a framework. This framework defines some interfaces and specifications. As long as these interfaces and specifications are followed, new functions and new hardware support can be easily added to the operating system kernel. Because the application environment of the Internet of Things has a broad spectrum of characteristics, the operating system must be able to expand to adapt to the new application environment. The kernel should have a device management mechanism based on the bus or tree structure, which can dynamically load device drivers or other core modules. At the same time, the kernel should have the function of dynamic loading of external binary modules or applications, and these applications are stored on external media, so that there is no need to modify the kernel and only new applications need to be developed to meet specific industry requirements;

4. The kernel should be sufficiently secure and reliable. Needless to say, the IoT application environment has the characteristics of high degree of automation and less human intervention. This requires that the kernel must be reliable enough to support long-term independent operation. Security is even more critical for the Internet of Things, and it is even related to the national lifeline. For example, an insecure kernel is applied to the control of the national grid. Once it is intruded, the impact will be inestimable. To enhance security, the kernel should support mechanisms such as memory protection (VMM and other mechanisms) and exception management to isolate the wrong code when necessary. Another security policy is not to open source code, or to open the kernel source code for critical parts. Non-disclosure of source code is only a security policy and does not mean that the kernel cannot be applied for free;

5. Energy saving and power saving to support sufficient power endurance. The operating system kernel should reduce the CPU running frequency when the CPU is idle, or simply shut down the CPU. For the peripheral equipment, it should also judge its running status in real time. Once it enters the idle state, it switches to the power saving mode. At the same time, the operating system kernel should minimize the frequency of interrupts. For example, without affecting the real-time performance, the system's clock frequency should be adjusted to the lowest level to save power as much as possible.

CONTACT US

Contact: Manager Xu

Phone: 13907330718

Tel: 0731-22222718

Email: hniatcom@163.com

Add: Room 603, 6th Floor, Shifting Room, No. 2, Orbit Zhigu, No. 79 Liancheng Road, Shifeng District, Zhuzhou City, Hunan Province

Scan the qr codeClose
the qr code