Course Summary - A
technical training course introducing the Linux Operating System and
Embedded Linux Distributions. The course focuses on the development and
creation of Linux applications in an Embedded Linux context. The first
part of the course focuses on acquiring an understanding of the Linux
Operating System, highlighting areas of concern for Linux application
development. The latter part covers the embedded Linux distributions
including the use of the Board Support Package (BSP) and the Software
Development Kit (SDK).
Who Should Attend - The
course is designed for real-time engineers who are building Embedded Linux
solutions. It is also targeted at experienced developers requiring a
refresher course on Embedded Linux. This course will clearly demonstrate
both the strengths and weaknesses of the Linux Operating System when used
in Embedded Systems.
Course Objectives
-
To provide a basic
understanding of the Linux OS
-
To gain an understanding
of the complexities of the Embedded Linux Distribution and its processor
dependencies
-
To give you the
confidence to apply these new concepts to your next Embedded Linux
project
Course Schedule Session
1
Introduction to Embedded Linux
Linux Terminology
A Brief History of Linux
Linux History and Versioning
GNU and the GPL
Basic Linux Directory Structure
The Linux Shell
Command Shells
Shell Commands
Shell Scripts
Debugging Embedded Linux
The Linux Trace Tool (LTT)
Graphical IDEs
Course Schedule Session 2
Processes and Threads
Introduction to Processes
Fork, Vfork, Exec and
Clone
The Linux Process Model
POSIX
The Linux Threads Model
Linux Signals
Thread Synchronization
and the NPTL
Linux Scheduling
Scheduling in Linux 2.4
and Linux 2.6
Real-Time Considerations
Inter-Process Communications
Semaphores
Message Queues
Shared Memory
FIFOs and Pipes
Course Schedule Session
3
Inter-Process Communications (cont)
Futexes
Networked IPC
Configuring Embedded Linux
oldconfig, menuconfig, xconfig and gconfig
Saving Configurations
Building the Kernel
Booting Embedded Linux
The Init Process
Interrupt Handling
Bottom Halves and
softirqs
Tasklets and Work Queues
Linux Timers and Time Management
Jiffies and Linux Timers
Busy Looping and
Spinlocks
The Big Kernel Lock (BKL)
Course Schedule Session
4
The Linux Memory Model
The Linux Paging Model
Allocating Memory
The Linux I/O System
Modules and
Modularization
The fops Struct
Open, Close, Read, Write
and Ioctl
Linux File Systems
The Root File System
Native Linux File Systems
Other File Systems
The Linux Device Model
The kobject
ktypes and ksets
Lecturer – Mike McCullough
is Director of Professional Services for Embedded Planet. Mike has a BS in
Computer Engineering and an MS in Systems Engineering from Boston
University. A 20-year electronics veteran, he has held various positions
at Wind River Systems, Lockheed Sanders, Stratus Computer and Apollo
Computer. Embedded Planet is a provider of embedded systems hardware,
Eclipse-based software development tools, training and consulting services
for the embedded systems market.
On-line registration is closed for this course, but
registration is still available on-site between 5:30PM - 6:00PM,
Wednesday, November 7, 2007 at the Holiday Inn Select, 15 Middlesex Canal
Park, Woburn or by contacting the IEEE office at 781-245-5405.