+46 18 660 700
Would you like to be contacted?
Quarterly Bulletin
 
Balancing functionality with complexity
 

Functionality added to the embedded Linux X86 system comes with a price in terms of bigger system size. It's about weighing features against complexity when configuring your Linux system for the application. Let's take a quick glance at a couple of examples to see how features and functionality influence file system size and complexity.

 
The graph shows the cramfs filesystem sizes from four typical applications. Configurations of the Helix embedded X86 Linux operating systems have been made in Helix.
A: Basic Linux system
B: Extended Linux System
C: Linux system with basic graphics functionality
D: Linux system with extended graphics functionality
Configuration A is small with only the fundamental tools, libraries and startup scripts. Most of the tools are from the busybox tool suite included in Helix. In configuration A busybox has been configured to minimize the memory usage resulting in a file system size of 4MB.
 
Maximizing functionality or minimizing memory usage
The major difference between configuration A and B is that busybox is configured for most functionality in configuration B and to minimize memory usage in A. In this case the difference, in terms of memory usage, is 0.7MB. This is the price for including a number of Unix command line tools making your embedded Linux system look and feel more like a Linux OS on your workstation. 
 
These two configurations one would find in standalone embedded systems which typically collect/process data or in server type applications. Configurations C and D includes graphics functionality.
 
Configuration C has directfb support (console graphics) which enables graphical primitives for the application at a lower level. The introduction of basic graphical functions to the system doesn't add much to the system complexity, merely 1.6MB.
 
It's when X-windows is included in the system that memory consumption and complexity grows significantly. X-windows definitely provides versatile and generic functionality but results in a cramfs file system size of just above 25MB.
 
Both configurations C and D are relevant for systems which are used for presentation of data. Building an application on configuration C may require some more effort at development time since directfb doesn't provide as much functionality as X-windows, but may pay off in the long run since it's less complex to maintain. 
 
Conclusions
Busybox is highly configurable enabling the software engineer to choose just the right set of functionality needed to create a Linux OS adapted to the application. In terms of size and complexity the price is rather low.

The price for functionality when it comes to graphics is pretty high. The system size and complexity is growing considerably when implementing X-windows. One needs to determine carefully if X-windows is necessary. Choosing a more uncomplicated graphics solution in the OS, such as directfb may require some more efforts in development but prove to be much easier to maintain since the complexity level is much lower.
 

Market segments

Meeting requirements from industry sectors.
 
Learn more

Technologies

Promoting a deeper understanding of technical possibilities at hand.
 
Learn more

Case studies

Development and production for industrial customers.
 
Learn more

Bits & Pieces bulletin

Technical articles, inspiring case studies product news and updates. B&P is distributed quarterly to registered users.
 

Subscribe

Enter your e-mail address and click subscribe.
 
 

Products

Technologies
 
Find us on
 
 
Hectronic AB | Phone: +46 18 660 700 | E-mail: info@hectronic.se | Sitemap | Cookies
© 2017 Hectronic