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

Virtual Private Network (VPN) - Browsing Anonymous

  Privacy is a major concern when browsing the internet. Your data could be eavesdropped by hackers, companies targeting ads or even rogue state actors. What gets revealed would be personal browsing history, location monitoring, IP addresses to name a few. Enter the tech... Virtual Private Network or simply known as VPN is a technology used to prevent unauthorized access of your private data. Even if a hacker penetrates the network and get hold of data packets, all that is revealed is gibberish.  This is because all the information that passes through your device is encrypted and can be only revealed through a personal key.  Internet Service Provider Before going further, a knowledge of Internet Service Provider (ISP) is needed. They are the backbone of the World Wide Web. ISP provides each device with a unique IP (Internet Protocol) address, bandwidth allocation and network security. When a website is searched, first it goes from your device to the Router or Modem which...

Ransomware - Trojan in Disguise

  You log into the computer, and it boots up. But instead of seeing the welcome screen, you get a dialog box.  "Your data has been encrypted. To recover, pay $$ of Bitcoin." The message also has a countdown timer, which indicates a payment deadline.  Passwords, credit card details, personal videos/pictures all have been compromised. The hacker even threatens to leak everything online. What happened...... Ransomware is a type of malware that encrypts personal data and blocks access to a computer/network. To regain control, a ransom needs to be paid. Usually this is through Bitcoin, or other crypto currencies. On payment, a key is given, which decrypts everything, and returns access to the system.  However, you could be placed in a "Sucker's list" which is sold in the dark web. This can attract more ransomware attacks, in future. History.... Originating in the 90s, the attacks were first recorded in Russia. Since then, it has crossed into Europe and North America...

Clock Speed - Benchmark for Processors?

Intel i7 - Base Frequency 2.80 GHz, 4.70 GHz (Turbo Frequency) Intel i9 - Base Frequency 2.2 GHz, 5.8 GHz (Turbo Frequency)  AMD Ryzen 7 - Base Frequency 3.4 GHz, 4.6 GHz (Max Boost Clock) Whenever we shop for a laptop or home PC, we note the processor speed. The saying being more the clock speed, higher the performance . However, efficiency of a chip is determined by a range of other factors What is clock speed? The CPU (Central Processing Unit), or processor performs various arithmetic operations, at any given time. This is performed by opening and closing billions of transistors, embedded within it. That constitutes a cycle.  Simply put, clock speed is the number of cycles executed per second ,  calculated in GHz.  So, a processor having 3 GHz speed, performs 3 billion cycles per second. Higher this ratio, better the performance. At least, in paper. But there are other things in play, when looking at the overall functionality.   Multi Core processing A sing...