Linux and Unix Software Development and Its Use in Embedded Systems

Unix and Linux are both POSIX compliant operating systems. POSIX defined a standard interface to the low-level operating system which greatly reduces the amount of work required to produce UNIX and Linux software.

Unix and Linux software development



The standard user command line and scripting interface was based on the Korn shell. Other user-level programs, services and utilities include awk, echo, ed, and hundreds of others. Required program-level services include basic I/O (file, terminal, and network) services. POSIX also defines a standard threading library API which is supported by most modern operating systems.



Currently POSIX documentation is divided in three parts:



POSIX Kernel APIs



POSIX Commands and Utilities



POSIX Conformance Testing



Linux Development requires both POSIX and 3rd party/native GDI and GUI frameworks to create usable Linux and UNIX software. DOTNUTSHELL can create highly scalable and usable POSIX software which can be run on UNIX and Linux. The software can range from simple utilities to distributed software which has to be run on heterogenous platforms such as Linux, UNIX and Windows.



Linux and UNIX development is also the desired platform and framework for the creation of embedded software:

Embedded software and embedded systems, are those that require 100% of resources shared across a single platform often used to monitor, update and control hardware.



DOTNUTSHELL has experience in creating robust, efficient embedded software running as a monolithic Operating system, or a Kernel add-on in an Embedded Linux distribution.



It is the responsibility of the underlying embedded software system to maintain state information, persist changes to hardware configuration as well as gaurantee transaction and concurrency control at the hardware interface-level.



We have experience in creating:



MontaVista based embedded software



Embeddix based embedded software



Linux Driver creation



low-level hardware and bus interface strategies and mechanisms



I/O mapping and application/kernel space mixing



Real-time application development



Cross platform development



Assembler/C/C++ based embedded software development



POSIX development



RISC/PowerPC405 & 82xx, MIPS Development