Advanced Red Hat Linux Systems Programming - RH250

This course introduces the participants to system level programming in the C language in a RHEL 6 environment. The course focuses on RHEL 6 system calls and library functions, how to use them, and their underlying mechanisms. The course deals with many facets of the RHEL6 operating system, including: introduction to RHEL6 kernel structure, I/O, Signals, Signal handlers, Timers, Processes, Multi-Tasking, Inter-Process Communication (IPC) Pipes, Shared memory, Message Queues, Semaphores, Networking, Sockets, using TCP/IP and UDP/IP.Throughout the course the information presented is related to the participant through:  the execution of common RHEL 6 user/administrator commands, and writing, compiling, and executing example C language programs which demonstrate the use of system routines and accessing system data structures on a live RHEL 6 system.


Course ID: RH250
Duration: 5 days
Audience: Anyone wanting to learn Red Hat Linux Programming
Prerequisites: RHEL utilities and editors (such as vim),A working knowledge of the C (or C++) programming language(s)
Topics:

File Systems

  • Types of file I/O
  • File I/O structures
  • File I/O access types
  • Dealing with STDIN, STDOUT, STDERR
  • Creating and using temporary files
  • Directory file access and manipulation
  • Permissions

Process Creation and Control

  • Attributes (username, UID, PID, Groups)
  • Creation methods
  • Multi-tasking
  • Shells
  • Synchronization
  • An introduction to threads

Synchronization and System Information

  • Time issues:
  • how time is maintained
  • timers
  • General synchronization
  • semaphores
  • mutexes
  • spinlocks and barriers
  • signals (generation and handling)
    System information
  • uname
  • hostname
  • load averages

Interprocess Data Communication Facilities

  • Overview of RHEL 6  IPC Facilities
  • Memory Mapped files 
  • Pipes and Named Pipes
  • Messages Queues 
  • Creating and Using Shared Memory structures
  • Advanced Red Hat Linux Systems Programming

Sharing Code Between Processes

  • Building shared object (libraries)
  • Static Linking
  • Dynamic Linking

Networking

  • Concepts and basic requirements
  • Socket creation and usage
  • TCP/IP level connections
  • UDP/IP level connections
 

Call Toll-free 877-245-6815 or 303-416-3056 to set up your IT Training today.