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 January 22nd, 2024 Enrol Now!

Can't wait that long? It may be possible to deliver this course at an earlier date. Contact us if you're interested
Accessing the Unix/Linux operating system using C


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


  • 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


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.


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


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

share buttons
share on twitter
share on linkedin
share on facebook
share by email