SlideShare a Scribd company logo
Linux for Embedded Systems
Linux operating system
•Linux was initially developed by Linus Torvalds in 1991 as
an operating system for IBM compatible personal
computers based on the Intel 80386 microprocessor.
•Linus remains deeply involved with improving Linux,
keeping it up-to-date with various hardware
developments and coordinating the activity of hundreds of
Linux developers around the world.
•Over the years, developers have worked to make Linux
available on other architectures, including Alpha, SPARC,
PowerPC, and ARM.
•Now it has been matured into a solid unix-like operating
system for workstations, networking and storage servers,
data centers, clusters and embedded systems.
What is Linux
• Linux is interchangeably used in reference to the Linux
  kernel, a Linux system, or a Linux distribution.
• Strictly speaking, Linux refers to the kernel maintained by
  Linus Torvalds and distributed under the same name
  through the main repository and various mirror sites.
• The kernel provides the core system facilities. It may not be
  the first software to run on the system, as a bootloader
  may have preceded it, but once it is running, it is never
  swapped out or removed from control until the system is
  shutdown.
• In effect, it controls all hardware and provides higher-level
  abstractions such as processes, sockets, and files to the
  different software running on the system.
•   Linux can also be used to designate a hardware system running the Linux
    kernel and various utilities running on the kernel.
     – If a friend mentions that his development team is using Linux in their
        latest product, he probably means more than the kernel.
     – A Linux system certainly includes the kernel, but most likely includes a
        number of other software components that are usually running with
        the Linux kernel.
     – Often, these will be composed of a subset of the software such as the
        C library and binary utilities. It may also include the X window system
•   Finally, Linux may also designate as a Linux distribution. Red Hat,
    Mandrake, SuSE, Debian, Slackware, Caldera, MontaVista, BlueCat, and
    others are all Linux distributions.
     – They may vary in purpose, size, and price, but they share a common
        purpose: to provide the user with a set of files and an installation
        procedure to get the kernel and various overlaid software installed on
        a certain type of hardware for a certain purpose
Linux kernel key features
• One of the more appealing
                                  • Security, it can’t hide its
  benefits to Linux is that it
  isn't a commercial operating      flaws. It code is reviewed by
  system: its source code           many experts.
  under the GNU Public            • Modularity, can include
  License is open and available     only what a system needs
  to everyone.                      even at run time
• Portable and hardware           • Exhaustive networking
  support . Runs on most            support
  hardware                        • Easy to program, you can
• Scalability, Can run on super     learn from existing code.
  computers as well as on tiny      Many useful resources on
  embedded devices.(4MB of          the net.
  RAM is enough)
• Linux is powerful              • Linux is highly compatible
  Linux systems are very fast,     with many common
  since they fully exploit the     operating systems
  features of the hardware         It lets you directly mount
  components                       file systems for all versions
• High standard for code           on MS-DOS, MS Windows,
  quality                          Mac OS, Solaris, many BSD
                                   variants and so on.
  Linux systems are usually
  very stable; they have a         It also provides supports for
  very low failure rate and        various networking
  system maintenance time          protocols and layers such as
                                   ethernet, fibre channel,
                                   IBM’s Token ring and so
                                   forth.
Embedded systems
• Embedded systems are everywhere in our
  lives, from mobile phones to medical
  equipment, including air navigation systems,
  automated bank tellers, MP3 players, printers,
  cars, and a slew of other devices about which
  we are often unaware.
• Every time you look around and can identify a
  device as containing a microprocessor, you've
  most likely found another embedded system.
•   An embedded system is a special purpose computer system that is designed to
    perform very small sets of designated activities.
     • Not meant to be traditional, general purpose computers
     • Examples : mobile phones, cameras, home multimedia, network appliances,
        transportation, industrial control, medical instrumentation, personal and air
        navigation systems
     • Uses application specific processors such as
          • ARM
          • x86
          • PowerPc
          • Even simpler microcontrollers
•   An embedded systems is designed from both hardware and software perspective,
    taking into account a specific application or set of applications. For e.g. your MP3
    player will have a separate hardware unit for MP3 decoding
•   Embedded systems are usually cost effective
Embedded Linux system architecture

 Development             Embedded Systems
     Host
      PC
                  Application            Application

     Tools
   Compiler    Library            Library         Library
   Debugger
      ….                         C library

                            Linux Kernel

                                Bootloader
Software components
• Cross-compilation tool chain
   – Compilers that runs on the development machines but
     generates code for the target machine
• Boot loader
   – Started by the hardware, responsible for basic hardware
     initialization, loading and executing the kernel
• Kernel
   – Contains the process and memory management, network stack,
     device drivers and services to user space
• C Library
   – The interface between the kernel and user space applications
• Libraries and applications
   – All user space components, open source, 3rd party or in-house
Introduction to Linux kernel
              • User/Application space,
                where applications are
                executed.
              • Kernel Space, where the
                kernel exist
              • GNU C library, this
                provides the system call
                interface, a mechanism
                to communicate
                between user space
                application and kernel
Kernel subsystem
• Kernel subsystem
•   System call interface: provides the means to perform function calls from
    user space into the kernel.
•   Process Management
     – Kernel in-charge of process creation and termination.
     – Communication among different processes (signals, IPC primitives)
     – Process scheduling, how processes share the CPU
•   Memory management
     – The kernel builds up the virtual address space for all the processes.
•   File systems
     – Linux is heavily based on file system concepts; almost everything is
         treated as file.
     – Linux supports multiple file systems types, i.e different ways of
         organizing data on the physical medium.
     – E.g. Ext2, ext3,
     – Virtual File system(VFS) provides a common interface abstraction for
         the various file systems supported by the kernel.
• Networking
   – The network stack is part of the kernel.
   – It is in charge of delivering data packets across applications and
     network interfaces.
   – All routing and address resolution issues are implemented
     within the kernel.
• Device control
   – Almost every system operations eventually maps to the
     physical device. Few exceptions such as CPU, memory, etc,
   – All device control operations are performed by the code, called
     as Device Driver.
• IPC
    – The interprocess communication on Linux includes signals, pipes and
      sockets, shared memory and message queues.
Device driver development using
             kernel modules
• Linux kernel has the ability to extend at runtime the set of features
  offered by the kernel. This means that you can add functionality to
  the kernel while the system is up and running.
• Each piece of code that can be loaded and unloaded into the kernel
  at runtime is called a module.
• Module extends the functionality of the kernel without the need to
  reboot the system.
• The Linux kernel offers support for quite a few different types (or
  classes) of modules, including, but not limited to, device drivers.
• Each module is made up of object code (not linked into a complete
  executable) that can be dynamically linked to the running kernel.
• Device drivers are developed for various hardware such hard disks,
  network controllers, USB devices, serial devices, display devices,
  printers
Advantages of modules
• Modules make it easy to develop drivers without
  rebooting: load, test, unload, rebuild & again load and so
  on.
• Useful to keep the kernel size to the minimum (essential in
  embedded systems). Without modules , would need to
  build monolithic kernel and add new functionality directly
  into the kernel image.
• Also useful to reduce boot time, you don’t need to spend
  time initializing device that may not be needed at boot
  time.
• Once loaded, modules have full control and privileges in
  the system. That’s why only the root user can load and
  unload the modules.
Ad

More Related Content

What's hot (20)

Linux Internals - Interview essentials - 1.0
Linux Internals - Interview essentials - 1.0Linux Internals - Interview essentials - 1.0
Linux Internals - Interview essentials - 1.0
Emertxe Information Technologies Pvt Ltd
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
Houcheng Lin
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
linuxlab_conf
 
Introduction to Modern U-Boot
Introduction to Modern U-BootIntroduction to Modern U-Boot
Introduction to Modern U-Boot
GlobalLogic Ukraine
 
Introduction To Linux Kernel Modules
Introduction To Linux Kernel ModulesIntroduction To Linux Kernel Modules
Introduction To Linux Kernel Modules
dibyajyotig
 
Root file system for embedded systems
Root file system for embedded systemsRoot file system for embedded systems
Root file system for embedded systems
alok pal
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
Marc Leeman
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
 
Spi drivers
Spi driversSpi drivers
Spi drivers
pradeep_tewani
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
Emertxe Information Technologies Pvt Ltd
 
A practical guide to buildroot
A practical guide to buildrootA practical guide to buildroot
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
NEEVEE Technologies
 
Linux Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
Emertxe Information Technologies Pvt Ltd
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
Rashila Rr
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
Abhishek Sagar
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
Linaro
 
Introduction to Linux Drivers
Introduction to Linux DriversIntroduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
Houcheng Lin
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
linuxlab_conf
 
Introduction To Linux Kernel Modules
Introduction To Linux Kernel ModulesIntroduction To Linux Kernel Modules
Introduction To Linux Kernel Modules
dibyajyotig
 
Root file system for embedded systems
Root file system for embedded systemsRoot file system for embedded systems
Root file system for embedded systems
alok pal
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
Marc Leeman
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
NEEVEE Technologies
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
Rashila Rr
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
Linaro
 

Similar to Linux for embedded_systems (20)

introduction to Linux operating system .pptx
introduction to Linux operating system .pptxintroduction to Linux operating system .pptx
introduction to Linux operating system .pptx
AnuradhaJadiya1
 
Lect 1_Embedded Linux Embedded RTOS ppt
Lect 1_Embedded Linux Embedded RTOS  pptLect 1_Embedded Linux Embedded RTOS  ppt
Lect 1_Embedded Linux Embedded RTOS ppt
Varsha506533
 
The Linux System
The Linux SystemThe Linux System
The Linux System
husnaina_akhtar
 
Linux Operating System. UOG MARGHAZAR Campus
 Linux Operating System. UOG MARGHAZAR Campus Linux Operating System. UOG MARGHAZAR Campus
Linux Operating System. UOG MARGHAZAR Campus
SYEDASADALI38
 
operating system ondesktop computer ( laptop)
operating system ondesktop  computer ( laptop)operating system ondesktop  computer ( laptop)
operating system ondesktop computer ( laptop)
BandaruGowtham1
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
Mohamed Abdallah
 
Linux
LinuxLinux
Linux
CIIT Wahcantt, Taxila distt. Rawalpindi Pakistan
 
Network_lecture_for_students_whom_intersted.pptx
Network_lecture_for_students_whom_intersted.pptxNetwork_lecture_for_students_whom_intersted.pptx
Network_lecture_for_students_whom_intersted.pptx
IslamReda28
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
Raul Soto
 
Linux forensics
Linux forensicsLinux forensics
Linux forensics
Santosh Khadsare
 
Linux basics
Linux basicsLinux basics
Linux basics
Santosh Khadsare
 
Lecture 1 - introduction OS learner .pdf
Lecture 1 - introduction OS learner .pdfLecture 1 - introduction OS learner .pdf
Lecture 1 - introduction OS learner .pdf
JoJo677781
 
Chapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.ppt
Chapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.pptChapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.ppt
Chapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.ppt
Mirahsz Arashian
 
Operating system 15 micro kernel based os
Operating system 15 micro kernel based osOperating system 15 micro kernel based os
Operating system 15 micro kernel based os
Vaibhav Khanna
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
Kushal Modi
 
RT linux
RT linuxRT linux
RT linux
SARITHA REDDY
 
unixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdfunixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdf
IxtiyorTeshaboyev
 
운영체제론 Ch21
운영체제론 Ch21운영체제론 Ch21
운영체제론 Ch21
Jongmyoung Kim
 
Regarding About Operating System Structure
Regarding About Operating System StructureRegarding About Operating System Structure
Regarding About Operating System Structure
sankarkvdc
 
introduction to Linux operating system .pptx
introduction to Linux operating system .pptxintroduction to Linux operating system .pptx
introduction to Linux operating system .pptx
AnuradhaJadiya1
 
Lect 1_Embedded Linux Embedded RTOS ppt
Lect 1_Embedded Linux Embedded RTOS  pptLect 1_Embedded Linux Embedded RTOS  ppt
Lect 1_Embedded Linux Embedded RTOS ppt
Varsha506533
 
Linux Operating System. UOG MARGHAZAR Campus
 Linux Operating System. UOG MARGHAZAR Campus Linux Operating System. UOG MARGHAZAR Campus
Linux Operating System. UOG MARGHAZAR Campus
SYEDASADALI38
 
operating system ondesktop computer ( laptop)
operating system ondesktop  computer ( laptop)operating system ondesktop  computer ( laptop)
operating system ondesktop computer ( laptop)
BandaruGowtham1
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
Mohamed Abdallah
 
Network_lecture_for_students_whom_intersted.pptx
Network_lecture_for_students_whom_intersted.pptxNetwork_lecture_for_students_whom_intersted.pptx
Network_lecture_for_students_whom_intersted.pptx
IslamReda28
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
Raul Soto
 
Lecture 1 - introduction OS learner .pdf
Lecture 1 - introduction OS learner .pdfLecture 1 - introduction OS learner .pdf
Lecture 1 - introduction OS learner .pdf
JoJo677781
 
Chapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.ppt
Chapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.pptChapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.ppt
Chapter 6 - INTRODUCTION TO NETWORK OPERATING SYSTEM - 0S and NOS.ppt
Mirahsz Arashian
 
Operating system 15 micro kernel based os
Operating system 15 micro kernel based osOperating system 15 micro kernel based os
Operating system 15 micro kernel based os
Vaibhav Khanna
 
unixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdfunixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdf
IxtiyorTeshaboyev
 
Regarding About Operating System Structure
Regarding About Operating System StructureRegarding About Operating System Structure
Regarding About Operating System Structure
sankarkvdc
 
Ad

Recently uploaded (20)

Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Ad

Linux for embedded_systems

  • 2. Linux operating system •Linux was initially developed by Linus Torvalds in 1991 as an operating system for IBM compatible personal computers based on the Intel 80386 microprocessor. •Linus remains deeply involved with improving Linux, keeping it up-to-date with various hardware developments and coordinating the activity of hundreds of Linux developers around the world. •Over the years, developers have worked to make Linux available on other architectures, including Alpha, SPARC, PowerPC, and ARM. •Now it has been matured into a solid unix-like operating system for workstations, networking and storage servers, data centers, clusters and embedded systems.
  • 3. What is Linux • Linux is interchangeably used in reference to the Linux kernel, a Linux system, or a Linux distribution. • Strictly speaking, Linux refers to the kernel maintained by Linus Torvalds and distributed under the same name through the main repository and various mirror sites. • The kernel provides the core system facilities. It may not be the first software to run on the system, as a bootloader may have preceded it, but once it is running, it is never swapped out or removed from control until the system is shutdown. • In effect, it controls all hardware and provides higher-level abstractions such as processes, sockets, and files to the different software running on the system.
  • 4. Linux can also be used to designate a hardware system running the Linux kernel and various utilities running on the kernel. – If a friend mentions that his development team is using Linux in their latest product, he probably means more than the kernel. – A Linux system certainly includes the kernel, but most likely includes a number of other software components that are usually running with the Linux kernel. – Often, these will be composed of a subset of the software such as the C library and binary utilities. It may also include the X window system • Finally, Linux may also designate as a Linux distribution. Red Hat, Mandrake, SuSE, Debian, Slackware, Caldera, MontaVista, BlueCat, and others are all Linux distributions. – They may vary in purpose, size, and price, but they share a common purpose: to provide the user with a set of files and an installation procedure to get the kernel and various overlaid software installed on a certain type of hardware for a certain purpose
  • 5. Linux kernel key features • One of the more appealing • Security, it can’t hide its benefits to Linux is that it isn't a commercial operating flaws. It code is reviewed by system: its source code many experts. under the GNU Public • Modularity, can include License is open and available only what a system needs to everyone. even at run time • Portable and hardware • Exhaustive networking support . Runs on most support hardware • Easy to program, you can • Scalability, Can run on super learn from existing code. computers as well as on tiny Many useful resources on embedded devices.(4MB of the net. RAM is enough)
  • 6. • Linux is powerful • Linux is highly compatible Linux systems are very fast, with many common since they fully exploit the operating systems features of the hardware It lets you directly mount components file systems for all versions • High standard for code on MS-DOS, MS Windows, quality Mac OS, Solaris, many BSD variants and so on. Linux systems are usually very stable; they have a It also provides supports for very low failure rate and various networking system maintenance time protocols and layers such as ethernet, fibre channel, IBM’s Token ring and so forth.
  • 7. Embedded systems • Embedded systems are everywhere in our lives, from mobile phones to medical equipment, including air navigation systems, automated bank tellers, MP3 players, printers, cars, and a slew of other devices about which we are often unaware. • Every time you look around and can identify a device as containing a microprocessor, you've most likely found another embedded system.
  • 8. An embedded system is a special purpose computer system that is designed to perform very small sets of designated activities. • Not meant to be traditional, general purpose computers • Examples : mobile phones, cameras, home multimedia, network appliances, transportation, industrial control, medical instrumentation, personal and air navigation systems • Uses application specific processors such as • ARM • x86 • PowerPc • Even simpler microcontrollers • An embedded systems is designed from both hardware and software perspective, taking into account a specific application or set of applications. For e.g. your MP3 player will have a separate hardware unit for MP3 decoding • Embedded systems are usually cost effective
  • 9. Embedded Linux system architecture Development Embedded Systems Host PC Application Application Tools Compiler Library Library Library Debugger …. C library Linux Kernel Bootloader
  • 10. Software components • Cross-compilation tool chain – Compilers that runs on the development machines but generates code for the target machine • Boot loader – Started by the hardware, responsible for basic hardware initialization, loading and executing the kernel • Kernel – Contains the process and memory management, network stack, device drivers and services to user space • C Library – The interface between the kernel and user space applications • Libraries and applications – All user space components, open source, 3rd party or in-house
  • 11. Introduction to Linux kernel • User/Application space, where applications are executed. • Kernel Space, where the kernel exist • GNU C library, this provides the system call interface, a mechanism to communicate between user space application and kernel
  • 13. System call interface: provides the means to perform function calls from user space into the kernel. • Process Management – Kernel in-charge of process creation and termination. – Communication among different processes (signals, IPC primitives) – Process scheduling, how processes share the CPU • Memory management – The kernel builds up the virtual address space for all the processes. • File systems – Linux is heavily based on file system concepts; almost everything is treated as file. – Linux supports multiple file systems types, i.e different ways of organizing data on the physical medium. – E.g. Ext2, ext3, – Virtual File system(VFS) provides a common interface abstraction for the various file systems supported by the kernel.
  • 14. • Networking – The network stack is part of the kernel. – It is in charge of delivering data packets across applications and network interfaces. – All routing and address resolution issues are implemented within the kernel. • Device control – Almost every system operations eventually maps to the physical device. Few exceptions such as CPU, memory, etc, – All device control operations are performed by the code, called as Device Driver. • IPC – The interprocess communication on Linux includes signals, pipes and sockets, shared memory and message queues.
  • 15. Device driver development using kernel modules • Linux kernel has the ability to extend at runtime the set of features offered by the kernel. This means that you can add functionality to the kernel while the system is up and running. • Each piece of code that can be loaded and unloaded into the kernel at runtime is called a module. • Module extends the functionality of the kernel without the need to reboot the system. • The Linux kernel offers support for quite a few different types (or classes) of modules, including, but not limited to, device drivers. • Each module is made up of object code (not linked into a complete executable) that can be dynamically linked to the running kernel. • Device drivers are developed for various hardware such hard disks, network controllers, USB devices, serial devices, display devices, printers
  • 16. Advantages of modules • Modules make it easy to develop drivers without rebooting: load, test, unload, rebuild & again load and so on. • Useful to keep the kernel size to the minimum (essential in embedded systems). Without modules , would need to build monolithic kernel and add new functionality directly into the kernel image. • Also useful to reduce boot time, you don’t need to spend time initializing device that may not be needed at boot time. • Once loaded, modules have full control and privileges in the system. That’s why only the root user can load and unload the modules.