Embedded Linux vs Desktop Linux
Desktop Linux Vs Embedded Linux: Linux operating system is used in desktop, servers and in embedded system also. In embedded system it is used as Real Time Operating System. There are so many products in the market that use embedded linux. Embedded system requirements are very much different then requirements of desktop system. Desktop PCs are mostly designed around 8086 architecture of microprocessors. But embedded system products can be designed on various of microprocessor architectures like Power, ColdFire, ARM, 8051, PIC, AVR etc. In embedded system memory is limited, hard disk is not present, display screen is small etc.
|EMBEDDED LINUX||DESKTOP LINUX|
|Linux kernel running in the embedded system product / single board computer / development board.||Linux kernel running on Desktop / Laptop.|
|Real time Linux kernel is used.
Kernel response is in real time or is deterministic.
|Linux kernel running in desktop or laptop is not real time. Kernel response is not deterministic for response against events|
|Purpose of using Linux kernel is to perform particular function.
Example Linux kernel running in Video Streamer is doing function of converting video format into MPEG4 and sending video stream on network
|Purpose of using Linux kernel to many works for user
Example: Linux kernel running in desktop is running so many different applications for tasks like running videos, running internet explorer, playing mp3 songs, running java program, C program etc.
|It is very clear from above that Linux has to do specific task, so the module added with components are also limited to the requirement of application.
Like in above example there may be need of following modules or library with kernel:TCP/IP Stack
Graphic Controller Driver
USB Stack if USB is also involved in the application
|So, It can be said that so many modules / library or drivers are needed depend on components present on board.
Graphic Controller Driver
Serial Port Driver
|In nutshell kernel used in embedded system is the customized version of original kernel. user configures the kernel as per target processor, Components present on the board, need of driver etc||Complete version of kernel is used with all possible drivers and libraries. Whenever any new device or protocol is released then its driver patch is provided by either linux community or by vendor.|
|Embedded Linux kernel footprint is less. Around 1 MBs.||Desktop Linux kernel footprint is more around 100 MB.|
WHY LINUX IS IN EMBEDDED SYSTEM ?
Linux is a mature and stable alternative to the proprietary OS .
Linux supports a huge variety of applications and networking protocols.
Linux is scalable can be used in small memory space also. kernel footprint is less then 500 KB.
Linux is a royalty free operating system.
Linux has attracted a huge number of active developers, enabling rapid support of new hardware architectures, platforms, and devices.
Linux is largely accepted by hardware vendors, chip makers, single board computer maker etc. These vendors regularly release customised OS, drivers, example programs for their hardware. Purpose is to sell their product by giving ready to use stuff to their clients.
Linux is very well supported by community and by commercial vendors.