kamalesh saha university of north carolina at charlotte
DESCRIPTION
Topics What is Linux Why Use Linux? Linux Portability What is Embedded Linux? Generic Architecture of Linux What Is Real-Time Linux? Architecture of Real-Time Linux File Systems in Embedded Linux Who Provides Embedded Linux ? References Kamalesh SahaTRANSCRIPT
![Page 1: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/1.jpg)
1
Embedded Linux
Kamalesh SahaUniversity of North Carolina at Charlotte
![Page 2: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/2.jpg)
2
Topics What is Linux Why Use Linux? Linux Portability What is Embedded Linux? Generic Architecture of Linux What Is Real-Time Linux? Architecture of Real-Time Linux File Systems in Embedded Linux Who Provides Embedded Linux ? References
Kamalesh Saha
![Page 3: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/3.jpg)
3
What is Linux Linux is a free Unix-type operating system that is
causing a revolution in the computer world.
The kernel maintained by Linus Torvalds with the assistance of developers around the world, this operating system in only a few short years is beginning to dominate markets worldwide.
A key reason for this is its development under the
GNU (GNU’s Not Unix) General Public License, meaning that the source code for Linux is freely available to everyone for the asking.
Kamalesh Saha
![Page 4: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/4.jpg)
4
Why use Linux Open Source Reliability Scalability Secure Supports Virtually All Network Communication
Protocols Large pool of skilled developers Free software and tools No runtime license
Kamalesh Saha
![Page 5: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/5.jpg)
5
Linux Portability Linux provides great portability.
The same Application Source Code is Used For A Large number of processors and architectures. A Large number of Embedded Board Support
Packages (BSP). A Large number of interfaces with device drivers
available. Linux is able to runs the same applications on
everything from a Linux based PDA to your desktop systems to your
enterprise servers.
Kamalesh Saha
![Page 6: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/6.jpg)
6
Why Linux for Embedded Systems?
Kamalesh Saha
![Page 7: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/7.jpg)
7
What is Embedded Linux?
The Linux OS ported to an embedded system. Generally contain a smaller subset of
functionality. Less services provided. Less memory required. Boots from ROM. No keyboard or mouse required. Special software developed to control
embedded peripherals. (flash disks, touch screens, tiny displays)
Kamalesh Saha
![Page 8: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/8.jpg)
8
Implementation of Embedded Linux
Initial Program Loader (IPL) Loads the kernel into memory
The Kernel This is the heart of Linux operating System.
Linux has a monolithic kernel.
File System The Linux kernel mounts a root file system
when booted.
Kamalesh Saha
![Page 9: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/9.jpg)
9
Generic Architecture of Linux
Kamalesh Saha
Ref: “Building Embedded Linux Systems” – Karim Yaghmour
![Page 10: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/10.jpg)
10
Linux and Real-Time Is Linux Real-Time?
NO, BUT…Why?
Monolithic Kernel:: The Linux kernel allows a kernel task exclusive access to some data for long periods. This could delay the execution of any POSIX (Portable Operating System Interface for uniX) real-time task that needs access to that same data.
Non Preemptable:: The Linux kernel does not preempt the execution of any task during system calls. If a low-priority process is in the middle of a system call and a message is received for a real-time process, the message will unfortunately be held in the queue until
the system call completes, despite its low priority.
Kamalesh Saha
![Page 11: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/11.jpg)
11
Linux and Real-Time Resource Lock:: Linux makes high-priority tasks
wait for low-priority tasks to release resources. For example, if any process allocates the last network buffer and a higher priority process needs a network buffer to send a message, the higher priority process must wait until some other process releases a network buffer before it can send its message.
Priority Scheduling:: The Linux scheduling algorithm will sometimes give the most unimportant and “nicest” process a time slice, even in circumstances when a
higher priority process is ready to execute.
Kamalesh Saha
![Page 12: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/12.jpg)
12
Real-Time Work on Linux Today Linux can provide Soft Real-Time Two Approaches to Real-Time Linux
Modify Linux to include a Real-Time scheduler. Fixes the problems discussed previously.
Put Regular Linux on top of a Real-Time operating system (RTOS).
Kamalesh Saha
![Page 13: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/13.jpg)
13
Real-Time Work on Linux Several Vendors are working on Real-Time
solutions: MontaVista has a Real-Time kernel that they are
trying to get accepted by the Linux Community. RTLinux provides a Real-Time kernel uses Linux
a thread of the Real-Time OS. Lineo has implemented the Real Time
Application Interface (RTAI) for Linux.
Kamalesh Saha
![Page 14: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/14.jpg)
14
Architecture of Real-Time Linux
Kamalesh Saha
Ref: Circuit Cellar Article
![Page 15: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/15.jpg)
15
Architecture of Real-Time Linux (contd.)
Resource Kernel
Kamalesh Saha
Ref: Issues for Making Linux Predictable by T. Nakajima, M. I. Asaki
![Page 16: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/16.jpg)
16
File Systems in Embedded Linux
Supports a wide range of file systems:
Log-based file systems (XFS, JFS, JFFS2, ReiserFS, ext3): favorites for servers.
Traditional Unix file systems (minix, ext, ext2, UFS) Network file systems (NFS, Coda, AFS, DFS) DOS/Windows file systems (FAT16, FAT32, NTFS)
Kamalesh Saha
![Page 17: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/17.jpg)
17
Distributions of Embedded Linux
MontaVista Software LynuxWorks Lineo Interesting Alternative
OnCore Systems Others
RedHat
Kamalesh Saha
![Page 18: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/18.jpg)
18
Types of Embedded Linux Systems
ETLinux LEM LOAF uClinux uLinux ThinLinux
Kamalesh Saha
![Page 19: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/19.jpg)
19
Flies in the Ointment
Kamalesh Saha
![Page 20: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/20.jpg)
20
Growth of Embedded Linux
Kamalesh Saha
![Page 21: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/21.jpg)
21
Applications of Embedded Linux
Kamalesh Saha
Entertainment devicesPDA
Robot Smart Phone
Embedded Single Board Computer
Embedded Processor and System-on-Chip IC
![Page 22: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/22.jpg)
22
References www.embeddedlinuxjournal.com www.embedded-linux.org www.lineo.com www.linux.org www.linuxdevices.com www.lynuxworks.com
www.redhat.com www.wikipedia.org Issues for Making Linux Predictable by T. Nakajima, M. I.
Asaki Embedding Linux by Alex Lennon “Building Embedded Linux Systems” – Karim Yaghmour
Kamalesh Saha
![Page 23: Kamalesh Saha University of North Carolina at Charlotte](https://reader036.vdocument.in/reader036/viewer/2022062306/5a4d1b3c7f8b9ab05999eea1/html5/thumbnails/23.jpg)
23
Kamalesh Saha