Skip to main content

Embedded Linux-The Magic of Open Source

Operating system (OS) is the heart of any computer device controlling tasks like process scheduling, memory management, and driver implementation. There is a large difference between OS used in main frame or desktop computers, and embedded systems


Embedded Systems

An embedded system is a miniature computer used to perform a single task. This could be a medical device monitoring heartbeat, or a flight control system. Because of size constraints, the processing power as well as memory/storage capacity is less for the same. 


Enter the brain

Embedded Linux is a stripped-down version of the original Linux kernel, used in desktops. What makes it different is its capability to run in low power embedded systems, such as smart phones, tablets, medical equipment and avionics system. This OS is a classification of RTOS (Real time operating systems). It means they process data in real time mostly from sensors measuring humidity or temperature, and provide output within a fixed deadline

 

Components

The main components are listed as below

  • Kernel: The heart of the system, it forms as a bridge between the hardware and software. Other functions include memory management, process scheduling and driver implementation.
  • Bootloader: Is initiated when the device is powered on. Performs checks on hardware peripherals for errors, as well as loads the Linux kernel to memory.
  • Root file system: Contains files and directories used by the operating system. Also includes configuration files, that if tampered can cause runtime error. Malwares usually target this area to gain access to the system 
  • Device drivers: They are the firmware that communicates between the hardware peripherals and the OS. Drivers provide information about the device type, function and connection port. This helps for isolating the peripherals from high level programming.


Cross Compilation

A feature provided by Linux kernel, where code can be transported from one machine to the other. Since embedded system lack processing power, code compilation is done on a more powerful system. This can be a desktop PC or a laptop where the code is debugged and checked for error. Then the same is uploaded to the target device. USB (Universal Serial Bus) port is used as the hardware link/connection.


User Space Application

This is the area where the user interacts with the device. This can be a GUI (Graphical User Interface) on an external display. Hardware/Software calls are made to processor such as x86/x64 or an ARM chip from the Linux kernel.   


IOT Device

Smart devices have seen a large hype recently, whether it being a personal digital assistant or a smart door lock. Embedded Linux is well suited for these type of applications because of high security, open-source status and good developer support. It seems the Linux kernel is here to stay 

Comments

Popular posts from this blog

Man In The Middle Attack - EavesDropping in the Digital World

    This is a term used to describe a cyber attack where a hacker acts as middleman, during data transfer between user and an application. The app can be a financial or an E commerce website, Software as a Service (SaaS) etc. The hacker can intercept data passed via the browser to the website, and collect sensitive information such as account and credit card details, user login etc. To put it into context, it is like a postman who reads all the letters addressed to you, then reseals the same, on delivery. This way no one suspects a foul play.   Interception This is the first phase of the attack. Here the hacker establishes a connection with the target device whether a PC, Laptop or Smart phone. This is done   through various methods   like   Free WiFi  : Here a WiFi hot spot is set up  which is not password protected. When a user logs in to the network, they are in essence connecting to the hacker's system. Now any data transfer occurs via this co...

X86 vs ARM - The PC War

X86 Vs ARM A Hype?  Recently laptops powered by ARM processors have taken industry by storm. Touted as being highly power efficient, providing 18 hours backup, on as single charge. That too while running multiple program instances. Would this spell an end to the x86 architecture, where Intel and AMD rule. Or will the tables turn around? What's the Difference? Let's start with an x86 based CPU. They feature a single processing unit which can be integrated to other external peripherals like Memory, GPU etc. Here each peripheral has a separate controller, knitted together by address and data BUS. When we look at ARM all the above components (Memory, GPU) are integrated within the main chip. Known commonly as SOC (System on a Chip) . This helps in reduced footprint. But they do come with a drawback. Cannot expand by adding extra peripherals. Coming to complexity, x86 provides a simpler set up, at least for a developer. Here most of the core tasks such as Memory Read/Write, Arithmet...

The Brain within an Embedded System-Difference between Microprocessors and Microcontrollers

To understand the working of an Integrated Circuit, we need to first understand what an Embedded System is.  It is basically a conjunction of Hardware and Software parts. Embedded System is a stripped-down version of a mainstream computer, specializing in a single task. They are connected either as a standalone device, or as part of a larger electrical or mechanical system. Mainly in consumer electronics like fridges or microwaves, they have low power rating and, is economical to build. Embedded system performs complex mathematical calculations at any specific time. This is done thru a Central Processing Unit (CPU) , mostly a Microcontroller or at times, a Microprocessor. A Sensor is used to collect data from the external environment Eg: Temperature, atmospheric pressure etc. This is then fed into an Analog to Digital (ADC) converter. The digital signal thus obtained is stored in memory and, decoded by the CPU.  The output of the operation is then fed to a Digital to Analog...