Specialised Advanced IT Training
Tel : 0845 051 3801
  Generation home>Courses
Introduction to Java Programming 0101
Introduction to Java for non-C programmers 0102
Intermediate Java Programming 0103
Advanced Java Programming 0104
Java Swing 0105
Introduction to Struts 0201
Java Server Faces 0202
Java Web Programming 0203
Java Enterprise Training 0204
Spring Framework 0205
Hibernate 3.0 0206
Introduction to Web Services 0207
Java Web services Using JAX-RPC 0208
Introduction to Linux 0901
Linux System Administration 0902
Shell Programming 0903
Job Vacancies
UNIX Training    enquiry@advancedittraining.co.uk

UNIX System Programming in C / C++ 0805 - Course duration: 4 days

Course Objectives:

you will learn how to

Develop the programming skills required to write applications that run on the UNIX operating system. Write portable applications using UNIX standards. Develop the basic skills required to write network programs using the Berkeley Sockets interface to the TCP/IP protocols.


Fundamentals of UNIX and C Programming. Strong C programming skills are required for this course.

Course Contents:

1. Course Introduction

  • Course Objectives
  • Overview
  • Suggested References

2. UNIX Standards

  • Brief History of UNIX
  • AT&T andBerkeley UNIX Systems
  • Major Vendors
  • What is a Standard?
  • What is POSIX?
  • Other Industry Specs and Standards
  • Library vs. System-Level Functions

3. Files and Directories

  • Basic File Types
  • File Descriptors
  • The open() and creat() Functions
  • Keeping Track of Open Files
  • File Table Entries
  • The v-node Structure
  • The fcntl() Function
  • The fcntl() Function - with F_DUPFD Command
  • File Attributes
  • The access() Function
  • link(), unlink(), remove(), and rename() Functions
  • Functions to Create, Remove, and Read Directories

4. System I/O

  • Standard I/O vs system I/O
  • System I/O Calls
  • File and Record Locking

5. Processes

  • What is a Process?
  • Process Creation and Termination
  • Process Memory Layout
  • Dynamic Memory Allocation
  • Accessing Environment Variables
  • Real and Effective User IDs

6. Process Management

  • The Difference Between Programs and Processes
  • The fork() System Function
  • Parent and Child
  • The exec System Functions
  • Current Image and New Image
  • The wait() Functions
  • The waitpid() Function
  • Interpreter files and exec

7. Basic Interprocess Communication: Pipes

  • Interprocess Communication
  • Pipes
  • FIFOs

8. Signals

  • What is a Signal?
  • Types of Signals
  • Signal Actions
  • Blocking Signals from Delivery
  • The sigaction() function
  • Signal Sets and Operations
  • Sending a Signal to Another Process
  • Blocking Signals with sigprocmask()
  • Scheduling and Waiting for Signals
  • Restarting System Calls (SVR4)
  • Signals and Reentrancy

9. Introduction to Pthreads

  • Processes and Threads
  • Creating Threads
  • Multitasking
  • Overview of Thread Architectures
  • Processes Versus Threads
  • The Pthreads API
  • Thread Termination
  • Joining Threads
  • Detaching Threads
  • Passing Arguments to Threads

10. Pthreads Synchronization

  • The Sharing Problem
  • Mutexes
  • Creating and Initializing Mutexes
  • Using Mutexes
  • Additional Synchronization Requirement
  • Using Condition Variables

11. Overview of Client/Server Programming with Berkeley Sockets

  • Designing Applications for a Distributed Environment
  • Clients and Servers
  • Ports and Services
  • Connectionless vs. Connection-Oriented Servers
  • Stateless vs. Stateful Servers
  • Concurrency Issues

12. The Berkeley Sockets API

  • Berkeley Sockets
  • Data Structures of the Sockets API
  • Socket System Calls
  • Socket Utility Functions

13. TCP Client Design

  • Algorithms instead of Details
  • Client Architecture
  • Generic Client/Server Model - TCP
  • The TCP Client Algorithm

14. TCP Server Design

  • General Concepts
  • Iterative Servers
  • Concurrent Servers
  • Performance Consideration
  • An Iterative Server Design
  • A Concurrent Server Design

15. System V Interprocess Communication

  • System V IPC
  • Elements Common to msg, shm, and sem Facilities
  • The Three System V IPC Facilities
  • IPC via Message Queues
  • IPC via Shared Memory
  • Coordinating the Use of Shared Memory Segments
  • Semaphore Sets - semget()
  • Semaphore Sets - semctl()
  • Semaphore Sets - the semop() call
  • Shared Memory Coordination Using Semaphores
  • Commands for IPC Facility Handling - ipcs and ipcrm

16. Date and Time Functions

  • Overview
  • Time Representations
  • Decoding Calendar Time
  • Shorthand Functions - asctime() and ctime()
  • Formatting Date and Time Strings
  • Process Times
  • The Difference Between clock() and times()
  • Berkeley High Resolution Timer

17. Standard I/O

  • Standard I/O Calls to manipulate streams
  • Standard I/O Calls which perform character I/O
  • Standard I/O Calls which perform string I/O
  • Standard I/O Calls Which Perform Formatted I/O
  • Standard I/O Calls Which Perform Binary I/O

Standard Tuition 

2 days 875
3 days 1115
4 days 1355
5 days 1595

For more information click here....


About Us
Contact Us
Terms & Conditions
Become a Trainer
2008 Advanced it training , All Rights Reserved
Java Training, Introduction to Java Programming, Introduction to Java for Non-C Programmers Intermediate Java Programming, Advanced Java Programming, Java Swing, J2EE Training, Introduction to Struts, Java Server Faces Java Web Programming, Java Enterprise Programing, Spring Framework, Hibernate 3.0, Introduction to Web Services, Java Web Services Using JAX-RPC, Web Services, Introduction to Web Services, Java Web Services Using JAX-RPC, Linux Training, Introduction to Linux, Linux System Administration , Shell Programming, UNIX Training, UNIX Fundamentals, UNIX Tools & Utilities, Shell Programming, UNIX System Administration, UNIX System Programming in C/C++, Object Oriented Training, C++ Programming, Introduction to Java for Non-C Programmers, Introduction to Java Programming Intermediate Java Programming, Advanced Java Programming, C# Programming, C# Essentials, C# Training, C# Programming, C# Essentials, XML Training, Introduction to XML, Introduction to XSL, Object Oriented Training, Object Oriented Analysis & Design using UML Design Patterns, MySql Training, MYSql developemnt and administration