Contact Us

« Important Announcement » Contact Us 877-206-0106 | USA Flag

Thank you for your interest in LearnQuest.

Your request is being processed and LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.


Thank you for your interest in Private Training.

We look forward to helping you develop the perfect training solution to help you meet your company's goals.

For immediate assistance, speak with one of our representatives using the chat module below. Otherwise, LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.


Thank you for your interest in LearnQuest!

Now, you will be able to stay up-to-date on our latest course offerings, promotions, and training discounts. Watch your inbox for upcoming special offers.


Date: xxx

Location: xxx

Time: xxx

Price: xxx

Please take a moment to fill out this form. We will get back to you as soon as possible.

All fields marked with an asterisk (*) are mandatory.

Developing Applications For Linux (LFD401)

3,250 USD
4 Days
Classroom Training, Online Training
Open Source

AWS Training Pass

Take advantage of flexible training options with the AWS Training Pass and get Authorized AWS Training for a full year.

Learn More

Prices reflect a 22.5% discount for IBM employees (wherever applicable).
Prices reflect a 24% discount for Kyndryl employees (wherever applicable).
Prices reflect the Accenture employee discount.
Prices shown are the special AWS Partner Prices.
Prices reflect the Capgemini employee discount.
Prices reflect the UPS employee discount.
Prices reflect the ??democompanyname?? employee discount.
GSA Private/Onsite Price: ??gsa-private-price??
For GSA pricing, please go to GSA Advantage.

Class Schedule

Delivery Formats

Sort results

Filter Classes

Guaranteed to Run





    Sorry, there are no public classes currently scheduled in your country.

    Please complete this form, and a Training Advisor will be in touch with you shortly to address your training needs.

View Global Schedule

Course Description


Learn how to develop applications for the Linux environment. In this course, you'll get hands-on experience with the necessary tools and methods for Linux application development and learn about the features and techniques that are unique to Linux.


In this course students will learn about the tools and methods for developing C programs and doing systems programming under Linux, debugging techniques, process management, Linux specific paid and system calls, and more. This course will prepare students to develop applications for a Linux environment.


This course is for experienced developers. Students should be proficient in C programming, and be familiar with basic Linux utilities and text editors.


    This course is for experienced developers. Students should be proficient in C programming, and be familiar with basic Linux utilities and text editors.


  • Objectives
  • Who You Are
  • The Linux Foundation
  • Linux Foundation Training
  • Linux Distributions
  • Platforms
  • Preparing Your System
  • Using and Downloading a Virtual Machine
  • Things change in Linux
  • Course Registration
  • Procedures
  • Standards and the LSB
How to Work in OSS Projects **
  • Overview on How to Contribute Properly
  • Stay Close to Mainline for Security and Quality
  • Study and Understand the Project DNA
  • Figure Out What Itch You Want to Scratch
  • Identify Maintainers and Their Work Flows and Methods
  • Get Early Input and Work in the Open
  • Contribute Incremental Bits, Not Large Code Dumps
  • Leave Your Ego at the Door: Don’t Be Thin-Skinned
  • Be Patient, Develop Long Term Relationships, Be Helpful
  • GCC
  • Other Compilers
  • Major gcc Options
  • Preprocessor
  • Integrated Development Environments (IDE)
  • Labs
  • Static Libraries
  • Shared Libraries
  • Linking To Libraries
  • Dynamic Linking Loader
  • Labs
  • Using make and Makefiles
  • Building large projects
  • More complicated rules
  • Built-in rules
  • Labs
Source Control
  • Source Control
  • RCS and CVS
  • Subversion
  • git
  • Labs
Debugging and Core Dumps
  • gdb
  • What are Core Dump Files?
  • Producing Core Dumps
  • Examining Core Dumps
  • Labs
Debugging Tools
  • Electric Fence
  • Getting the Time
  • Profiling and Performance
  • valgrind
  • Labs
System Calls
  • System Calls vs. Library Functions
  • How System Calls are Made
  • Return Values and Error Numbers
  • Labs
Memory Management and Allocation
  • Memory Management
  • Dynamical Allocation
  • Tuning malloc()
  • Locking Pages
  • Labs
Files and Filesystems in Linux **
  • Files, Directories and Devices
  • The Virtual File System
  • The ext2/ext3 Filesystem
  • Journaling Filesystems
  • The ext4/ Filesystem
  • Labs
File I/O
  • UNIX File I/O
  • Opening and Closing
  • Reading, Writing and Seeking
  • Positional and Vector I/O
  • Standard I/O Library
  • Large File Support (LFS)
  • Labs
Advanced File Operations
  • Stat Functions
  • Directory Functions
  • inotify
  • Memory Mapping
  • flock() and fcntl()
  • Making Temporary Files
  • Other System Calls
  • Labs
Processes – I
  • What is a Process?
  • Process Limits
  • Process Groups
  • The proc Filesystem
  • Inter-Process Communication Methods
  • Labs
Processes – II
  • Using system() to Create a Process
  • Using fork() to Create a Process
  • Using exec() to Create a Process
  • Using clone()
  • Exiting
  • Constructors and Destructors
  • Waiting
  • Daemon Processes
  • Labs
Pipes and Fifos
  • Pipes and Inter-Process Communication
  • popen() and pclose()
  • pipe()
  • Named Pipes (FIFOs)
  • splice(), vmsplice() and tee()
  • Labs
Asynchronous I/O**
  • What is Asynchronous I/O?
  • The POSIX Asynchronous I/O API
  • Linux Implementation
  • Labs
Signals – I
  • What are Signals?
  • Signals Available
  • Dispatching Signals
  • Alarms, Pausing and Sleeping
  • Setting up a Signal Handler
  • Signal Sets
  • sigaction()
  • Labs
Signals – II
  • Reentrancy and Signal Handlers
  • Jumping and Non-Local Returns
  • siginfo and sigqueue()
  • Real Time Signals
  • Labs
POSIX Threads – I
  • Multi-threading under Linux
  • Basic Program Structure
  • Creating and Destroying Threads
  • Signals and Threads
  • Forking vs. Threading
  • Labs
POSIX Threads – II
  • Deadlocks and Race Conditions
  • Mutex Operations
  • Semaphores
  • Futexes
  • Conditional Operations
  • Labs
Networking and Sockets
  • Networking Layers
  • What are Sockets?
  • Stream Sockets
  • Datagram Sockets
  • Raw Sockets
  • Byte Ordering
  • Labs
Sockets – Addresses and Hosts
  • Socket Address Structures
  • Converting IP Addresses
  • Host Information
  • Labs
Sockets – Ports and Protocols
  • Service Port Information
  • Protocol Information
  • Labs
Sockets – Clients
  • Basic Client Sequence
  • socket()
  • connect()
  • close() and shutdown()
  • UNIX Client
  • Internet Client
  • Labs
Sockets – Servers
  • Basic Server Sequence
  • bind()
  • listen()
  • accept()
  • UNIX Server
  • Internet Server
  • Labs
Sockets – Input/Output Operations
  • write(), read()
  • send(), recv()
  • sendto(), recvfrom()
  • sendmsg(), recvmsg()
  • sendfile()
  • socketpair()
  • Labs
Sockets – Options
  • Getting and Setting Socket Options
  • fcntl()
  • ioctl()
  • getsockopt() and setsockopt()
  • Lab
Netlink Sockets**
  • What are netlink Sockets?
  • Opening a netlink Socket
  • netlink Messages
  • Labs
Sockets – Multiplexing and Concurrent Servers
  • Multiplexed and Asynchronous Socket I/O
  • select()
  • poll()
  • pselect() and ppoll()
  • epoll
  • Signal Driven and Asynchronous I/O
  • Concurrent Servers
  • Labs
Inter Process Communication
  • Methods of IPC
  • System V IPC**
  • Labs
Shared Memory
  • What is Shared Memory?
  • POSIX Shared Memory
  • System V Shared Memory**
  • Labs
  • What is a Semaphore?
  • POSIX Semaphores
  • System V Semaphores**
  • Labs
Message Queues
  • What are Message Queues?
  • POSIX Message Queues
  • System V Message Queues**
  • Labs
Closing and Evaluation Survey
2023 Top 20 Training Industry Company - IT Training

Need Help?

Call us at 877-206-0106 or e-mail us at

Personalized Solutions

Need a personalized solution for your Training? Contact us, and one of our training advisors will help you find the best solution.

Contact Us

Need Help?

Do you have a question about the courses, instruction, or materials covered? Do you need help finding which course is best for you? We are here to help!

Talk to us

20% Off All Project Management Training Courses

Maximize project efficiency and profitability across the board.


20% Off All AI Training Courses

IBM TechXchange Conference 2024

October 21-24 | Mandalay Bay, Las Vegas

Save $127 with Code: TECHXCHANGE10

Offer Expires June 30, 2024

Self-Paced Training Info

Learn at your own pace with anytime, anywhere training

  • Same in-demand topics as instructor-led public and private classes.
  • Standalone learning or supplemental reinforcement.
  • e-Learning content varies by course and technology.
  • View the Self-Paced version of this outline and what is included in the SPVC course.
  • Learn more about e-Learning

Course Added To Shopping Cart







Self-Paced Training Terms & Conditions


Sorry, there are no classes that meet your criteria.

Please contact us to schedule a class.

STOP! Before You Leave

Save 0% on this course!

Take advantage of our online-only offer & save 0% on any course !

Promo Code skip0 will be applied to your registration

Nothing yet
here's the message from the cart

To view the cart, you can click "View Cart" on the right side of the heading on each page
Add to cart clicker.

Purchase Information

??elearning-coursenumber?? ??coursename??
View Cart

Need more Information?

Speak with our training specialists to continue your learning journey.


Delivery Formats


By submitting this form, I agree to LearnQuest's Terms and Conditions

heres the new schedule
This website uses third-party profiling cookies to provide services in line with the preferences you reveal while browsing the Website. By continuing to browse this Website, you consent to the use of these cookies. If you wish to object such processing, please read the instructions described in our Privacy Policy.
Your use of this LearnQuest site affirms your consent to our use of session and persistent cookies to track how you use our website.