Linux On Embedded Systems

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 8

Linux on embedded systems

History

Devices coverage

The Linux kernel has beenportedto a variety


ofCPUswhich are not only primarily used as
the processor of a desktop or server
computer, but alsoARC,ARM,AVR32,ETRAX
CRIS,FR-V,H8300,IP7000,m68k,MIPS,
mn10300,PowerPC,SuperH,
andXtensaprocessors. Linux is also used as
an alternative to using
aproprietaryoperating systemand its
Due
to its low cost (freely available source code)
associatedtoolchain
and ease of customization, Linux has been shipped
in many consumer devices. Devices covering PDAs
(like the Sharp Zaurus family), TomTom GPS
navigation devices, residential gateways like the
Linksys WRT54G series or smartphones such as the
Motorola exz series, Openmoko handsets, and the
Nokia N900 and Nokia N9.
Android, a Linux-kernel-based operating system
developed by Google and introduced in 2008, has
become a highly competitive platform for
smartphones and tablets. In July 2012, Android's

Communities

Platform usage

With the availability of consumer embedded


devices, communities of users and developers
were formed around these devices: replacement or
enhancements of the Linux distribution shipped on
the device has often been made possible thanks to
availability of the source code and to the
communities surrounding the devices. Due to the
high number of devices, standardized build
systems have appeared, including yocto, Open
embeded, Buitroote, OpenWrt, and LTIB.
The advantages of embedded Linux over
proprietary embedded operating systems include
multiple suppliers for software, development and
support; no royalties or licensing fees; a stable
kernel; the ability to read, modify and redistribute
the source code. The technical disadvantages
include a comparatively large memory footprint
(kernel and root filesystem); complexities of user
mode and kernel mode memory access, and a
complex device drivers framework

Linux range of use


For desktop computers

For gaming

The common human interface devices (HIDs) available for desktop computers,
laptops and similar devices determine the design of the (graphical) humancomputer interface implemented in software. There are a few software
packages to choose among, when building an accordingly designed graphical
user interface. The generic input driver for the Linux kernel is evdev, but here
are several input methods implemented as middleware, i.e., atop and not as
part of the Linux kernel.

As adoption is proving, the Linux kernel is suitable as a gaming platform. Of course,


added software is needed to either augment a typical desktop installation to be suitable
as a gaming platform, or to create a Linux-based operating system for a dedicated
gaming platform.

For servers and clusters


Servers

There is an abundance of server software (cf. clientserver model) supporting


various communications protocols, such as HTTP (web server), SMTP (mail
transfer agents), POP3 and IMAP (e-mail server), Lightweight Directory Access
Protocol (LDAP), Server Message Block (SMB-CIFS) (Samba), Simple Network
Management Protocol (SNMP) (for system and network monitoring), Session
Initiation Protocol (SIP), various routing protocols that run, partly exclusively, on
the Linux kernel.
Some software bundles, also called solution stacks, have been that widely
adopted, that their acronyms have become well known. Examples include:
For dynamic web pages:
Linux operating system, Apache web server, MySQL database, and PHP
programming language (LAMP)
Linux operating system, Yaws web server, Mnesia or CouchDB database, and
Erlang programming language (LYME, LYCE)
For cloud computing:
Linux operating system, Eucalyptus Amazon Web Services framework, AppScale
cloud computing framework, and Python programming language (LEAP)
OpenStack for infrastructure as a service (IaaS), the controller nodes run only
on a Linux operating system

Clusters
Components of the Linux kernel, such as Logical Volume Manager (LVM), are well suited
to support computer clusters. There is also software for managing clusters, e.g.,
Pacemaker, Linux-HA, DRBD, oVirt, openQRM, Ganeti, Eucalyptus, AppScale, or
OpenNebula.

Virtualizing

For both single system image and multi system image clusters, there are at least
LinuxPMI, OpenSSI, Open-Sharedroot (diskless shared-root cluster), and Kerrighed
available.
There are three solutions for operating-system-level virtualization: Linux-VServer, LXC
and OpenVZ, which offer similarities to FreeBSD jails and Solaris Containers.
A Linux operating systems runs virtualized on Xen, a micro-kernel-type hypervisor
published under the same license as the Linux kernel (GNU GPL 2.0), and with KVM it is
possible to turn the Linux kernel into a hypervisor.
For the managing there are libvirt, libguestfs and several utilities building on them, and
a few other programs.
OpenStack controller nodes run exclusively on Linux, while compute nodes are crossplatform. Software projects, serving a similar use-case as OpenStack are Nimbus,
Ganeti, AppScale, OpenNebula, Eucalyptus or openQRM.

For mobile devices


One of the best known Linux-based operating systems for mobile devices, such as
smartphones, is the Android (operating system). Android employs a modified Linux kernel and
combines it with libbionic instead of the glibc, SurfaceFlinger as display server, and some other
replacements specifically written for this purpose.
Many mobile devices have a touchscreen as their sole human interface device (HID). The GUI
and partly the middleware of the operating system has to be adapted as to enable software
designers to create an according human-computer interface.
For embedded systems
The Linux kernel has gained wide use in operating systems used in embedded
systems, as real-time and non-real-time variants.
Patches exist which transform the Linux kernel into a real-time kernel, termed a
real-time operating system (RTOS). Several are actively maintained. Minimally,
such an operating system includes a more or less modified Linux kernel, uClibc
and BusyBox.
Non-RTOS variants exist. OpenWrt, which is also a Linux distribution, is for use
on customer-premises equipment (CPE) devices like wireless routers. Rockbox,
which is based on Clinux, is an operating system for portable media players.

Track listing
"T.L.C." 2:52
"Beat the Heat" (Anders Glenmark/Ingela Forsman) 3:20
"Mio My Mio" 3:56
"Ghost Town" 3:41
"I Am the Universe" 4:05
"Sniffin' Out the Snakes" (Anders Glenmark/Ingela Forsman) 3:39
"I'm a Bitch When I See Red" 3:26
"There's No Way to Fool a Heart" (Anders Glenmark/Ingela Forsman) 4:55
"Wild About That Girl" (Dan Sundqvist/Anders Glenmark/Bjrn Ulvaeus) 3:19
"Nearly There" 3:13

You might also like