Embedded Linux is one of the emerging fields in Embedded Systems allowing the engineers to be flexible in implementation of bigger tasks.
It is mingled with day to day life such as mobile phones, home security systems and house hold equipments. It also has a great impact on achieving difficult tasks such as missile launching.
To make it clear, it is nothing but the implementation of RTOS Linux kernel (core) in the processor for doing difficult tasks.
General Purpose Systems
These systems refer to the computers which we are using in the houses and offices. General purpose systems act as a general platform for programming and performing certain other tasks.
General purpose systems prefer an operating system which may be UNIX, GNU/LINUX or Windows.
Here are some of the advantages of LINUX over other Operating System:
• Free of cost (usually called open source).
• Supports multi-user (First operating system to support multi user. In olden days one server carried an OS while other shares the same processor in the server).
• Flexible for programming.
• Better Security (It has the best security than any other operating system).
General purpose systems can perform any task but in small applications there
Embedded Systems are different from that of the general purpose system. This system is generally of resources constrained. The resources refer to the hardware components.
Embedded Systems may or may not require an RTOS, whereas general purpose systems always do need an OS.
Difference between RTOS and OS
In general we hear the term OS which is nothing but the Operating System. Most of us are familiar in using the Operating Systems such as Windows 98, Windows XP etc. There is a new term used in the Embedded Systems named RTOS which is a Real Time OS.
Operating systems are widely used in general purpose systems which may be LINUX or Windows. All operating systems uses an important concept called Time Sharing.
Time Sharing is nothing but performing many operations at a time, this has been take care by the OS.
The concept of DMA also comes into the picture in time sharing. In general purpose systems the tasks are allocated at different time slots. The user does not have any idea when the task will be completed.
The RTOS are similar to the operating system but has smaller kernel (core of the operating system) size. It also uses the time sharing concept.
In general purpose the allocation of time can be adjusted by the OS, but in RTOS the time cannot be adjusted.
The General purpose systems use x86 processor.
Embedded Systems use controllers or processors such as ARM, FPGA etc.
Compiling and Cross Compiling
The RTOS cannot be used as such like an operating system. It has to be cross compiled for the particular processor. Other packages such as BIOS programming, Boot loader and Root file system also has to be used in Embedded linux environment.
Basic Input Output System is the firmware that initializes the system. BIOS Programming has to be written and stored in to the flash memory.
An important package which is responsible for the kernel on the memory.
In General Purpose System Linux uses GRUB boot loader whereas the Embedded Linux system uses the U-boot bootloader.
Lot of Linux kernel versions are available which can be cross-compiled for particular processor.
Root file system
Root file system contains all the binaries of the operating system.