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.