Pugh-Killeen Logo

UNIX/ Linux for Programmers

Home | Contact Us

Description

This course covers programming UNIX / Linux with both system calls and shell programming. The five day class combines lecture with hands-on exercises. This class assumes the student has used UNIX / Linux for a few months and has programmed in C for six months.

Objectives

By the end of the course you will be able to:

  • Write programs that interface with the operating system
  • Write shell scripts in both Bourne and C shell languages
  • Understand the options for user interface development

Author

The instructor is Kenneth Pugh. Mr. Pugh has many years of experience in programming a variety of languages and operating systems. He is author of several books, including C Language for Programmers, All on C, and UNIX for MS-DOS Users (in preparation). He was a columnist for the C User's Journal and the C++ Journal. He has been on the faculty of the University of Hawaii and Wellesley College.

Outline

  • Introduction to System Calls
    • System calls versus library calls
    • Error handling
    • Differences between UNIX systems
  • Files and Devices
    • Information node (inode)
    • File permissions
    • File creation mask
  • I/O System
    • Creating and opening files
    • Reading, writing, and seeking
  • Pathnames
    • Changing modes and owners
    • Making and reading links
  • Directories
    • Making and changing directories
    • Reading directories
  • File Descriptors
    • Duplicating file descriptors
    • File locking and unlocking lockf, flock, and fcntl
  • File Systems
    • Forcing writes to disk
    • Mounting and unmounting
  • Processes
    • The process table
    • Real user and effective user
    • Resource limitations
  • Environment
    • Getting and setting user ids
    • Getting process information
    • Setting priorities and limits
  • Processes
    • Terminating processes
    • Creating new processes
    • Executing a program
    • Waiting for child processes
  • Interprocess communication
    • Signal handlers
    • Blocking signals
    • Creating pipes
    • Messages
    • Semaphores
    • Shared memory
  • Shell programming
    • Shell operators
      • I/O Redirection
      • Running in background
    • Shell facets
      • Shell variables
      • Regular expressions
      • Debugging shell scripts
    • Shell control flow (Bourne)
      • if-else
      • for
      • while
      • case
    • Shell control flow (C Shell)
      • if-then
      • for
      • while
  • User Interface
    • Terminal based curses
    • Graphic based
      • X-Windows
      • Motif
      • Open Look

Copyright (c) 1996-2007 Pugh-Killeen Associates

Home Services Solutions Classes Resources About Us Contact Us Legal