Advanced UNIX Programming

Marc J. Rochkind

Publisher: Prentice Hall, 1985, 265 pages

ISBN: 0-13-011800-1

Keywords: Programming

Last modified: April 19, 2021, 11:34 a.m.

In this book, Marc J. Rochkind explains clearly and systematically how to program UNIX at the system call level. It is his aim tp help any experienced programmer learn system calls easily and use them wisely and portably. Based on his own experiences, he shows why and when they are used.

He gives lot of practical advice, illustrated with over 3,000 lines of example programs.

The author treats the five most important versions of UNIX:

  • System V, the newest AT&T offering.
  • System III, the basis for many current implementations.
  • Version 7, the last release to come from Bell Laboratories research organization.
  • Berkeley 4.2BSD from the University of California
  • Xenix, a product of Microsoft Corporation — the popular microcomputer version.

Among the system calls covered: I/O on files and terminals; processes (multi-tasking); communication between processes; signals; and system administration.

  1. Fundamental Concepts
    1. Introduction
    2. Files
      1. Ordinary Files
      2. Directories
      3. Special Files
    3. Programs and Processes
    4. Signals
    5. Process-IDs and Process Groups
    6. Permissions
    7. Other Process Attributes
    8. Interprocess Communication
    9. Using System Calls
    10. Programming Conventions
    11. Portability
  2. Basic File I/O
    1. Introduction
    2. File Descriptors
    3. creat System Call
    4. unlink System Call
    5. Implementing Semaphores with Files
    6. open Aystem Call
    7. write System Call
    8. read System Call
    9. close System Call
    10. Buffered I/O
    11. lseek System Call
    12. Portability
  3. Advanced File I/O
    1. Introduction
    2. I/O on Directories
    3. I/O on Disk Special Files
    4. Dates and Times
    5. File Modes
    6. link System Call
    7. access System Call
    8. mknod System Call
    9. chmod System Call
    10. chown System Call
    11. utime System Call
    12. stat and fstat System Calls
    13. fcntl System Call
    14. Portability
  4. Terminal I/O
    1. Introduction
    2. Normal Terminal I/O
    3. Nonblocking Terminal I/O
    4. ioctl System Call
      1. Basic ioctl Usage
      2. Speed, Character Size, and Parity
      3. Character Mapping
      4. Delays and Tabs
      5. Flow Control
      6. Control Characters
      7. Echo
      8. Punctual Input
    5. Raw Terminal I/O
    6. Other Special Files
  5. Processes
    1. Introduction
    2. Environment
    3. exec System Calls
    4. fork System Call
    5. exit System Calls
    6. wait System Call
    7. System Calls to get IDs
    8. setuid and setgid System Calls
    9. setpgrp System Call
    10. chdir System Call
    11. chroot System Call
    12. nice System Call
    13. Portability
  6. Basic Interprocess Communication
    1. Introduction
    2. pipe System Call
    3. dup System Call
    4. A Real Shell
    5. Bidirectional Pipes
    6. Portability
  7. Advanced Interprocess Communication
    1. Introduction
    2. Database Management System Issues
    3. FIFOs, or Named Pipes
    4. Implementing Messages with FIFIs
    5. Message System Calls (System V)
    6. Semaphores
      1. Basic Semaphore Usage
      2. Implementing Semaphores With Messages
      3. Seamphores in System V
      4. Semaphores in Xenix
    7. Shared Memory
      1. Basic Shared Memory Usage
      2. Shared Memory in System V
      3. Shared Memory in Xenix
    8. Record Locking in Xenix 3
    9. Portability
  8. Signals
    1. Introduction
    2. Types of Signals
    3. signal System Call
    4. Global JĖumps
    5. kill System Call
    6. pause System Call
    7. alarm System Call
    8. Portability
  9. Miscellaneous System Calls
    1. Introduction
    2. ulimit System Call
    3. brk and sbrk System Calls
    4. umask System Call
    5. ustat System Call
    6. uname System Call
    7. sync System Call
    8. profil System Call
    9. ptrace System Call
    10. times System Call
    11. time System Call
    12. stime System Call
    13. plock System Call (System V)
    14. mount System Call
    15. umount System Call
    16. acct System Call
    17. sys3b System Call (System V)
    18. Portability
  • Appendix A: System V Process Attributes
  • Appendix B: Standard Subroutines

Reviews

Advanced UNIX Programming

Reviewed by Roland Buresund

Outstanding ********* (9 out of 10)

Last modified: April 10, 2009, 11:36 p.m.

This is a classic. Read it to understand how books about programming should be made.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required