Linux Development Essentials
A Two Day Course
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.
Overview
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 use system calls for such things as inter-process communication, interacting with the file system.
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: Two 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. Usually, Fedora Core 3.
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
Linking
Using Make
Programming with GNU tools
gcc
optimization
linker
debugging with gdb
Tools
Integrated Development Environments: KDevelop & Eclipse
Electric Fence & Valgrind
cachegrind
gprof
gcov
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
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: per student (includes all class materials)
Public class schedule: Please see dates on our calendar page.
Enrollment
Form