Internet of Things operating system

Source: Internet
Author: User
Tags network function

The Internet of Things is an important part of the next generation of information technology. Its English name is IoT (Internet of Things). Thus, as the name implies, "the Internet of Things is connected by things". There are two layers of meaning: first, the core and foundation of the Internet of Things is still the web, an extension and an extended network based on the Internet; second, its client extends and extends to any object and object, exchanging information and communicating. As a result, the internet of Things is defined by radio frequency identification (RFID), infrared sensors, global positioning systems, laser scanners and other information-sensing equipment, according to the agreed Protocol, the use of any object and the Web to connect, information exchange and communication, in order to achieve intelligent identification of items, positioning, tracking, monitoring and management of a network. The Internet of things differs from the Internet in that it is concerned with the exchange and sharing of information between people, and the IoT is further expanded to realize the exchange and sharing of information between "things" and "people and things".
Illustrates the layered architecture of the Internet of Things:
The Internet of things can be divided into perceptual layer, network layer (further divided into network access layer and core layer), equipment management layer, application layer and so on four levels. The most embodiment of the internet of Things is the perceptual layer of the Internet of things. Perceptual layer consists of a variety of sensors, Protocol conversion gateway, communication Gateway, intelligent terminal, credit card machine (POS), smart card and other terminal equipment. Most of these terminals are microcomputers with computational power. The most important system software running on these terminals-the operating system-is called the IoT operating system.
Unlike the operating system on a traditional PC or personal intelligent terminal (smartphones, tablets, etc.), the IoT operating system is particularly unique. These features are designed to better serve IoT applications, and the devices that run the IoT operating system can be more tightly coupled with other levels of the internet of things, data sharing is smoother, and the productivity of the internet of things can be greatly enhanced.

The role of the Internet of things operating system in addition to the traditional operating system of device resource management functions, the Internet of things operating system also has the following features:
1, the Internet of Things ecological environment cultivation: the pull-through of the internet of things industry, the development of Internet of things hardware, the software development of Internet of things system, the development of Internet of things application software, the business environment of IoT operation, network operation, data mining of IoT, etc., to establish the foundation for the great development of Internet of things. Similar to the intelligent Terminal operating system (IOS, Andriod, etc.) on the mobile internet to cultivate the role of ecological environment;
2. Reduce the cost and time of IoT application development: IoT operating system is a public business development platform, with rich and complete IoT infrastructure and application development environment, can greatly reduce the development time and development cost of IoT applications;
3, improve data sharing ability: Unified IoT operating system with consistent data storage and data access, for the data sharing between different industries to provide the possibility. Internet of Things (IoT) operating system can break the barriers of industry, enhance the ability of data sharing among different industries, and even provide "industry service" service, such as data mining;
4, for the unified management of the Internet of things to lay the foundation: the use of unified remote control and remote management interface, even if the industry application is different, can also use the same management software to the Internet of things unified management, greatly enhance the manageability of the Internet of Things and maintainability, and even the entire Internet of things unified management and maintenance.

Architecture of the IoT operating system the IoT operating system consists of the kernel, auxiliary peripheral modules (file system, graphical user interface, communication protocol stack, drivers for various common devices, etc.), integrated development environment, and so on, which can be derived from a series of industry-specific applications, demonstrating this concept:
Unlike traditional PC operating systems and smartphone-like operating systems, the IoT operating system has some unique features in the IoT application area, as described below.

Features of the IoT operating system core features of the IoT operating system kernel 1, the kernel size scalability, can adapt to different configurations of the hardware platform. For example, in an extreme case, the kernel size must be maintained within 10K to support sensors with limited memory and CPU performance, when the kernel has basic task scheduling and communication capabilities. In another extreme case, the kernel must have perfect thread scheduling, memory management, local storage, complex network protocols, graphical user interface and other functions to meet the requirements of high-profile intelligent IoT terminals. This time the kernel size, inevitably will greatly increase, can reach hundreds of k, or even M-class. The scalability of this kernel size can be achieved through two levels of measures: Recompile and Binary module selection loading. The recompile is simple enough to select the required function modules based on different application goals, and then recompile the kernel. This should be used in cases where the kernel customization is very deep, such as requiring the kernel to be up to 10K in size. and the binary module chooses to load, then uses in the internal approval system is not very deep situation. This is the time to maintain an operating system configuration file that lists all the 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 device to have external memory (such as hard disk, flash, etc.) to store the binary modules to be loaded;
2, the real-time 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 of the key actions must be done in a limited amount of time, otherwise it will lose meaning. The real-time nature of the kernel includes many levels of meaning, first of all, the real-time nature of interrupt response, and once an external interrupt occurs, the operating system must respond to interrupts and handle it in short enough time. The second is the real-time nature of the thread or Task Scheduler, which must be immediately dispatched once the resources required for the task or thread are ready and the conditions for further operation are in place. Obviously, the kernel based on non-preemptive scheduling is difficult to meet these real-time requirements;
3. The kernel architecture is strong and extensible. The core of the IoT operating system should be designed as a framework that defines the interfaces and specifications that can easily add new hardware support to the operating system kernel as long as these interfaces and specifications are followed. Because of the wide spectrum of applications in the Internet of things, the operating system must be extensible to adapt to the new application environment. The kernel should have a device management mechanism based on a bus or tree structure that can dynamically load device drivers or other core modules. At the same time, the kernel should have external binary modules or application dynamic loading functions, these applications stored on the external media, so that no need to modify the kernel, only need to develop new applications, to meet the specific industry needs;
4, the kernel should be safe and reliable enough. Reliability goes without saying that the IoT application environment features a high degree of automation and less human intervention, which requires the kernel to be reliable enough to support long-running standalone operation. Security is more critical to the internet of things, even to the lifeblood of the country. For example, an insecure kernel is applied to the State Grid control, and the impact will be incalculable once it is invaded by the outside world. For enhanced security, the kernel should support mechanisms such as memory protection (mechanisms such as VMM), exception management, and so on, to isolate the wrong code if necessary. Another security strategy is to not open the source code, or not open the key part of the kernel source code. Unfair open source code is only a security policy, does not mean that it is not free to apply the kernel;
5, energy saving, in order to support enough power supply capacity. The operating system kernel should slow down the CPU when the CPU is idle, or simply turn off the CPU. For peripheral devices, it should also be in real time to determine its operational status, once in the idle state, then switch to power saving mode. At the same time, the operating system kernel should minimize the frequency of interrupts, for example, without affecting the real-time, the system's clock frequency to a minimum, to the maximum possible power savings.

Features of the peripheral modules of the IoT operating system the peripheral module refers to some of the features that the operating system should have, such as remote maintenance and upgrades, in order to adapt to the application characteristics of the Internet of things. It also refers to some functional modules, such as file system, network protocol stack, which are developed to extend the functional range of the Internet of things operating system kernel. The peripheral modules (or peripheral functions) of the IoT operating system should have at least the following:
1, support the operating system core, device drivers or applications, such as remote upgrade. Remote upgrade is the most basic feature of the IoT operating system, and this feature can greatly reduce maintenance costs. After the remote upgrade is complete, the original device configuration and data can continue to be used. Even in the event of an upgrade failure, the operating system should be able to restore the original running state. Remote upgrade and maintenance is one of the main measures to support the large-scale deployment of IoT operating system;
2, support common file system and external storage, such as supporting FAT32/NTFS/DCFS file system, support hard disk, USB stick, Flash, ROM and other common storage devices. External storage functions can play an important role in the event of a network connection outage. For example, you can temporarily store the collected data, and then upload to the data center after the network is restored. However, the file system and storage-driven code, to be effectively separated from the operating system core code, can be very easy to cut;
3, support remote configuration, remote diagnosis, remote management and other maintenance functions. This includes not only common remote operation features, such as remote modification of device parameters, remote viewing of running information, etc. It should also include a deeper level of remote operations, such as the ability to remotely view the state of the operating system kernel, remotely debug threads or tasks, and remote dump kernel state at the time of an exception. These functions need not only the support of peripheral applications, but also the natural support of the kernel.
4, support the perfect network function. The IoT operating system must support a sophisticated TCP/IP protocol stack, including support for IPV4 and IPV6. This protocol stack should be flexible enough to fit the needs of the cropping. For example, it can be cut, so that the protocol stack only supports protocol functions such as IP/UDP to reduce the size of the code. At the same time, it also supports rich IP protocol families, such as TELNET/FTP/IPSEC/SCTP and other protocols, to apply intelligent terminals and high security and reliable applications.
5, to the Internet of things commonly used wireless communication functions to be built-in support. For example, support GPRS/3G/HSPA/4G and other public network wireless communication functions, while supporting Zigbee/nfc/rfid and other near-field communication functions, support wlan/ethernet and other desktop network interface functions. These different protocols, to be able to convert each other, can be obtained from one protocol data packets, converted into another protocol of the message sent out. In addition, it should support the receiving and sending of short messages, voice communication, video communication and other functions;
6, built-in support XML file parsing function. In the age of the Internet of things, there will be serious information-sharing barriers between different industries and even the same industry. While data sharing in XML format can break this barrier, XML standards will be more widely used in the field of Internet of things. The IoT operating system is built to support XML parsing, and all operating system configuration data is stored uniformly in XML format. At the same time, the industry's own definition of XML format can be resolved to complete the industry transformation function;
7, support the perfect GUI function. The graphical user interface is generally used in the Internet of Things intelligent terminal to complete user and device interaction. The GUI should define a complete framework to facilitate the expansion of graphical functions. You should also implement common user interface elements such as text boxes, buttons, lists, and so on. In addition, the GUI module should be separated from the core of the operating system, preferably supported by binary dynamic loading function, that is, the operating system core dynamically load or unload the GUI module according to the application needs. The efficiency of the GUI module is high enough, from the user input confirmation, to the time between the execution of the specific action (can be called click-launch time) to be short enough to appear that the user clicked OK, but the task was executed but waited for a long time;
8. Support dynamic loading of applications from external storage media. The IoT operating system should provide a set of APIs for different application calls, and this set of APIs should change in real time based on the peripheral modules that the operating system loads. For example, in the case of loading the GUI module, it is necessary to provide a system call for GUI operation, but without the GUI module, the GUI function call should not be provided. At the same time, the operating system, GUI and other peripheral modules, application modules should be binary separation, the operating system can dynamically from the external storage media on demand loading applications. Such a structure, so that the entire operating system has a strong ability to expand. Operating system cores and peripheral modules (GUI, network, etc.) provide basic support, while a wide variety of industry applications are implemented through applications. Finally, when the software is released, only the operating system kernel, the required peripheral modules, application modules can be released.

Features of the IoT Operating system integration development environment The integrated development environment is a key tool for building industry applications, and the IoT operating system must provide convenient and flexible development tools to develop applications for industry applications. The development environment must be sufficiently mature and widely applicable to reduce application time-to-market (GTMT). The integrated development environment must have the following characteristics:
1, the Internet of things operating system to provide a rich and flexible API for programmers to call, this set of APIs should be able to support multiple languages, such as support for both C + + and Java, basic and other programming languages;
2, it is best to make full use of the existing integrated development environment. For example, you can take advantage of an integrated development environment such as Eclipse, Visual Studio, which has a broad application base and direct access to good technical support on the Internet;
3. In addition to the integrated development environment, a compact application format (similar to the Windows PE format) should be defined and implemented to suit the special needs of the Internet of things. By customizing the integrated development environment, the code generated by the integrated development environment can follow this format;
4, to provide a set of tools to facilitate application development and debugging. For example, provide application download tools, remote debugging tools, etc., supporting the entire development process.

As can be seen, the above-mentioned IoT operating system core, peripheral modules, application development environment, are supporting the platform to support a more layer of industry applications. Industry applications are the ultimate productivity software, but the IoT operating system is the foundation for strong growth and long-term survival of the industry, and only with a powerful and flexible internet of things operating system, the IoT tree can bear fruit.

The development of Internet of Things (IoT) operating system there is currently no more sophisticated IoT operating system for commercial applications. But many operating systems are moving in this direction. For example, the domestic operating system Hello China, has a rough prototype of the Internet of Things operating system (perfect kernel, file system, network functions, GUI, development tools, etc.), further improved, can be used as a typical IoT operating system to promote. For further information, please refer to the "Extended reading" section.

Internet of Things operating system

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.