Discover Classes. Earn Rewards.

Developing Applications for Linux is unfortunately unavailable

Thankfully we have 2 other Linux Classes for you to choose from. Check our top choices below or see all classes for more options.

Fullstack Academy Cybersecurity Analytics Bootcamp

Fullstack Academy @ Virtual Classroom

Transform your career and join the fight against cybercrime with Fullstack Academy's immersive Fullstack Cybersecurity Analytics Bootcamp. Gain the defensive and offensive cybersecurity skills you need to succeed in this high-growth field. Don't miss out on the opportunity to build a successful cybersecurity career.

Beginner 18 and older
$14,995

60 sessions

Gift it!

CompTIA Security+ Certification Prep

ONLC Training Centers - Virtually Online

Prepare to enhance your skills in cybersecurity with a comprehensive course that covers threats, attacks, vulnerabilities, identity management, and risk assessment. Ideal for IT professionals seeking to advance their careers in security architecture, engineering, administration, and more.

(7) Intermediate 18 and older
$2,495

5 sessions

Gift it!
See all Linux classes Online

Developing Applications for Linux

  • Intermediate
  • 13 and older
  • $3,250
  • Live, Instructor-led Online
  • 32 hours over 4 sessions

Start Dates (0)

  • $3,250
  • Live, Instructor-led Online
  • 32 hours over 4 sessions
Showing 10 of 0

Class Description

Description

What you'll learn in this linux training:

This course is designed to help experienced developers get up to speed quickly on how to develop applications for a Linux environment.

In this course you’ll learn:

  • The tools and methods for developing C programs and doing systems programming under Linux.
  • Debugging techniques and process management. 
  • Linux specific paid and system calls.
  • And more.

The information in this course will work with any major Linux distribution.

Audience: This course is for experienced developers.

Prerequisites: Students should be proficient in C programming, and be familiar with basic Linux utilities and text editors.

Course Materials: As part of your registration, a printed copy of the course manual will be course manual will be provided. It will be mailed to you the week prior to the class.


Course Outline:

  1. Introduction
    • 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
  2. Preliminaries
    • Procedures
    • Standards and the LSB
  3. 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
  4. Compilers
    • GCC
    • Other Compilers
    • Major gcc Options
    • Preprocessor
    • Integrated Development Environments (IDE)
    • Labs
  5. Libraries
    • Static Libraries
    • Shared Libraries
    • Linking To Libraries
    • Dynamic Linking Loader
    • Labs
  6. Make
    • Using make and Makefiles
    • Building large projects
    • More complicated rules
    • Built-in rules
    • Labs
  7. Source Control
    • Source Control
    • RCS and CVS
    • Subversion
    • git
    • Labs
  8. Debugging and Core Dumps
    • gdb
    • What are Core Dump Files?
    • Producing Core Dumps
    • Examining Core Dumps
    • Labs
  9. Debugging Tools
    • Electric Fence
    • Getting the Time
    • Profiling and Performance
    • valgrind
    • Labs
  10. System Calls
    • System Calls vs. Library Functions
    • How System Calls are Made
    • Return Values and Error Numbers
    • Labs
  11. Memory Management and Allocation
    • Memory Management
    • Dynamical Allocation
    • Tuning malloc()
    • Locking Pages
    • Labs
  12. Files and Filesystems in Linux **
    • Files, Directories and Devices
    • The Virtual File System
    • The ext2/ext3 Filesystem
    • Journaling Filesystems
    • The ext4/ Filesystem
    • Labs
  13. 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
  14. Advanced File Operations
    • Stat Functions
    • Directory Functions
    • inotify
    • Memory Mapping
    • flock() and fcntl()
    • Making Temporary Files
    • Other System Calls
    • Labs
  15. Processes – I
    • What is a Process?
    • Process Limits
    • Process Groups
    • The proc Filesystem
    • Inter-Process Communication Methods
    • Labs
  16. 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
  17. Pipes and Fifos
    • Pipes and Inter-Process Communication
    • popen() and pclose()
    • pipe()
    • Named Pipes (FIFOs)
    • splice(), vmsplice() and tee()
    • Labs
  18. Asynchronous I/O**
    • What is Asynchronous I/O?
    • The POSIX Asynchronous I/O API
    • Linux Implementation
    • Labs
  19. Signals – I
    • What are Signals?
    • Signals Available
    • Dispatching Signals
    • Alarms, Pausing and Sleeping
    • Setting up a Signal Handler
    • Signal Sets
    • sigaction()
    • Labs
  20. Signals – II
    • Reentrancy and Signal Handlers
    • Jumping and Non-Local Returns
    • siginfo and sigqueue()
    • Real Time Signals
    • Labs
  21. POSIX Threads – I
    • Multi-threading under Linux
    • Basic Program Structure
    • Creating and Destroying Threads
    • Signals and Threads
    • Forking vs. Threading
    • Labs
  22. POSIX Threads – II
    • Deadlocks and Race Conditions
    • Mutex Operations
    • Semaphores
    • Futexes
    • Conditional Operations
    • Labs
  23. Networking and Sockets
    • Networking Layers
    • What are Sockets?
    • Stream Sockets
    • Datagram Sockets
    • Raw Sockets
    • Byte Ordering
    • Labs
  24. Sockets – Addresses and Hosts
    • Socket Address Structures
    • Converting IP Addresses
    • Host Information
    • Labs
  25. Sockets – Ports and Protocols
    • Service Port Information
    • Protocol Information
    • Labs
  26. Sockets – Clients
    • Basic Client Sequence
    • socket()
    • connect()
    • close() and shutdown()
    • UNIX Client
    • Internet Client
    • Labs
  27. Sockets – Servers
    • Basic Server Sequence
    • bind()
    • listen()
    • accept()
    • UNIX Server
    • Internet Server
    • Labs
  28. Sockets – Input/Output Operations
    • write(), read()
    • send(), recv()
    • sendto(), recvfrom()
    • sendmsg(), recvmsg()
    • sendfile()
    • socketpair()
    • Labs
  29. Sockets – Options
    • Getting and Setting Socket Options
    • fcntl()
    • ioctl()
    • getsockopt() and setsockopt()
    • Labs
  30. Netlink Sockets**
    • What are netlink Sockets?
    • Opening a netlink Socket
    • netlink Messages
    • Labs
  31. 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
  32. Inter Process Communication
    • Methods of IPC
    • POSIX IPC
    • System V IPC**
    • Labs
  33. Shared Memory
    • What is Shared Memory?
    • POSIX Shared Memory
    • System V Shared Memory**
    • Labs
  34. Semaphores
    • What is a Semaphore?
    • POSIX Semaphores
    • System V Semaphores**
    • Labs
  35. Message Queues
    • What are Message Queues?
    • POSIX Message Queues
    • System V Message Queues**
    • Labs
  36. Closing and Evaluation Survey

** These sections may be considered in part or in whole as optional. They contain either background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.

Remote Learning

This course is available for "remote" learning and will be available to anyone with access to an internet device with a microphone (this includes most models of computers, tablets). Classes will take place with a "Live" instructor at the date/times listed below.

Upon registration, the instructor will send along additional information about how to log-on and participate in the class.

Refund Policy

Refunds and Cancellations:

If you must cancel for any reason please notify us via email at [email protected]. Refunds will only be issued for cancellations received at least 14 calendar days prior the class, and may take up to 14 calendar days to process. Please note that all refunds are subject to a 3% processing fee. If you purchased a bundle of training and certification exams and only want to refund specific items, not the entire bundle, the refund amount shall be calculated as transaction amount multiplied by the proportion of cumulative list price for the items to be refunded divided by the cumulative list price of all items in the bundle.

If you have placed an order for a hard copy version of the course materials, no cancellation will be approved, only a student substitution into the current session will be allowed.

In the event that The Linux Foundation must cancel a training class due to lack of attendance, your refund will be processed in full (no processing fee will be charged) or you can use a credit towards another future training.

Similar Classes

Benefits of Booking Through CourseHorse

  • Booking is safe. When you book with us your details are protected by a secure connection.
  • Lowest price guaranteed. Classes on CourseHorse are never marked up.
  • This class will earn you 32500 points. Points give you money off your next class!

Questions & Answers (0)

Get quick answers from CourseHorse and past students.

The Linux Foundation

The Linux Foundation partners with the world's leading developers and companies to solve the hardest technology problems and accelerate open technology development and commercial adoption.

Founded in 2000, The Linux Foundation today provides tools, training, and events to scale any open source project,...

Read more about The Linux Foundation

CourseHorse Approved

This school has been carefully vetted by CourseHorse and is a verified Online educator.

The Linux Foundation

Give This Course as a Gift Card

  • Thousands of classes
  • No expiration
  • Unique and memorable gifts for any occasion
  • Personalized
  • Explore a passion, gain a new skill, discover a new hobby, engage in a memorable experience
  • Instant delivery
  • Lock in a price with the Inflation Buster Gift Card Price Adjuster™

Buy a Gift Card

Book this Class as a Group Event

Booking this class for a group? Find great private group events

Or see all Professional Group Events

Explore group events and team building activities ranging from cooking, art, escape rooms, trivia, and more.

CourseHorse Gift Cards

  • Creative & unique gift for any occasion
  • Thousands of classes & experiences
  • No expiration date
  • Instant e-delivery (or choose a date)
  • Add a personalized message
  • Lock in a price with the Inflation Buster Gift Card Price Adjuster™
Buy a Gift Card
gift card with the CourseHorse logo gift card with the CourseHorse logo
Loading...