Let IoT operating systems. Therefore Hardware, Programming

Let us now consider the metrics that will help to compare the chosen IoT operating systems. Therefore Hardware, Programming Model and Multithreading, Input/Output and Protocols will be examined.subsection{Hardware}The availability and range of hardware is immense: from tiny and cheap devices for low-end computers to high end computing with processors in full fledged operating systems.~cite{Survey} Because of this diversity we need to classify IoT devices into categories, which are based on their capabilities and performance. The first class addresses high-end IoT devices. This category also includes single-board computers such as Raspberry Pis and smartphones.~cite{ComparativeStudy} These devices have enough capability and performance to run ‘traditional’ software such as Linux adequately.~cite{Paper} The other category is low-end IoT devices that are typically constrained in terms of capacities such as CPU, memory and energy. The Internet Engineering Task Force (IETF) has recently created a standardized classification system for these devices:includegraphicswidth=250pt{ietfclasses.png}small{Fig. 1. classification according to the IETF – RFC 7228.~cite{ClassesIETF}}
ewlineegin{itemize}item Class 0 devices have the smallest resources. An example therefore are specialized motes (sensor nodes) in Wireless Sensor Networks (WSNs). Usually these entities are so constrained in hardware that they are not able to establish a reliable connection to the Internet. Thus, they need other devices for receiving and processing their collected data (e.g. gateways).item Class 1 devices have as Figure 1 shows medium-level resources, which allow more complex and advanced features rather than simple motes such as secure communication protocols and routing.item Class 2 devices have more capabilities than representatives in the lower classes, e.g. they are usually able to run some protocols as high-end devices and servers do. But using energy-efficient and lightweight implementations can benefit these devices.~cite{ClassesIETF}end{itemize}In terms of memory IoT devices are very constrained. That is the reason why there is a tradeoff occurring between performance, a convenient API and a small OS memory footprint, which is not an easy challenge.~cite{ComparativeStudy} Hardware architectures on low-end devices vary. There are those based on diverse microcontroller (MCU) architectures including 8-bit (e.g. Intel), 16-bit or 32-bit (e.g. ARM7, MIPS32, x86)~cite{Survey} and 64-bit architectures that have already been deployed in more recent operating systems such as Microsoft Core Pro~cite{CorePro}.A microcontroller unit can be considered as a self-contained system of a processor with peripherals, preferably used in embedded systems because they are cheaper and smaller than microprocessors with memory and input/output devices separately. The embedded design provides the processor, the pins and other needed peripherals on a single integrated circuit.~cite{heath2002embedded}Another more advanced option for hardware in IoT are SoCs (System on a chip) which are boards that already contain a microcontroller, further peripherals such as GPUs (Graphical Processing Unit), Wi-Fi modules, external interfaces (e.g. USB) etc. A common example is the Raspberry Pi series which uses SoCs.
ewlineTo sum it all up, the differences between hardware architectures are needed for varying IoT devices and consequently it is even harder to find or develop a sufficient and matching software solution for all of them.~cite{ComparativeStudy} Ergo, there is no general operating system for devices of all classes.


I'm James!

Would you like to get a custom essay? How about receiving a customized one?

Check it out