Any program worth its salt uses operating system services. Even a simple program, if practical, reads input and produces output. And, most applications have more complex needs. They need to find out the time, use the network, or start and communicate with other processes. Systems programming really means nothing more than writing software that uses these operating system services.
UNIX Systems Programming for SVR4 gives you the nitty-gritty details on how UNIX interacts with applications. If you're writing an application from scratch, or if you're porting an application to any System V.4 platform, you need this book.
The first part of the book presents simple functions and concepts supported by numerous code fragment examples and short demonstration programs. These examples become building blocks for the application program examples that appear later in the book to illustrate more advanced, complex functions.
UNIX Systems Programming for SVR4 is thorough and complete and offers advice on:
Working with low-level I/O routines and the standard I/O library
Creating and deleting files and directories, changing file attributes, processing multiple input streams, file and record locking, and memory-mapped files
Reading, printing, and setting the system time and date
Determining who is logged in, times users log in and out, how to change a program's effective user ID or group ID, and writing set user ID programs
Changing system configuration parameters for resource limits
Creating processes, job control, and signal handling
Using pipes, FIFOs, UNIX-domain sockets, message queues, semaphores, and shared memory for interprocess communication
Reading and setting serial line characteristics including baud rate, echoing, and flow control
Network programming with Berkeley sockets, Transport Layer Interface (TLI), a less popular but more flexible interface to network programming, and the data link provider interface