RTD Training & Development

Unix/Linux System Programming

Call us on +44 (0)1225 66 72 72 or send us a message

Unix/Linux System Programming

4 days hands-on £1,940+VAT

This course can be delivered over the web

Next scheduled date:
Monday June 18th, 2018 Enrol Now!

Accessing the Unix/Linux operating system using C

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.