Arkoa homepage
About Arkoa News & Events Contact Us Careers
  Course Catalog : Unix / Linux :

Advanced Programming in a Unix Environment

5 day

Course # 03-0600


Description

This course addresses POSIX standard 1003.1B, the System V inter-process communication package, the BSD sockets interface (a de facto standard for computer communications) and the Transport Layer Interface (TLI) , widely adopted as a standard for Open Systems communications.

Audience
Systems and applications programmers working in a Unix operating system environment.

Prerequisites
Participants should have a good grounding in the Unix operating system. Since many of the exercises involve writing short programs in the C language, fluency in C is essential.

Hardware and Software
A Unix system, ANSI C compiler and debugger, POSIX 1003.1B compatibility, System V IPC, and BSD socket libraries. The systems should be able to load a 3.5” DOS-formatted solution disk.

 


Format

  • Presentation
  • Hands-on

Objectives
After completing this course, participants should be able to:

  • Write programs which interface with the Unix kernel
  • Describe the Unix system call interface as defined in the IEEE standard POSIX 1003.1B
  • Use various system calls
  • Use the full range of facilities for inter-process communication in an appropriate manner
  • Implement the client/server model across a network, using sockets on top of either TCP/IP or UDP/IP

Topics


Kernel Overview

  • The waiter model
  • Process - a detailed definition
  • Attracting attention - traps and interrupts
  • Resource allocation - memory management
  • Process management
  • The filesystem
  • A closer look at I/O
  • Delayed read/write
  • Inter-process communication

System Calls

  • Include files
  • Process management
  • Contextual information
  • Files and directories
  • Input and output
  • Terminal handling
  • Compliance with ANSI C
  • System databases
 


Inter-process Communication (System V)

  • The client/server model
  • FIFOs
  • Message queues
  • Shared memory
  • Semaphores
  • Record locking

Sockets

  • Rationale behind sockets
  • Fundamental concepts
  • Implementation details
  • Exceptions

Appendix: Transport Layer Interface (TLI)

Appendix: The Symbolic Debugger (SDB)

Appendix: The BSD Symbolic Debugger (DBX)