Although hardware capabilities on IoT devices have been advanced where many IoT devices can run the general-purpose full-fledged OSes such as Windows or Linux, a large portion of IoT devices belongs to embedded systems, where, for example, their compute capabilities, storage, and power are constrained. Learn the basic features of a general-purpose OS and an embedded OS. Discover how they can help with various IoT systems.
- [Instructor] Although hardware capabilities on IoT devices have been advanced where many devices can run the general-purpose full-fledged operating systems such as Windows or Linux OS, a large portion of IoT devices belongs to embedded systems which have some specific tasks to run with limited hardware capabilities. A common question is which one should we choose? To answer this question, let's see the basic features of a general-purpose OS and an embedded OS.
The general-purpose OS for IoT is an option for many applications which for example require rich functionalities, run complex software, and use powerful processors and high-capacity memories. An embedded OS can be used for IoT devices requiring efficient resource management, high reliability with support for low to high-end processors running simple or more complex software.
Let's look at IoT elements to see the use scenarios of a general-purpose OS first. An IoT gateway is some device that is able to process large streams of data from various field devices. This requires a fair amount of computing power and energy. Therefore, powerful processors and memories are preferred. That often suffices the requirements of the general-purpose operating systems where a Linux OS and other full-fledged operating systems are used.
For other IoT elements such as cloud computing devices, a general-purpose OS can be used as well. In addition, users can also benefit from the technology ecosystems established by the existing general-purpose operating systems. An embedded OS can be suitable for the field devices including small embedded systems and resource-constrained devices using microcontrollers or low-end processors only doing some specific tasks where their compute capabilities, storage, and power are often constrained.
It can also be used in the gateways or network devices as well because sometimes these devices are embedded systems that are optimized or tailored to do some specific tasks. Those systems can normally be supported well by an embedded OS.
- OS characteristics for IoT
- OSs for resource-constrained devices
- Linux OSs and Windows 10 IoT Core
- Main features of FreeRTOS
- Task schedulers and task management
- Intertask communication
- Allocating dynamic memory
- Debugging your OS-based applications