Systems and Network Programming for Embedded Linux — A 5 day course

contact usEnquire about this course

Synopsis

This course focuses on the Linux system call interface. You'll learn all major system programming features, from basic file and device I/O to network communications and signal handling.

You'll learn how to exploit concurrency through the use of processes and threads, and how to perform inter-process communication and synchronisation. You'll use connection-oriented and connectionless sockets to write clients and server.

Hands-on exercises will use PCs running SuSE or Debian Linux and an ARM9 target board running ELinos Linux. However, the course content is generic and does not rely on features peculiar to any one Linux distribution.

Objectives

You will learn how to write well structured and efficient code that makes use of the POSIX API.

You'll become proficient in the use of standard idioms and patterns for creating and managing multiple processes and threads, and in using the various inter-process communication mechanisms provided by the POSIX API for synchronising processes and threads.

You'll also learn how to implement TCP/IP applications, both client and server side, using the sockets API.

Contents

Getting Started

Multiprocessing

Multithreading

Basic I/O

Interprocess Communication

Signals

Working with the Linux Security Model

Network Communication (IPv4)

Overview of IPv6 and network programming with IPv6

The Linux development environment

Prerequisites

A good knowledge of Linux/Unix and C programming

Experience of working with embedded systems