Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- Objectives for government
- Who You Are for government
- The Linux Foundation for government
- Linux Foundation Training for government
- Certification Programs and Digital Badging for government
- Linux Distributions for government
- Platforms for government
- Preparing Your System for government
- Using and Downloading a Virtual Machine for government
- Changes in Linux for government
Preliminaries
- Procedures for government
- Standards and the LSB for government
How to Work in OSS Projects **
- Overview on How to Contribute Properly for government
- Stay Close to Mainline for Security and Quality for government
- Study and Understand the Project DNA for government
- Identify Areas of Contribution for government
- Identify Maintainers and Their Workflows and Methods for government
- Seek Early Input and Collaborate Openly for government
- Contribute Incremental Changes, Not Large Code Dumps for government
- Maintain Professionalism: Leave Your Ego at the Door for government
- Be Patient, Develop Long-Term Relationships, and Be Helpful for government
Compilers
- GCC for government
- Other Compilers for government
- Major gcc Options for government
- Preprocessor for government
- Integrated Development Environments (IDE) for government
- Labs for government
Libraries
- Static Libraries for government
- Shared Libraries for government
- Linking to Libraries for government
- Dynamic Linking Loader for government
- Labs for government
Make
- Using make and Makefiles for government
- Building Large Projects for government
- More Complex Rules for government
- Builtin Rules for government
- Labs for government
Source Control
- Source Control for government
- RCS and CVS for government
- Subversion for government
- Git for government
- Labs for government
Debugging and Core Dumps
- GDB for government
- Core Dump Files for government
- Producing Core Dumps for government
- Examining Core Dumps for government
- Labs for government
Debugging Tools
- Getting the Time for government
- Profiling and Performance for government
- Valgrind for government
- Labs for government
System Calls
- System Calls vs. Library Functions for government
- How System Calls are Made for government
- Return Values and Error Numbers for government
- Labs for government
Memory Management and Allocation
- Memory Management for government
- Dynamical Allocation for government
- Tuning malloc() for government
- Locking Pages for government
- Labs for government
Files and Filesystems in Linux **
- Files, Directories, and Devices for government
- The Virtual File System for government
- The ext2/ext3 Filesystem for government
- Journaling Filesystems for government
- The ext4/ Filesystem for government
- Labs for government
File I/O
- UNIX File I/O for government
- Opening and Closing Files for government
- Reading, Writing, and Seeking for government
- Positional and Vector I/O for government
- Standard I/O Library for government
- Large File Support (LFS) for government
- Labs for government
Advanced File Operations
- Stat Functions for government
- Directory Functions for government
- Inotify for government
- Memory Mapping for government
- Flock() and fcntl() for government
- Making Temporary Files for government
- Other System Calls for government
- Labs for government
Processes I
- What is a Process? for government
- Process Limits for government
- Process Groups for government
- The proc Filesystem for government
- Interprocess Communication Methods for government
- Labs for government
Processes II
- Using system() to Create a Process for government
- Using fork() to Create a Process for government
- Using exec() to Create a Process for government
- Using clone() for government
- Exiting Processes for government
- Constructors and Destructors for government
- Waiting for Processes for government
- Daemon Processes for government
- Labs for government
Pipes and Fifos
- Pipes and Interprocess Communication for government
- popen() and pclose() for government
- pipe() for government
- Named Pipes (FIFOs) for government
- splice(), vmsplice(), and tee() for government
- Labs for government
Asynchronous I/O **
- What is Asynchronous I/O? for government
- The POSIX Asynchronous I/O API for government
- Linux Implementation of Asynchronous I/O for government
- Labs for government
Signals I
- What are Signals? for government
- Available Signals for government
- Dispatching Signals for government
- Alarms, Pausing, and Sleeping for government
- Setting up a Signal Handler for government
- Signal Sets for government
- sigaction() for government
- Labs for government
Signals II
- Reentrancy and Signal Handlers for government
- Jumping and Nonlocal Returns for government
- Siginfo and sigqueue() for government
- Real-Time Signals for government
- Labs for government
POSIX Threads I
- Multithreading under Linux for government
- Basic Program Structure for government
- Creating and Destroying Threads for government
- Signals and Threads for government
- Forking vs. Threading for government
- Labs for government
POSIX Threads II
- Deadlocks and Race Conditions for government
- Mutex Operations for government
- Semaphores for government
- Futexes for government
- Conditional Operations for government
- Labs for government
Networking and Sockets
- Networking Layers for government
- What are Sockets? for government
- Stream Sockets for government
- Datagram Sockets for government
- Raw Sockets for government
- Labs for government
Sockets Addresses and Hosts
- Socket Address Structures for government
- Converting IP Addresses for government
- Host Information for government
- Labs for government
Sockets Ports and Protocols
- Service Port Information for government
- Protocol Information for government
- Labs for government
Sockets Clients
- Basic Client Sequence for government
- socket() for government
- connect() for government
- close() and shutdown() for government
- UNIX Client for government
- Internet Client for government
- Labs for government
Sockets Servers
- Basic Server Sequence for government
- bind() for government
- listen() for government
- accept() for government
- UNIX Server for government
- Internet Server for government
- Labs for government
Sockets Input/Output Operations
- write(), read() for government
- send(), recv() for government
- sendto(), recvfrom() for government
- sendmsg(), recvmsg() for government
- sendfile() for government
- socketpair() for government
- Labs for government
Sockets Options
- Getting and Setting Socket Options for government
- fcntl() for government
- ioctl() for government
- getsockopt() and setsockopt() for government
- Labs for government
Netlink Sockets **
- What are Netlink Sockets? for government
- Opening a Netlink Socket for government
- Netlink Messages for government
- Labs for government
Sockets Multiplexing and Concurrent Servers
- Multiplexed and Asynchronous Socket I/O for government
- select() for government
- poll() for government
- pselect() and ppoll() for government
- epoll for government
- Signal-Driven and Asynchronous I/O for government
- Concurrent Servers for government
- Labs for government
Interprocess Communication
- POSIX IPC for government
- System V IPC ** for government
- Labs for government
Shared Memory
- What is Shared Memory? for government
- POSIX Shared Memory for government
- System V Shared Memory ** for government
- Labs for government
Semaphores
- What is a Semaphore? for government
- POSIX Semaphores for government
- System V Semaphores ** for government
- Labs for government
Message Queues
- What are Message Queues? for government
- POSIX Message Queues for government
- System V Message Queues ** for government
- Labs for government
Requirements
This course is designed for experienced developers who are proficient in C programming and have a working knowledge of basic Linux utilities and text editors.
Audience
This course is tailored for government professionals and experienced developers who have a strong background in C programming and are familiar with essential Linux utilities and text editors.
Experience Level: Intermediate
28 Hours