• Decrease font size
  • Default font           size
  • Increase font size

Red Hat - Linux Application Programming

Print E-mail
Course Length - 4 Days Hands-On 
  
Course Description

The Linux Application Programming hands-on course teaches you how to use the Linux system calls and library functions for writing system and application programs in C.  

 
  
Course Objectives:
  • Learn to write portable, open programs that range in complexity from simple file I/O to network applications.  
  • Gain experience in responding to errors and exceptions, manipulating file attributes and handling signals and other inter-process communication methods. 
 
     
Course Prerequisites

Attendees to this course should have a good foundation in the essentials of the C programming language, including pointers, structures, unions, and typedefs.

Students should also have previous practical command line experience with Linux or a Linux-like commercial operating system.

  
Course Outline:  

Chapter 1 - Introduction to the Linux Environment

 
  • How Linux is organized and why.
  • The GNU programming environment 
 
Chapter 2 - Arguments , the environment, and popular system functions 
  • Arguments to a program. 
  • Retrieving information from the environment.
  • How to use getopt() effectively.
  • Discovering the date and time
  • Getting system information.
 
Chapter 3 - File I/O 
  • Library functions and system calls for I/O 
  • Getting file status information with stat()
  • Processing directories and directory entries.
 
Chapter 4 - Processes and Signals  
  • How to start new processes and "change their image"
  • fork() and exec()
  • Sending event-type messages to processes
  • signal(), kill(),
  • Other signal handling functions
 
Chapter 5 - Pipes 
  • The pipe() and popen() calls
  • Named pipes 
 
Chapter 6 - System V IPC 
  • Linux and IPC.
  • Shared memory
  • Message queues
  • Semaphores
 
Chapter 7 - Sockets 
  • The Berkeley socket interface
  • Introduction to TCP/IP
  • Sockets in TCP and UDP
  • Unix domain sockets
  • Raw IP sockets
  • Resolving host and service names
 
Chapter 8 - Threaded Programming 
  • Introduction (Why use threads?)
  • POSIX threads
  • How Linux implements threads