Advanced Programming in the UNIX Environment

ISBN-10: 0321637739
ISBN-13: 9780321637734
Edition: 3rd 2013
List price: $69.99 Buy it from $55.39
eBook available
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: Master the system calls at the heart of today's UNIX and Linux systems: the programming interfaces that drive the UNIX and Linux kernels and run everything from filesystems and multitasking to interprocess communication. A thorough knowledge of  More...

New Starting from $61.39
eBooks Starting from $55.99
Buy
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
You could win $10,000

Get an entry for every item you buy, rent, or sell.

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Periodic Table Online content $4.95 $1.99
Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $69.99
Edition: 3rd
Copyright year: 2013
Publisher: Addison Wesley Professional
Publication date: 5/14/2013
Binding: Paperback
Pages: 1024
Size: 7.50" wide x 9.00" long x 2.75" tall
Weight: 4.158
Language: English

Master the system calls at the heart of today's UNIX and Linux systems: the programming interfaces that drive the UNIX and Linux kernels and run everything from filesystems and multitasking to interprocess communication. A thorough knowledge of system calls is essential for every UNIX and Linux programmer -- and for 20 years, W. Richard Stevens'Advanced Programming in the Unix Environmenthas delivered that. Now, Stephen Rago has completely updated this classic to reflect modern distributions including Red Hat 2.6.x, Solaris 10 3, OS X 10.5.4, FreeBSD 7.0.5 -- and for the first time, Ubuntu. As in previous editions, Rago begins with essentials such as file and process control, carefully laying the groundwork for more advanced techniques. He supports his crystal-clear explanations with nearly 10,000 lines of code, all carefully tested on each of these leading versions and distributions. Rago begins with an up-to-date overview of the UNIX System, its standardization processes, and its diverse implementations. Next, he introduces file I/O, files, directories, and the Standard I/O Library. You'll walk through working with UNIX/Linux system data files and information… controlling the process environment and its relationships… using signals, threads, and daemon processes… mastering advanced I/O techniques, interprocess communication, sockets, and advanced IPC… using Terminal I/O and Pseudo Terminals… working with database libraries, communicating with network printers, and much more. Appendices provide essential information on function prototypes, miscellaneous source code, and solutions to many of this guide's exercises.For all intermediate-to-advanced level UNIX programmers and software engineers.

Foreword to the Second Edition
Preface
Preface to the Second Edition
Preface to the First Edition
UNIX System Overview
Introduction
UNIX Architecture
Logging In
Files and Directories
Input and Output
Programs and Processes
Error Handling
User Identification
Signals
Time Values
System Calls and Librar y Functions
Summary
UNIX Standardization and Implementations
Introduction
UNIX Standardization
UNIX System Implementations
Relationship of Standards and Implementations
Limits
Options
Feature Test Macros
Primitive System Data Types
Differences Between Standards
Summary
File I/O
Introduction
File Descr iptors
open and openat Functions
creat Function
close Function
lseek Function
read Function
write Function
I/O Efficiency
File Shar ing
Atomic Operations
dup and dup2 Functions
sync, fsync, and fdatasync Functions
fcntl Function
ioctl Function
/dev/fd
Summary
Files and Directories
Introduction
stat, fstat, fstatat, and lstat Functions
File Types
Set-User-ID and Set-Group-ID
File Access Per missions
Ownership of New Files and Directories
access and faccessat Functions
umask Function
chmod, fchmod, and fchmodat Functions
Sticky Bit
chown, fchown, fchownat, and lchown Functions
File Size
File Tr uncation
File Systems
link, linkat, unlink, unlinkat, and remove Functions
rename and renameat Functions
Symbolic Links
Creating and Reading Symbolic Links
File Times
futimens, utimensat, and utimes Functions
mkdir, mkdirat, and rmdir Functions
Reading Director ies
chdir, fchdir, and getcwd Functions
Device Special Files
Summary of File Access Per mission Bits
Summary
Standard I/O Library
Introduction
Streams and FILE Objects
Standard Input, Standard Output, and Standard Error
Buffer ing
Opening a Stream
Reading and Writing a Stream
Line-at-a-Time I/O
Standard I/O Efficiency
Binary I/O
Positioning a Stream
For matted I/O
Implementation Details
Temporar y Files
Memory Streams
Alternatives to Standard I/O
Summary
System Data Files and Information
Introduction
Password File
Shadow Passwords
Group File
Supplementary Group IDs
Implementation Differences
Other Data Files
Login Accounting
System Identification
Time and Date Routines
Summary
Process Environment
Introduction
main Function
Process Termination
Command-Line Arguments
Environment List
Memory Lay out of a C Program
Shared Librar ies
Memory Allocation
Environment Var iables
setjmp and longjmp Functions
getrlimit and setrlimit Functions
Summary
Process Control
Introduction
Process Identifiers
fork Function
vfork Function
exit Functions
wait and waitpid Functions
waitid Function
wait3 and wait4 Functions
Race Conditions
exec Functions
Changing User IDs and Group IDs
Interpreter Files
system Function
Process Accounting
User Identification
Process Scheduling
Process Times
Summary
Process Relationships
Introduction
Ter minal Logins
Networ k Logins
Process Groups
Sessions
Controlling Terminal
tcgetpgrp, tcsetpgrp, and tcgetsid Functions
Job Control
Shell Execution of Programs
Orphaned Process Groups
FreeBSD Implementation
Summary
Signals
Introduction
Signal Concepts
signal Function
Unreliable Signals
Interrupted System Calls
Reentrant Functions
SIGCLD Semantics
Reliable-Signal Ter minology and Semantics
kill and raise Functions
alarm and pause Functions
Signal Sets
sigprocmask Function
sigpending Function
sigaction Function
sigsetjmp and siglongjmp Functions
sigsuspend Function
abort Function
system Function
sleep, nanosleep, and clock_nanosleep Functions
sigqueue Function
Job-Control Signals
Signal Names and Numbers
Summary
Threads
Introduction
Thread Concepts
Thread Identification
Thread Creation
Thread Termination
Thread Synchronization
Summary
Thread Control
Introduction
Thread Limits
Thread Attr ibutes
Synchronization Attr ibutes
Reentrancy
Thread-Specific Data
Cancel Options
Threads and Signals
Threads and fork
Threads and I/O
Summary
Daemon Processes
Introduction
Daemon Character istics
Coding Rules
Error Logging
Single-Instance Daemons
Daemon Conventions
Client-Server Model
Summary
Advanced I/O
Introduction
Nonblocking I/O
Record Locking
I/O Multiplexing
Asynchronous I/O
readv and writev Functions
readn and writen Functions
Memory-Mapped I/O
Summary
Interprocess Communication
Introduction
Pipes
popen and pclose Functions
Coprocesses
FIFOs
XSI IPC
Message Queues
Semaphores
Shared Memor y
POSIX Semaphores
Client-Server Proper ties
Network IPC: Sockets
Introduction
Socket Descr iptors
Addressing
Connection Establishment
Data Tr ansfer
Socket Options
Out-of-Band Data
Nonblocking and Asynchronous I/O
Summary
Advanced IPC
Introduction
UNIX Domain Sockets
Unique Connections
Passing File Descriptors
An Open Server, Version 1
An Open Server, Version 2
Summary
Terminal I/O
Introduction
Over view
Special Input Characters
Getting and Setting Ter minal Attr ibutes
Ter minal Option Flags
stty Command
Baud Rate Functions
Line Control Functions
Ter minal Identification
Canonical Mode
Noncanonical Mode
Ter minal Window Size
termcap, terminfo, and curses
Summary
Pseudo Terminals
Introduction
Over view
Opening Pseudo-Ter minal Devices
pty_fork Function
pty Program
Using the pty Program
Advanced Features
Summary
A Database Library
Introduction
History
The Librar y
Implementation Over view
Centralized or Decentralized?
Concurrency
Building the Librar y
Source Code
Perfor mance
Summary
Communicating with a Network Printer
Introduction
The Inter net Pr inting Protocol
The Hyper text Transfer Protocol
Printer Spooling
Source Code
Summary
Function Prototypes
Miscellaneous Source Code
Our Header File
Standard Error Routines
Solutions to Selected Exercises
Bibliography
Index

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×