Why is “open source” so important to the Internet of Things?

Why is “open source” so important to the Internet of Things?

For the development of the Internet of Things, "fragmentation" is the main problem. Chips, sensors, communication protocols, and application scenarios vary greatly, and there are many different "mountains". For example, wireless communication standards include Bluetooth, Wi-Fi, ZigBee, PLC, Z-Wave, RF, Thread, Z-Wave, NFC, UWB, LiFi, NB-IoT, LoRa, etc. Obviously, the lack of unified technical solutions and inconsistent architectures have hindered the development of the Internet of Things and limited the scope of interconnection.

However, various operating systems can support different hardware, communication standards, and application scenarios. Open source is conducive to breaking down technical barriers and barriers, improving interoperability and portability, reducing development costs, and is also suitable for developers in the open source community to participate.

So, how much do you know about the open source operating system for the Internet of Things?

[[218095]]

What is an open source operating system?

An open source operating system is an operating system software with open source code that is used, compiled, and redistributed in accordance with the open source protocol. Under the premise of complying with the relevant open source protocol, anyone can use it for free and control the operation mode of the software at will. The biggest feature of the open source operating system is open source code and free customization.

The most famous open source operating system is the Linux operating system, which is a general term for a computer operating system. The kernel of the Linux operating system is also called "Linux". The Linux operating system is also the most famous example of the development of free software and open source code.

The history of open source operating systems is closely linked to GNU. The GNU project, which began in 1983, is committed to developing a free and complete Unix-like operating system, including software development tools and various applications. By the time the Linux kernel was released in 1991, GNU had almost completed the development of various essential software except the system kernel. Thanks to the efforts of Linus Torvalds and other developers, GNU components can run on the Linux kernel. The entire kernel is based on the GNU General Public License, or GPL (GNU General Public License), but the Linux kernel is not part of the GNU project. In March 1994, Linux version 1.0 was officially released, and Marc Ewing founded Red Hat Software, becoming one of the most famous Linux distributors.

Here are some of the advantages of open source operating systems:

  • Easy to understand: The source code of open source operating systems is public, making it easier for developers to view and understand the code and acquire relevant knowledge.
  • Openness and transparency: Operating system vulnerabilities and defects are more easily exposed, and the development and maintenance of the code are also public.
  • Customizable: Users can customize according to different hardware platforms and application scenarios as needed.
  • Low cost: No commercial copyright fees, saving related development management and manpower investment costs.
  • Sustainability: Even if the company that previously developed it cannot support it for various reasons, the system can still be maintained with the participation of a large number of developers in the open source community.
  • Brainstorming: Because open source operating systems are public, they allow more developers to participate in development and pool more wisdom and ideas.

10 classic IoT operating systems

1. Android Things

Andorid Things is an IoT operating system launched by Google last week. It is an updated version of the "Brillo" operating system launched last year. As a branch version of the Android system, it is similar to Android Wear for wearables and smart watches (in fact, it is also an IoT operating system).

It uses a communication protocol called Weave to connect devices to the cloud and interact with services such as the Google Assistant. Android Things is aimed at all Java developers, regardless of whether they have mobile development experience. The operating system will be able to support a range of computing platforms for IoT devices, including Intel's Edison platform, NXP's Pico platform, and the BlackBerry Pi 3.

2. Contiki

Contiki is an open source, portable, multitasking operating system for memory-constrained network tasks. The author of the Contiki project is Dr. Adam Dunkels of the Networked Embedded Systems Group at the Swedish Institute of Computer Science.

The system only needs a few thousand or a few hundred bytes of memory to provide a multi-tasking operating system environment and TCP/IP support. It has been ported and successfully run on embedded microcontroller platforms (TI MSP430, Atmel AVR) as well as computers, game consoles and other platforms. The protocols it supports include full standard IPv6 and IPv4, as well as low-power network standards: 6lowpan, RPL, CoAP.

3. eLinuxi

eLinux, also known as Embedded Linux, is an embedded Linux operating system. This operating system is based on the Linux kernel and is a tailored version of Linux for embedded systems. It is supported by a wide range of manufacturers, chips, and products. The wiki homepage of this operating system provides a series of related information such as development, hardware, products, manufacturers, and communities.

4. FreeRTOS

FreeRTOS is a mini real-time operating system kernel with functions including task management, time management, semaphores, message queues, memory management, recording functions, software timers, coroutines, etc., which can basically meet the needs of smaller systems.

The FreeRTOS operating system is a completely open source operating system with the characteristics of open source code, portability, scalability, and flexible scheduling strategies. Currently, the operating system has been deployed on millions of devices. It claims to be "the leading embedded real-time operating system on the market" and can provide a good solution for microcontrollers and microprocessors.

5. mbed OS

This operating system was developed by ARM and is designed specifically for IoT devices running ARM processors. It includes C++ application networking, and the company also provides other development tools and related device servers.

By default, mbed OS is an event-driven, single-threaded architecture rather than a multi-threaded (real-time operating system) environment. This ensures that it can scale to the smallest, lowest cost, and lowest power IoT devices.

ARM has a strong market share in mobile devices, so the strength and prospects of this operating system cannot be underestimated.

6. Raspbian

Raspbian is an operating system based on Debian and designed for Raspberry Pi hardware. This operating system includes a series of basic programs and tools to ensure the operation of Raspberry Pi hardware.

7. RIOT

RIOT, calling itself a "friendly IoT operating system", is committed to being developer-friendly, resource-friendly, and IoT-friendly. Key features include C/C++ support, multithreading, energy efficiency, partial compliance with POSIX, etc. The RIOT open source community has been launched since 2008. RIOT can run on many platforms including embedded devices, PCs, sensors, etc.

8. Ubuntu Core

Ubuntu is the most popular Linux version, and Ubuntu Core aims to bring Ubuntu to the world of the Internet of Things. It can run on services such as Microsoft Azure, Google Compute Engine, and Amazon Elastic Compute Cloud, and can also run on hardware such as BeagleBone Black and Raspberry Pi.

9. Huawei LiteOS

Huawei LiteOS is a "unified IoT operating system and middleware software platform" built by Huawei for the IoT field. It has key capabilities such as lightweight (kernel less than 10k), low power consumption, interoperability, and security. Huawei LiteOS is currently mainly used in smart hardware in the IoT field such as smart home, wearables, Internet of Vehicles, smart metering, and industrial Internet. It can also be interconnected with hardware in the LiteOS ecosystem to improve user experience.

The Liteos operating system has the characteristics of lowest energy consumption, small size, and fast response. It has also established an open source community and can support chips such as HiSilicon's PLC chip HCT3911, media chip 3798M/C, IPCamera chip Hi3516A, and LTE-M chip.

10. Tizen

Tizen is an open source operating system jointly developed by the Linux Foundation and the LiMo Foundation, Intel and Samsung Electronics. It can meet the needs of the IoT device ecosystem (including device manufacturers, mobile operators, application developers, and independent software service providers) and is applied to multiple products such as mobile phones, TVs, and wearables.

Tizen's underlying platform APIs are made public in the form of HTML5, and its services will cover communications, multimedia, cameras, networks, social media, etc. Samsung has already sold several products equipped with the operating system and is its biggest supporter.

What problems do open source operating systems solve?

Connection: The operating system contributes to solving the connection problem by integrating common network protocol stacks, such as TCP/IP, ZigBee, Bluetooth, WiFi drivers, etc.

Distinguishing and identifying smart hardware: These two questions seem to have nothing to do with the operating system, and can basically only provide partial help for the "distinguishing and identifying" between products from the same manufacturer.

Communication and interoperability: As for the communication and interoperability between things, the operating system basically just watches the fun and can only provide some help for specific applications developed with the development tools provided by the same manufacturer. Its interoperability is basically limited to the smart hardware developed with their development tools, and mainly between things and people. As for the interoperability between people and things, the operating system that supports remote desktop and webserver can provide relatively complete help.

summary

In the era of the Internet of Things, everyone is talking about the Internet of Things operating system. We need to analyze what the core issues of the Internet of Things are, what the operating system can and cannot do for the Internet of Things, and how it affects the design of the operating system. If you want to design an operating system to serve the Internet of Things applications, you must analyze the problems faced by the Internet of Things and focus on solving the core problems. Don't just follow the crowd and follow your feelings.

<<:  In addition to the legend of getting rich quickly, what else is possible with blockchain?

>>:  Comparison of new number segment packages of the three major operators: Which one do you prefer?

Recommend

5G is here, and your way of playing TikTok should also change

On June 6, 2019, the Ministry of Industry and Inf...

From 5G to 6G: The race between innovation and disruption

McKinsey's 2022 Technology Trends Outlook sho...

What does cutover mean in network engineering?

1. Main contents of this article What types of bu...

Blockchain and what it means for big data

Blockchain is arguably one of the most significan...

War in the SDN World: SR and Openflow

In the past two years, SDN technology has continu...

Why is it necessary to change the RAN architecture?

First, we need to know why we need to evolve from...

What factors determine the price of HTTPS certificates?

In the era of big data, when information is trans...

How is HostYun? Simple test of HostYun Hong Kong EPYC high bandwidth VPS

A few days ago, we shared the information that Ho...