Site Sections => About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Systems and Network Programming for Embedded Linux — A 5-day 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.

Course 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.

Prerequisites

  • A good knowledge of Linux/Unix and C programming
  • Experience of working with embedded systems

Scheduled and On-site Courses

Courses in this subject are scheduled on an 'ad-hoc' basis. We can arrange a course at our Carshalton centre or on customer site for any client wishing to send two or more delegates on the same course.

For courses at the Carshalton Centre the fee will be:

  • £3500 + VAT for the first two delegates
  • £1650 + VAT for the third delegate
  • £1200 + VAT for the fourth delegate
  • £400 + VAT for each additional delegate to a maximum of eight

On-site course fees are as above + expenses recharged at cost.

For a 1:1 course in Carshalton the fee is £2750 + VAT. For a 1:1 on-site course the fee is £2750 + VAT + expenses recharged at cost.

If there are any dates showing below this line, a course has been scheduled and places for individuals are available at £1750. Otherwise, no courses are currently scheduled and the above fees apply.


Contents

Getting Started

  • Receiving command line arguments
  • Accessing environment variables
  • Reading and writing stdin and stdout
  • How to detect and handle system call errors

Multiprocessing

  • The memory model and life cycle of a process
  • Creating processes with fork
  • Executing programs with exec
  • Waiting for process termination
  • Returning and retrieving exit status

Multithreading

  • The memory model and life cycle of a thread
  • Creating threads with the pthreads API
  • Waiting for thread termination
  • How are threads and processes different?
  • Synchronising access to shared data
  • When to use multiple processes and threads

Basic I/O

  • Low-level input and output
  • Reading and writing files
  • Changing file attributes
  • Managing files and directories

Interprocess Communication

  • Pipes
  • Message queues
  • Shared memory
  • Semaphores

Signals

  • What are signals for?
  • Sending signals
  • Ignoring and catching signals
  • Writing signal handlers

Working with the Linux Security Model

  • Changing file permissions and ownerships
  • Accessing the user account database
  • Setting the user identity of a process

Network Communication (IPv4)

  • TCP/IP fundamentals
  • Client/server programming
  • Connection-oriented sockets
  • Connectionless sockets
  • Name resolution

Overview of IPv6 and network programming with IPv6

The Linux development environment

  • The traditional build model
  • Header files
  • Automating rebuilds with make
  • Writing platform-independent code with GNU configure
  • Using Eclipse as an integrated C development enviromnent
  • Debugging with gdb
  • Overview of Autoconf and Automake
  • Overview of Version Control using CVS or Subversion (SVN)
  • Overview of Cross Compilers and Cross Compilation Tool Chains

Linux training UK enquiries

UK Training enquiries and feedback form.

Linux training UK prices

For publicly scheduled training (individual places), see our UK training schedule.

In-house training for company groups is charged at a daily rate per group — see our In-House UK Training Guidelines.

Publicly Scheduled Training Locations

We currently run public training courses in the following locations:

  • London, UK
  • Leeds, West Yorkshire, UK
  • Birmingham, West Midlands, UK
  • Carshalton, Surrey, UK
  • Chester, North West, UK
  • Coventry, West Midlands, UK
  • Edinburgh, Scotland, UK
  • Glasgow, Scotland, UK
  • Harwell, Oxfordshire, UK
  • Manchester, North West, UK
  • Milton Keynes, Buckinghamshire, UK
  • Newark, Nottinghamshire, UK
  • Reading, Berkshire, UK
  • Slough, Berkshire, UK
  • Stevenage, Hertfordshire, UK
  • Wakefield, West Yorkshire, UK
  • Wokingham, Berkshire, UK

Most UK public training courses are available on a monthly basis.

Please see the individual course outlines or our public training schedule for details.

In-house (on-site) training locations

We deliver in-house courses at client premises and/or training facilities in any part of the world which is practically and commercially accessible.

Our In-house training guidelines outline our basic requirements and our UK pricing structure. To estimate costs for training in other countries, simply convert to your local currency and then make a rough calculation of our tutor's costs for travelling to and staying at your location.


West Yorkshire Office

GBdirect Ltd
Training Division
Bradford Design Exchange
34 Peckover Street
BRADFORD
BD1 5BD
West Yorkshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


South East Regional Office

GBdirect Ltd
Training Division
18 Lynn Rd
ELY
CB6 1DA
Cambridgeshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


Please note:
Non-training enquiries should be directed, initially, to our UK national office in Bradford (West Yorkshire), even if the enquiry concerns services delivered in London or South/East England. Clients in London and the South East will typically be handled by staff working in the London or Cambridge areas.