Multi-vendor UNIX Programming

Level

Multi-vendor UNIX Programming

Aikona
Logo Aikona

Need more information? Get more details on the site of the provider.

Starting dates and places

There are no known starting dates for this product.

Description

Overview

This course discusses the use of system-level programming interfaces provided by UNIX and Linux to develop applications.

The course is illustrated with practical examples in UNIX's 'native' C language which show how to write programs to exploit the features of UNIX and how to choose the correct API calls for the task. UNIX is an excellent environment for client/server programming. You will learn how to create both client and server applications using sockets and other inter-process communication methods, and how to create robust multi-threaded applications using the standard pthreads library.

The course concentrates on a common approach to the different variants of UNIX, using the …

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

Didn't find what you were looking for? See also: HP (Hewlett Packard), UNIX, Solaris, Programming (general), and CompTIA A+ / Network+ / Security+.

Overview

This course discusses the use of system-level programming interfaces provided by UNIX and Linux to develop applications.

The course is illustrated with practical examples in UNIX's 'native' C language which show how to write programs to exploit the features of UNIX and how to choose the correct API calls for the task. UNIX is an excellent environment for client/server programming. You will learn how to create both client and server applications using sockets and other inter-process communication methods, and how to create robust multi-threaded applications using the standard pthreads library.

The course concentrates on a common approach to the different variants of UNIX, using the Single Unix Specification (SUS) and explores features available in to X/Open System Interface (XSI). This broad-ranging UNIX course is designed to provide delegates with the skills and knowledge which is applicable to all flavours of UNIX including Linux, HP-UX, UnixWare, Solaris, AIX etc.

Prerequisites

  • Delegates must have a good working knowledge of the C programming language. This can be gained by attending our C Programming course.
  • A familiarity with UNIX processes, system calls and general philosophy is assumed. This can be gained from attending QA's UNIX Fundamentals course.

Delegates will learn how to

  • Write programs that can access and update information in files
  • Use the concepts of the UNIX virtual memory system
  • Handle signals in a safe and reliable way
  • Program UNIX and Internet sockets interfaces
  • Build multi-process applications
  • Understand passing information between co-operating processes using IPC
  • Implement UNIX client/server applications
  • Create multi-threaded programs and synchronise shared resources

Course Outline.

Chapter 1: UNIX for Programmers

  • UNIX standards and compatibility
  • System calls and library functions
  • Error handling
  • Limits
  • Dates and times

Chapter 2: Basic UNIX IO

  • Opening and closing files
  • Reading and writing files
  • File descriptors
  • File status and the inode
  • Random access

Chapter 3: Files and Directories

  • Directories in detail
  • Symbolic links
  • Access permissions
  • Reading directories
  • File and record locking

Chapter 4: Introduction to Processes

  • What is in a process?
  • Process ids, and how they are used
  • Resource limits

Chapter 5: Virtual Memory

  • The process address space
  • Virtual and physical memory
  • Memory mapped files

Chapter 6: Signals

  • What is a signal?
  • Reacting to a signal
  • Signal masks and signal sets
  • Writing a signal handler
  • Alarm, and interval timers

Chapter 7: Working with Multiple Processes

  • Creating a new process - fork
  • Inheritance
  • Overlaying a process - exec
  • Synchronising parent and child

Chapter 8: Pipes and FIFOs

  • Anonymous pipes
  • Reading an writing to pipes
  • Named pipes (FIFOs)
  • Working with named pipes

Chapter 9: IPC

  • Overview
  • Resource keys
  • IPC types and routines
  • IPC commands

Chapter 10: IPC Message Queues

  • Manipulating queues
  • Contents of a message queue
  • Sending messages
  • Receiving messages

Chapter 11: IPC Semaphores

  • Uses of semaphores
  • XSI semaphores
  • Semaphore APIs and operations
  • Implementing a read/write lock

Chapter 12: Shared Memory

  • IPC shared memory
  • Attaching shared memory
  • Reading and writing shared memory

Chapter 13: Sockets

  • Domain and socket types
  • Using datagram sockets
  • Using stream sockets
  • UNIX domain socket APIs

Chapter 14: Internet Domain Sockets

  • Hosts, addresses, and ports
  • Byte ordering
  • Getting host and service information
  • Internet domain socket APIs
  • POSIX 1 functions

Chapter 15: Threads

  • Thread architecture
  • Creating and controlling threads
  • Thread safety
  • Thread specific data

Chapter 16: Thread synchronisation

  • Using a mutex
  • Using reader-writer locks
  • Using condition variables
  • Avoiding deadlocks

Chapter 17: Groups, Sessions, and Daemons

  • Process groups
  • Session groups
  • The controlling terminal
  • Daemon processes
There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.