title
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)
Course Description
Overview
Master Linux application development—get hands-on experience with essential tools and techniques in this instructor-led course. Discover the unique features of the Linux environment and build the skills to create powerful applications and open doors to career growth.This course will prepare you to develop applications for a Linux environment.
This course includes:
- Live Online (Virtual) or Live (Classroom)
- 4 days of Instructor-led class time
- Hands-on Labs & Assignments
- Resources & Course Manual
- Certificate of Completion
- Digital Badge
Objectives
Audience
Prerequisites
-
This course is for experienced developers. Students should be proficient in C programming and be familiar with basic Linux utilities and text editors.
Topics
- 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
- 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
- RCS and CVS
- Subversion
- git
- Labs
- gdb
- What are Core Dump Files?
- Producing Core Dumps
- Examining Core Dumps
- Labs
- Electric Fence
- Getting the Time
- Profiling and Performance
- valgrind
- Labs
- System Calls vs. Library Functions
- How System Calls are Made
- Return Values and Error Numbers
- Labs
- Memory Management
- Dynamical Allocation
- Tuning malloc()
- Locking Pages
- Labs
- Files, Directories and Devices
- The Virtual File System
- The ext2/ext3 Filesystem
- Journaling Filesystems
- The ext4/ Filesystem
- Labs
- 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
- Stat Functions
- Directory Functions
- inotify
- Memory Mapping
- flock() and fcntl()
- Making Temporary Files
- Other System Calls
- Labs
- What is a Process?
- Process Limits
- Process Groups
- The proc Filesystem
- Inter-Process Communication Methods
- Labs
- 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 Inter-Process Communication
- popen() and pclose()
- pipe()
- Named Pipes (FIFOs)
- splice(), vmsplice() and tee()
- Labs
- What is Asynchronous I/O?
- The POSIX Asynchronous I/O API
- Linux Implementation
- Labs
- What are Signals?
- Signals Available
- Dispatching Signals
- Alarms, Pausing and Sleeping
- Setting up a Signal Handler
- Signal Sets
- sigaction()
- Labs
- Reentrancy and Signal Handlers
- Jumping and Non-Local Returns
- siginfo and sigqueue()
- Real Time Signals
- Labs
- Multi-threading under Linux
- Basic Program Structure
- Creating and Destroying Threads
- Signals and Threads
- Forking vs. Threading
- Labs
- Deadlocks and Race Conditions
- Mutex Operations
- Semaphores
- Futexes
- Conditional Operations
- Labs
- Networking Layers
- What are Sockets?
- Stream Sockets
- Datagram Sockets
- Raw Sockets
- Byte Ordering
- Labs
- Socket Address Structures
- Converting IP Addresses
- Host Information
- Labs
- Service Port Information
- Protocol Information
- Labs
- Basic Client Sequence
- socket()
- connect()
- close() and shutdown()
- UNIX Client
- Internet Client
- Labs
- Basic Server Sequence
- bind()
- listen()
- accept()
- UNIX Server
- Internet Server
- Labs
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- Labs
- Getting and Setting Socket Options
- fcntl()
- ioctl()
- getsockopt() and setsockopt()
- Lab
- What are netlink Sockets?
- Opening a netlink Socket
- netlink Messages
- Labs
- Multiplexed and Asynchronous Socket I/O
- select()
- poll()
- pselect() and ppoll()
- epoll
- Signal Driven and Asynchronous I/O
- Concurrent Servers
- Labs
- Methods of IPC
- POSIX IPC
- System V IPC**
- Labs
- What is Shared Memory?
- POSIX Shared Memory
- System V Shared Memory**
- Labs
- What is a Semaphore?
- POSIX Semaphores
- System V Semaphores**
- Labs
- What are Message Queues?
- POSIX Message Queues
- System V Message Queues**
- Labs
- Evaluation Survey
Related Courses
-
Certified Kubernetes Application Developer
LQEX-LNX-CKAD- Duration: 0.25 Day
- Delivery Format: Exam Vouchers
- Price: 445.00 USD
-
Linux Foundation Certified IT Associate (LFCA)
LQEX-LNX-LFCA- Duration: 0.17 Day
- Delivery Format: Exam Vouchers
- Price: 250.00 USD
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
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam 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
Purchase Information
title
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.




