HOME
   PRODUCTS  TRAINING    SERVICES  SOLUTIONS         CAREERS      COMPANY   
    Home / Training / E-Commerce / U306a    
 
 

U306a

 

U306a: Linux System Programming - 4 Days

 

Who Should Attend:

System programmers, application programmers, computer science students, and other IT professionals who wish to write systems and real-time programs in the Linux environment.

 

Prerequisites:

Participants are expected to have a prior working knowledge of Linux and programming in C. Participants who do not have any working knowledge of Linux are advised to enrol in U101: Introduction to Linux.

Objectives:

This module is aimed at familiarising participants with system programming in Linux. It equips them with a knowledge of Linux systems programming facilities including basic file reading and writing operations and advanced file I/O operations like changing mode, owner, group, and process control, which includes how to create, execute, terminate processes, priority, etc., interprocess communication like pipe, dup, named pipes, semaphores, shared memory, etc. multithreading, and signal handling necessary for writing real-time applications. Hands-on laboratory sessions will be provided.

At the end of this module, participants are expected to understand and write Linux systems programmes, and appreciate the systems features of Linux.

 

Contents:

Linux Systems Services Objectives: Classes of Linux Systems Services; Programs and Processes: Multiprocessing and Multithreading;

I/O Management: File Manipulation; Process Creation and Management; Intercrosses Communication Using Pipes; Signal Handling. I/O Management: Opening, Reading, Writing, And Closing Files. Random File Access. Setting and Obtaining File Attributes. Directory Manipulation.

 

Process Control: Process Creation Concepts. Creating Processes with fork; Executing New Programs with exec. Processes and Process Groups. Set User Id and Set Group Id Programs.

 

Interprocess Communication: Duplicating File Descriptors; Using Pipes for I/O Redirection; Semaphores, Message Queues, Shared Memory. Using Signals, Writing Signal Handling Routines.

 

Network Interprocess Communication: Berkley Sockets, Stateless Connections, Stateful Connections, Network Interface, Socket Data Structures, Socket Connection Protocol, Listening on Multiple Sockets, Network Considerations, Network Reliability Impact, Packet Filtering Firewalls, Proxy Firewalls, Quality of Service, Open Network Computing Remote Procedure Calls, CORBA, XML-RPC, Web Services.

 

Threading: Decision Criteria, Thread Creation, Thread Synchronization, Thread Destruction.

Error Handling: Objectives of Error Handling Facilities, Error Return Conventions, System Call Errors, Error Handling Functions, Minimal Error Handling, Stream Error Handling, The System Log Facility.

 

Advanced Programming Topics: Program Development Source Control, Make, Compiler, Linker, Executables vs. Libraries, Shared Libraries vs. Standard Libraries, Debugging, Tracing, Core Dumps, Using the /proc Filesystem, Using /dev/kmem, Attaching Background Processes, Security, Secure Sand Box, Bounds Checking, Clearing Memory, Sticky Bit, Set UID/GID, ACLs, Privileged Ports, Shared Libraries, PAM

--------