[RTD Training & Development] www.unix-linux-training-courses.co.uk
Unix & Linux Training Courses
Professional training courses in Unix and Linux usage; administration; installation and programming in the UK and Ireland
[All Courses] [Courses] [On-Site Courses] [Custom Courses] [Training Facilities] [Contact Us] [About RTD]

RTD Training

 

Unix and Linux Programming in C

5 days hands-on £1,499+VAT (€1,749+VAT)

Next scheduled date: Monday 5-Mar-2012 [Enrol now!]

This course may be offered at an earlier date

 

Related Courses

Introduction to Unix/Linux and Shell Programming

Unix System Administration

SuSE Linux Installation and Administration

Unix and Linux Programming in C

Unix Network Programming

Outline

Unix/Linux Review

  • Documentation
  • Processes
  • Command line arguments
  • Environment variables
  • Virtual memory

C Programming Review

  • Library routines
  • Error handling
  • Accessing the command line
  • Accessing the environment
  • System calls

Files and I/O

  • File descriptors
  • File creation
  • Opening and closing I/O channels
  • Reading and writing data
  • File and record locking
  • Manipulating files and directories
  • Accessing devices
  • Working with links
  • Implementing pipes

Process Control

  • The fork-exec mechanism
  • Creating processes
  • Setting the environment
  • Process termination
  • Handling the exit status
  • Creating daemon processes
  • Sending signals
  • Writing signal handlers
  • Reliable signals
  • Multi-threading

Memory Management

  • Using dynamic memory allocation
  • Avoiding memory leaks

Semaphores

  • Theory of semaphores
  • Unix semaphore implementation
  • Semaphore system calls
  • Using semaphores

Message Queues

  • Types of message queues
  • Message queue system calls
  • Using message queues

Shared Memory

  • Shared memory features
  • Shared memory system calls
  • Using shared memory

Miscellaneous Features

  • User authentication
  • Directory structure
  • Inode structure
 

Overview

Unix and Linux provide many powerful facilities such as multi-tasking and inter-process communication. A thorough understanding of these facilities enables programmers to write effective and robust applications.

The techniques covered in this course are applicable to most major Unix and Linux distributions.

Objectives

On successful completion of this course, participants will be able to write Unix and Linux applications that:

  • Use the system facilities
  • Perform I/O
  • Utilise file and record locking
  • Access devices directly
  • Perform memory management tasks
  • Create and control other processes
  • Communicate with other processes

Audience

This course is for programmers and analysts who wish to write Unix or Linux applications in C.

Prerequisites

Participants must have a knowledge of C or C++ up to the level covered in the C Programming course, and a knowledge of Unix or Linux up to the level covered in the Unix and Linux Fundamentals course.