LinuxCertified, Inc. Home | News and Links | About LinuxCertified Inc.
Linux & Open-Source TrainingLinux LaptopsLinux Services  

Class Offerings

Class Schedule

Distance Learning


Academic Program

Student Feedback



Linux Development Essentials

Course Description
This course is designed to bring C developers up to speed with a variety of tools and capabilities of Linux. This includes development and debugging tools as well as system and library functions.

The intent is to provide background that will be of general interest to all Linux based developers.
Students should be prepared for some lengthy programming exercises.

This course provides substantial practice with key tools and capabilities available to developers of Linux based applications and system software. The course shows attendees how to use development and debugging tools and how to make use of many Linux system calls and library routines.

Attendees will spend approximately 50 percent of the class time actually gaining hands-on experience with these topics.

Course Objectives
Effectively use a variety of tools for Linux application development.
To give you practical experience in using Linux system calls and library routines.
Compile programs with variety of options.
Use GDB to debug applications.
Use electric fence, gprof, gcov, and other tools for debugging and performance analysis.
Write a simple shell.
Create socket base applications.

Attendees will learn:
How to use GNU tools for compiling and debugging.
How to use an integrated development environment.
How to write POSIX Threaded applications
How to use system calls for such things as inter-process communication, interacting with the file system, signals, time, creating a daemon and scheduling.

Who Should Attend:
The course is for programmers who are new to Unix and Linux. Attendees should have experience with C and be able to perform basic Unix commands.

Duration: Four days. (9AM - 5PM)

Course Materials
The workshop materials include a comprehensive student workbook . The workbook contains all of the slides used in the course as well as hands-on lab exercises.

Course Workshop:
The workshop makes use of standard PC's with a desktop Linux distribution for development.

Course Content:

Linux Development

Objectives and format
Course overview

Overview Of Linux Programming

Linux kernel overview
System calls and library routines

System Libraries and Headers

System Include files
Using and creating libraries
Using Make

Programming with GNU tools

debugging with gdb


Integrated Development Environments: KDevelop & Eclipse
Electric Fence & Valgrind

System Limits and Portability

System Configuration
Linux Standards Base

Process Management

Creating processes
Process signaling and status
Process and user ID's

Linux File System

Access Permissions
I/O System Calls
Manipulating files
Higher performance I/O

Inter-Process Communication

Message Queues
Shared Memory


Process Scheduling
Manipulating Priorities


Sending Signals
Reliable signal handling
Signal sets
Queueing signals


Current Date and Time
Timing events

POSIX Threads

Creating Threads
Synchronizing Threads
Thread scheduling
Threads and Signals
Shared Memory

Daemon Programming

Process groups
Starting Daemons
Message Queues
Error reporting


Optional: All attendees will get a Linux laptop to be used during the class. You have the option of purchasing this laptop with an additional course fee.

On-site: If you would like to arrange an on-site Linux software development class, please contact us at classes@linuxcertified.com

Fee: $2599 per student (includes all class materials)

Public class schedule: Please see dates on our calendar page.
Enrollment Form

Return to Top

Get training updates and Linux tips:

US Toll Free: 1 877 800 6873
Linux is a registered trademark of Linus Torvalds.
Copyright © 2000-2009 LinuxCertified.com. All rights reserved.
LinuxCertified, Inc: Linux Training, Services & Laptop Provider