Global Sources
EE Times-India
Stay in touch with EE Times India
 
EE Times-India > Embedded
 
 
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 

For many years POSIX has served as the core API for most operating systems, with the notable exception of Windows. During this time, the Portable Operating System for Unix (POSIX) API has been extended to include real-time and embedded system support, and this variant has gained prominence for embedded operating systems including embedded Linux.

Now, with the emergence of wireless communications communicating directly from machine to machine in what has now become known as the Internet of Things, the same trends that led to the development of POSIX as a platform independent means of porting applications indicate that it may play the same role in embedded IoTs.

How do these two sets of technologies intersect? How will the timeless POSIX API (figure 1) influence the rapidly emerging IoT development? And how will IoT influence the slowly evolving POSIX standards?

This article addresses these key questions and provides practical examples of using POSIX APIs on microcontrollers (MCUs) and small microprocessors (MPUs) in order to evaluate the benefits and limitations of POSIX for the Internet of Things.

Figure 1: The POSIX standards of 2003 and 2008 defined the various classes of POSIX API based operating systems. Starting from a multi-threaded kernel (PSE1), to a controller (PSE52) to a multiple process networked system (PSE53) and ending with a full blown development environment (PSE54) the standard attempted to clarify the various API sets which would meet user's requirements.

Embedded Linux history
Unix vendors needed a common standard for portability of applications, and the POSIX standard emerged to address problems of portability and tool incompatibility. Following this, RTOS solutions added POSIX to provide portability of applications and tap the pool of Unix programmers. Then Linux adopted the POSIX specification for Unix compatibility to get early acceptance. Starting almost from the inception of Linux, it made inroads into embedded systems.

The appeal of free source code with a proven set of APIs developed for the Unix world was attractive. Many upgrades for real-time computing were added over the years and this is how the world came to accept and focus on embedded Linux/POSIX as the solution for larger embedded systems.

The appeal of free source code with a proven set of APIs developed for the Unix world was attractive. Many upgrades for real-time computing were added over the years and this is how the world came to accept and focus on embedded Linux/POSIX as the solution for larger embedded systems.

As Linux developed in the early days, COTS hardware came to the fore to reduce staggering cost increases for dedicated hardware. The combination of embedded Linux and COTS hardware merged with various Windows applications and multi-core technologies. Hypervisors came to the fore and multi-core became popular with blended OS environments.

Hardware continued to get cheaper and faster making soft real-time systems addressable with bigger hardware and embedded Linux rather than traditional embedded RTOS environments Major RTOS companies switched focus from deeply embedded proprietary and POSIX offerings to embedded Linux to maintain market share. Embedded Linux was firmly established and seen as the best alternative for larger embedded systems.

RTOS solutions were targeted at smaller hard real-time systems, with some having POSIX APIs with various degrees of conformance, in part limited by the POSIX specifications of 2003 and 2008. In general, RTOS solutions were used less for hard real-time systems. Recently, powerful new MCU SoC solutions with larger memories, higher clock rates, low power consumption and directly accessed memory. It is with these MCUs that companies are developing solutions to power the Internet of things with their very low cost and high performance.

POSIX RTOS adaptation
Started as a means to standardise Unix interfaces POSIX evolved with real time interfaces and threading. The international standard POSIX standard has been adopted by virtually all operating systems in use and most real time operating systems including: ThreadX. QNX, VxWorks, Integrity, LynxOS and Unison OS.

While QNX, VxWorks, Integrity and LynxOS continued to focus on larger and larger systems with hypervisor integration. Unison evolved to support smaller devices and provide greater functionality and connectivity in a smaller footprint.

Figure 2: Comparing earlier generations of boards and MCUs of today, shows that MCUs have significantly more processing power and I/O but significantly less memory. Where the processing power of one a modern 32 bit MCU is equivalent to that of four 162boards (upper), the memory space available on a single 162board is equivalent to that on 16 MCUs (lower).


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



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

Seminars

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