|
|
|
Ksiazki - Informatyczne .pl » informatyka » informatyka Advanced Programming in the UNIX Environment | Wydawnictwo: addison wesley publishing company Autor: W.Richards Stevens Liczba stron: 976 Oprawa: miękka ISBN: 978-0-201-43307-4
|
Czas dostawy: 4 - 6 tygodni (na zamówienie) Nasza cena: 268,00 zł
|
Opis Advanced Programming in the UNIX Environment:
Advanced Programming in the Unix Environment is a must-have volume
describing and illustrating the programming interface to the Unix system.
Author builds on the basic information presented in the first 15 chapters to
provide chapter-length examples illustrating among other things how to
develop a database library as well as a postscript print driver.
The book progresses from basic topics such as file systems, directories, and
signals to more advanced topics including interprocess communications,
threads and multi-threaded programming. Extensive code examples in C
combined with a clear writing style make the more difficult aspects of Unix
programming easy to master. This invaluable tutorial and reference teaches
even the more experienced programmer how to get the most of their Unix
system whether its Linux, Solaris, Free BSD or Mac OS X.
A major revision of the definitive guide to Unix system programming with sales exceeding 160,000 units!
° Describes and illustrates more than 200 system calls - the interface that programmers must master in order to access all major Unix internal resources.
° New Edition covers the final POSIX.1 standard as well as threads and multi-threaded programming.
° Includes all new examples, over 10,000 lines of code, running on Linux, Solaris, Free BSD and MAC OS X.
Spis treści Advanced Programming in the UNIX Environment:
Foreword.
Preface.
Preface to the First Edition.
1. 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 Library Functions.
Summary.
2. UNIX Standardization and Implementations.
Introduction.
UNIX Standardization.
UNIX System Implementations.
Relationship of Standards and Implementations.
Limits.
Options.
Feature Test Macros.
Primitive System Data Types.
Conflicts Between Standards.
Summary.
3. File I/O.
Introduction.
File Descriptors.
open Function.
creat Function.
closeFunction.
lseek Function.
read Function.
write Function.
I/O Efficiency.
File Sharing.
Atomic Operations.
dup and dup2 Functions.
sync, fsync, and fdatasync Functions.
fcntl Function.
ioctl Function.
/dev/fd.
Summary.
4. Files and Directories.
Introduction.
stat, fstat, and lstat Functions.
File Types.
Set-User-ID and Set-Group-ID.
File Access Per missions.
Ownership of New Files and Directories.
access Function.
umask Function.
chmodand fchmod Functions.
Sticky Bit.
chown, fchown, and lchown Functions.
File Size.
File Truncation.
File Systems.
link, unlink, remove, and rename Functions.
Symbolic Links.
symlinkand readlink Functions.
File Times.
utime Function.
mkdirand rmdir Functions.
Reading Director ies.
chdir, fchdir, and getcwd Functions.
Device Special Files.
Summary of File Access Per mission Bits.
Summary.
5. Standard I/O Library.
Introduction.
Streams and FILE Objects.
Standard Input, Standard Output, and Standard Error.
Buffering.
Opening a Stream.
Reading and Writing a Stream.
Line-at-a-Time I/O.
Standard I/O Efficiency.
Binary I/O.
Positioning a Stream.
Formatted I/O.
Implementation Details.
Temporary Files.
Alternatives to Standard I/O.
Summary.
6. 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.
7. Process Environment.
Introduction.
main Function.
Process Termination.
Command-Line Arguments.
Environment List.
Memory Layout of a C Program.
Shared Libraries.
Memory Allocation.
Environment Variables.
setjmp and longjmp Functions.
getrlimit and setrlimit Functions.
Summary.
8. Process Control.
Introduction.
Process Identifiers.
fork Function.
vfork Function.
exit Functions.
waitand waitpid Functions.
waitid Function.
wait3and wait4Functions.
Race Conditions.
exec Functions.
Changing User IDs and Group IDs.
Interpreter Files.
system Function.
Process Accounting.
User Identification.
Process Times.
Summary.
9. Process Relationships.
Introduction.
Terminal Logins.
Network Logins.
Process Groups.
Sessions.
Controlling Terminal.
tcgetpgrp, tcsetpgrp, and tcgetsid Functions.
Job Control.
Shell Execution of Programs.
Orphaned Process Groups.
FreeBSD Implementation.
Summary.
10. Signals.
Introduction.
Signal Concepts.
signal Function.
Unreliable Signals.
Interrupted System Calls.
Reentrant Functions.
SIGCLD Semantics.
Reliable-Signal Terminology and Semantics.
killand raise Functions.
alarmand pause Functions.
Signal Sets.
sigprocmask Function.
sigpending Function.
sigaction Function.
sigsetjmp and siglongjmp Functions.
sigsuspend Function.
abort Function.
system Function.
sleep Function.
Job-Control Signals.
Additional Features.
Summary.
11. Threads.
Introduction.
Thread Concepts.
Thread Identification.
Thread Creation.
Thread Termination.
Thread Synchronization.
Summary.
12. Thread Control.
Introduction.
Thread Limits.
hread Attributes.
Synchronization Attributes.
Reentrancy.
Thread-Specific Data.
Cancel Options.
Threads and Signals.
Threads and fork.
Threads and I/O.
Summary.
13. Daemon Processes.
Introduction.
Daemon Characteristics.
Coding Rules.
Error Logging.
Single-Instance Daemons.
Daemon Conventions.
Client-Server Model.
Summary.
14. Advanced I/O.
Introduction.
Nonblocking I/O.
Record Locking.
STREAMS.
I/O Multiplexing.
2 poll Function.
Asynchronous I/O.
readv and writev Functions.
readn and written Functions.
Memory-Mapped I/O.
Summary.
15. Interprocess Communication.
Introduction.
Pipes.
popen and pclose Functions.
Coprocesses.
FIFOs.
XSI IPC.
Message Queues.
Semaphores.
Shared Memory.
Client-Server Properties.
Summary.
16. Network IPC: Sockets.
Introduction.
Socket Descriptors.
Addressing.
Connection Establishment.
Data Transfer.
Socket Options.
Out-of-Band Data.
Nonblocking and Asynchronous I/O.
Summary.
17 Advanced IPC.
Introduction.
STREAMS-Based Pipes.
Unique Connections.
Passing File Descriptors.
An Open Server, Version 1.
An Open Server, Version 2.
Summary.
18. Terminal I/O.
Introduction.
Overview.
Special Input Characters.
Getting and Setting Terminal Attributes.
Terminal Option Flags.
stty Command.
Baud Rate Functions.
Line Control Functions.
Terminal Identification.
Canonical Mode.
Noncanonical Mode.
Terminal Window Size.
termcap, terminfo, and curses.
Summary.
19. Pseudo Terminals.
Introduction.
Overview.
Opening Pseudo-Terminal Devices.
pty_fork Function.
pty Program.
Using the pty Program.
Advanced Features.
Summary.
20. A Database Library.
Introduction.
History.
The Library.
Implementation Overview.
Centralized or Decentralized?
Concurrency.
Building the Library.
Source Code.
Performance.
Summary.
21. Communicating with a Network Printer.
Introduction.
The Inter net Printing Protocol.
The Hypertext Transfer Protocol.
Printer Spooling.
Source Code.
Summary.
Appendix A. Function Prototypes.
Appendix B. Miscellaneous Source Code.
Our Header File.
Standard Error Routines.
Appendix C. Solutions to Selected Exercises.
Bibliography.
Index.
|
|