About Us | [Public iPhone iPad Courses] | [Public Android Courses] | [Public Arduino Courses] | [Contact Us]

Course LIN470 Systems and Network Programming for Linux

Duration: 5 Days

Course Overview

This course focuses on the "virtual machine" provided by the linux kernel to application software. Inherited largely from UNIX, the elegant application programming interface (API) described in this course has been essentially stable for many years.

The course covers all major system programming features of Linux, from basic I/O operations to interprocess and network communications, to the exploitation of concurrency through the use of threads and processes.

The C language bindings are invariably used to document the system call interface, and C is still the language of choice for most Linux systems programming. For these reasons, C is used for the examples in this course.

Intended Audience

The course is intended primarily for software developers writing or porting code in the Linux environment. The course is also valuable for technical managers and system designers wishing to understand the capabilities of Linux at a programming level.

Attendees should have a reasonable understanding of the C language. Although unnecessarily complex language structures are avoided in the course, the design of some of the API calls require that attendees are comfortable with, for example, the notion of a function returning a pointer to a structure. Course PL100 Introduction to C, provides adequate background.

Key Skills

After taking this course you will be able to:

Practical Work

Extensive hands-on exercises help you gain confidence in writing software to exploit the system features of Linux. Exercises include:


Course Contents

Getting Started

Multiprocessing

Multithreading

Basic I/O

Interprocess Communication

Signals

Working with the Linux Security Model

Network Communication

Writing graphical applications

Code Development Tools and IDEs