From the course: IoT Foundations: Operating Systems Fundamentals

General-purpose OS vs. embedded OS

- [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.

Contents