blog




  • Essay / The main concept of a programming model

    The main concept of a programming model is to give guidelines to programmers on how to design and structure software. There are generally two different ways in IoT operating systems, either building it as an event-driven system or as a multi-threaded system. In an event-driven system, all processing starts after being triggered by an external event. Usually this should be done using interrupt calls. This pattern is useful when you want your system to be memory efficient. Multithreading on the other side means multiple threads processing tasks. This view gives more time for the processor to work efficiently and therefore saves power. Additionally, the programming model can also be synchronous or asynchronous. Say no to plagiarism. Get a tailor-made essay on “Why Violent Video Games Should Not Be Banned”? Get an Original Essay The main difference between these two options is that in the synchronous model, one task is executed at a time and in the asynchronous model, tasks can be suspended. execution time and a thread can start executing another task in the meantime. Basically, asynchronous programming allows for better utilization of a system because there is no need to wait for the task to complete before moving on to another. An important point to consider when comparing operating systems is how input and output are handled. Unlike full-fledged operating systems, there are different possibilities for obtaining input and transferring data. Common devices such as printers, displays, and keyboards are typically not used or supported in IoT environments. But what all types of systems have in common and probably the most obvious input/output is network connectivity. Therefore, it is necessary to analyze the different options on how the network stack can be implemented and which network protocols are used. Other implementations comprising several layers are for example ZigBee, Wireless ANT and 6LoWPAN.newline Besides access to the network, there are usually sensors used to obtain input from the environment. Typical measurements in wireless sensor networks (WSNs) are temperature, humidity, touch, force, sound, light, and magnetic fields. Therefore, it is important to compare how operating systems interact with sensors/transducers and actuators, as well as the types they support and the APIs they use. Since network connectivity and sensors lead to high energy consumption, we will also look at energy usage in this topic. Another important consideration is whether the system is POSIX compliant to ensure compatibility between the operating system and the applications that will run on it.begin{figure}includegraphics[width=250pt]{myOSIgraphic.JPG}