Global Sources
EE Times-India
Stay in touch with EE Times India
EE Times-India > Embedded

POSIX in the age of IoT: Benefits and limitations

Posted: 14 Jul 2014     Print Version  Bookmark and Share

Keywords:POSIX  API  operating systems  Linux  microprocessors 

The change in ability to compute compared to available memory places a premium on applications and RTOS solutions which have tiny memory footprints and also makes processing intensive algorithms desirable. This change of compute/memory ratio coupled with the evolution of larger POSIX RTOSes towards larger virtual memory solutions explains why larger POSIX RTOSes are seldom viable on today's MCUs.

Why POSIX for MCUs and MPUs?
Today one of the major reasons to adopt MCU and small MPU POSIX RTOS solutions is that they are compatible with embedded Linux and other larger embedded RTOS products. By doing so, a single API is available to the development teams and platform based development for lines of products (lean product development) is easily achievable.

With one API you can develop one set of applications with different selectable features that run on all sizes of processors. This provides a significant risk reduction because applications are easily moved to other platforms, along with large cost and time reductions.

Reuse of software is the best way to save money on software development and time to market. For the embedded market, the cost and time is 1/10th of the cost of development. POSIX maximises reuse. Also the uniform treatment of devices in POSIX environments (sockets and file I/O) eliminates custom device interfaces providing greater portability.

Are their costs associated with the open standard POSIX interfaces? In short, there are no performance or size penalties and programming is really unrestricted. Using proven C/C++ interfaces POSIX APIs can be used on size restricted platforms with complete functionality.

POSIX real-time limitations
The POSIX 2003 and 2008 specifications didn't anticipate the evolution of microcontrollers and the Internet of Things (IoT), where there is significant size, power and cost restrictions. As shown in figure 1 PSE52 or PSE53 did not include the multi-threaded single process option which has evolved to include rich networking. PSE53 did not anticipate the IoT and the various protocols which it would spawn. PSE54 did not recognise that smaller systems would have shells for remote configuration, interpreters and more.

It has often been stated that when we have standards established, we don't need them. Although we have many things defined by POSIX and for larger systems these standards have been broadly adopted, for smaller systems, more work is required. As most standards, POSIX is evolving to support new user communities.

System Limitations. The challenges of POSIX and embedded Linux systems continue to be the real-time options, large memory size requirements, RAM based execution and "Size Weight and Power" or SWaP.

The real-time options in Linux have been addressed many ways. From hypervisor integration for RTOS co-existance to optimised algorithms progress has been made. Interrupt latency and jitter are still unpredictable and SRAM based execution is required, but powerful multi-core solutions help overcome limitations; but with multi-core SWaP increases.

Sizes of most embedded Linux systems exceed many MB and most require 16MB minimum. In comparison, many MCU IoT products are delivered in less than 300KB. The cost and power required for these extra resources is significant even with energy harvesting and improving battery performance.

RAM-based execution is also a concern. Because the operating system must be taken from storage and moved to RAM before initialisation, boot times are significant. An often used workaround is to keep an image in flash and boot the old image which improves system boot time by eliminating start up initialisation. In comparison, MCUs run directly from flash eliminating the OS loading, and may optionally boot an existing image, creating a zero boot time system.

What IoT hath wrought
Started from a starting point many years ago as a collection of dedicated applications using cellular wireless connections, machine to machine communications to connect devices, these have all coalesced into what is called the Internet of Things with billons of devices making everything around us, both at home and in our workplaces, intelligent figure 3 compares the bandwidths of the various protocols used for IoTs. The fundamental assumptions associated with IoT applications are:
 • Various wireless connections will be used
 • Devices will range from tiny MCUs to high-performance systems with the emphasis on small low cost MCUs and small MPUs.
 • Connections back to the cloud storage are required

Figure 3: A broad set of IoT protocols provide the two main characteristics to provide support for some segment of the IoT space. Typically a subscribe / publish service is included to support many devices with discontinuous service along with bidirectional data transfer. Leading candidates are indicated in blue.

 First Page Previous Page 1 • 2 • 3 • 4 • 5 Next Page Last Page

Comment on "POSIX in the age of IoT: Benefits an..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top