Академический Документы
Профессиональный Документы
Культура Документы
On
“Embedded Linux”
Submitted By
Department of
INFORMATION TECHNOLOGY
SIPNA SHIKSHAN PRASARAK MANDAL’S
College of Engineering & Technology, Amravati
Sant Gadge Baba Amravati University,
Amravati.
YEAR: 2010-2011_
Index
Abstract
Introduction
Embedded systems
Embedded Linux
Implementation
Advantages/Disadvantages
Applications
Conclusion
Reference
Abstract
Embedded systems may use a ROM-based operating system or they may use a
disk-based system, like a PC. This paper covers the use of operating system in
embedded deign. Since the embedded system is dedicated to specific tasks;
design engineers can optimize it, reducing the size and cost of the product, or
increasing the reliability and performance. The absolute operating system for
this is “Linux”. The Linux operating system provides great opportunities in the
development of applications and technologies for the growing embedded
computing market.
Today Linux supports a very wide range of platforms, from Embedded Systems
based on ARM, PowerPC, Intel, and Hitachi microprocessors to name a few, all
the way up to workstations, servers, and clusters. It also served as a launch pad
for the open source movement, and consequently leads to great interest from
academia and business alike.
Introduction
Embedded Linux means using a Linux platform to design and implement these
Embedded Systems.
Embedded Linux systems are not truly real time systems. In a real time a given
operation is guaranteed to be completed in a given time period. Embedded
Linux systems operate in a soft real-time or near real-time manner. It means
that it does not have an absolute completion time requirement or its completion
time is long enough that any operating system can meet it.
Linux can be modified to provide just about any level of real-time performance
desired
The first operating systems for mobile phones and other mobile consumer
electronic devices were custom developed, which means they were expensive to
develop and maintain, as all hardware drivers and interfaces had to be written
from scratch in a low level programming language.[7]
Soon developers started to look for higher-level approaches that would facilitate
re-use of software components. A typical installation of embedded Linux
requires only about two megabytes, which was therefore a good candidate for
use as operating system of resource limited devices. Furthermore, Linux is
Open Source and therefore well suited as basis for standards.
Number No: 1 Reason. It’s FREE also Linux is the most cost efficient
OS in the world. And not only is it free, it also (typically) comes with
applications that would cost hundreds if not thousands of dollars.[11]
Security -Linux will keep your family safe from Malware and viruses
other
0 5 10 15 20 25
it represents "insurance"
Want OS source
Other
As the technology and the use of embedded devices grows, the need to
minimize cost and to keep up with the latest features that technology has
to offer becomes increasing difficult and expensive. To manage these
issues Embedded Linux becomes a highly desirable choice of technology
for the operating system due to its scalability, configurability and
affordability[13][14]
Implementation
Linux uses the file system to store and locate executable programs and
persistent data. Even system devices are referred to by special files in the file
system. A file system on some type of disk device is an integral part of the
Linux execution environment. [3] All operating systems require some
resource usage in order to operate. The main resource required is computer
memory. Some operating systems have a larger memory "footprint" than
others. In embedded systems where both RAM and ROM is a precious
resource, an operating system with too large a footprint must be ruled out.
The Linux kernel provides support for memory management, process and thread
creation, interprocess communications mechanisms, interrupt handling, execute-
in-place ROM filesystems, RAM filesystems, flash management, and TCP/IP
networking. The Linux kernel provides a POSIX-compliant API to these
services. The directory structure of the kernel source tree separates architecture-
dependent code out from the core kernel services, allowing greater reliability
with known-working core algorithms, with calls to machine-specific code added
for particular platforms. Thus, adding support for specific device features is
fairly straightforward. This implementation methodology is also followed for
memory management, i/o, and driver designs, where the core kernel code
abstracts a model that allows implementation on differing architectures.
Memory Management
The kernel provides complete modern virtual memory services to applications
programs, including support for large address spaces, protection, demand
paging, memory mapping and shared virtual memory. While support for large
address spaces or demand paging may not seem important for embedded
systems designs, all of the modern 32-bit processor architectures support these
features, and Linux will allow growth in application complexity as hardware
costs are reduced without redesign or reimplementation. Memory protection
allows building systems that allow user-upgradeable or third-party applications
to be added to the system, without compromising the entire system. Shared
virtual memory support allows multiple copies of application’s code segments
to be shared across the system using less physical memory, as well as
implementation of more sophisticated schemes like high-speed direct
application framebuffer access for MPEG digital video players, for instance.
Processes and Threads
Linux provides a relatively cheap process creation mechanism, which allows
memory-protected processes and threads to be created quickly for a variety of
uses. Recent embedded implementations provide soft real-time scheduling
services for applications programs. In most cases, these scheduling services
provide all that is required for applications requiring networking, i/o and
graphical services. Each process in Linux has its own table of open files and
virtual memory allocations, although files and memory can be shared between
processes.
Interprocess Communication
The kernel provides signals, pipes and sockets for communications between
applications. The signal mechanism allows user programs to be asynchronously
notified when a specified event occurs. Signals can be sent to single processes
or process groups. The pipe mechanism implements a full-duplex facility for
arbitrary byte i/o between processes.Linux sockets act just like file or pipe
descriptors but instead communicate to the networking subsystem. A
specialized type of socket, known as a local UNIX socket, allows
communications between local processes similar to the pipe mechanism but
using the networking system calls instead. Using a socket creation parameter,
processes communicating together on a local machine can be replaced by
processes communicating between two different machines, using the
networking system, without other architectural changes.
TCP/IP Networking
A very complete implementation of the standard TCP/IP networking protocol
suite, including TCP, UDP, IP, and ARP is found in the Linux kernel. In
addition, complete support for NFS, DNS, DHCP, PPP and SLIP is included by
applications programs. Linux’s networking support and configuration
customizability make Linux well suited for the mobile and Internet appliance
markets, where data communications is a key technology.
Windows Equivalents on Linux
WINDOWS LINUX
Internetexplorer/browser Firefox/Mozilla/Konqueror
A Linux distribution, often simply distribution or distro, is a member of the Linux family of
Unix-like operating systems comprising the Linux kernel, the non-kernel parts of GNU
operating system, and assorted other software. Because most of all kernel and software
packages are free and open source, Linux distributions have taken a wide variety of forms
from fully-featured desktop and server operating systems to minimal environments.[10]
700
600
Growth in million
500 dollars, 610
400
300
200
100
0
2000
2001
2002
2003
2004
2005
2006
2007
Embedded Linux Applications
MotorolaRAZR2[1]
Blackberry BOLD
Samsung st45-lg1[9]
Samsung omniaPro-b7330[9]
Samsung reclaim[9]
You should’ve got a fair idea about embedded Linux, open source. The
Linux operating system is well suited for use in the rapidly growing embedded
computing market. It’s technologically advanced, open source development
model, free availability and royalty free distribution make it an ideal choice for
future designs. The large developer environment and fast pace of contributions
ensure that Linux will meet the requirements of emerging embedded and mobile
applications for some time to come.
References