Systems and Network Programming for Embedded Linux

Course

Online

Price on request

Description

  • Type

    Course

  • Methodology

    Online

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.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Linux
  • Programming
  • IT
  • Network Training
  • Network
  • Systems

Course programme

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 IPv6The 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

Systems and Network Programming for Embedded Linux

Price on request