Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Python
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Advanced Linux Systems Programming
Linux Training Overview

This course introduces the participants to system level programming in the C language in a Linux environment. The course focuses on Linux system calls and library functions, how to use them, and their underlying mechanisms. The course deals with many facets of the Linux operating system, including: introduction to Linux kernel structure, I/O, Signals, Signal handlers, Timers, Processes, Multi-Tasking, Inter-Process Communication (IPC) Pipes, Shared memory, Message Queues, Semaphores, Networking, Sockets, using TCP/IP and UDP/IP.Throughout the course the information presented is related to the participant through: the execution of common Linux user/administrator commands, and writing, compiling, and executing example C language programs which demonstrate the use of system routines and accessing system data structures on a live Linux system.

Linux Training Prerequisites

It is assumed that the participant has a solid background in basic Linux utilities and editors (such as vim), and a working knowledge of the C (or C++) programming language(s).

Linux Training Course duration

This course normally requires five (5) days, 60% lecture, 40% hands on lab exercises.

Linux Training Course Objectives

Upon completion of this course the participant will be able to:

  • Explain the programmable mechanisms in a Linux environment
  • Write applications using standard Linux system calls and library functions
Linux Training Course outline

System Programming Environment of the Linux
  • Environment of a C language program
  • System level programming requirements:
    • C compiler issues
    • Header files and libraries
    • Special data types used
    • Useful functions
    • Error handling (basic)
  • Documentation
  • Security Issues
File Systems
  • Types of file I/O
  • File I/O structures
  • File I/O access types
  • Dealing with STDIN, STDOUT, STDERR
  • Creating and using temporary files
  • Directory file access and manipulation
  • Permissions
Process Creation and Control
  • Attributes (username, UID, PID, Groups)
  • Creation methods
  • Multi-tasking
  • Shells
  • Synchronization
  • An introduction to POSIX threads
Synchronization and System Information
  • Time issues:
    • how time is maintained
    • timers
  • General synchronization
    • semaphores
    • mutexes
    • spinlocks and barriers
    • signals (generation and handling)
  • System information:
    • uname
    • hostname
    • load averages
Interprocess Data Communication Facilities
  • Overview of Linux IPC Facilities
  • Memory Mapped files
  • Pipes and Named Pipes
  • Messages Queues
  • Creating and Using Shared Memory structures
Sharing Code Between Processes
  • Building shared object (libraries)
  • Static Linking
  • Dynamic Linking
Networking
  • Concepts and basic requirements
  • Socket creation and usage
  • TCP/IP level connections
  • UDP/IP level connections



Please contact your training representative for more details on having this course delivered onsite or online

Training Outlines - the one stop shopping center for IT training.
© Training Outlines All rights reserved