• Advanced Programming in the UNIX Environment See large image

    Advanced Programming in the UNIX Environment (Addison-Wesley Professional Computing (Paperback)) (Paperback) By (author) W. Richard Stevens, By (author) Stephen A. Rago

    Unavailable

    Sorry we can't get this title, the button below links through to AbeBooks who may have this title (opens in new window).

    Try AbeBooks | Add to wishlist
    Also available in...
    Paperback $51.85

    Description"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the original Stevens classic while keeping true to the original." -Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group The same trusted content from the Second Edition, now in paperback! For over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens' Advanced Programming in the UNIX(R) Environment. Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms. Rago carefully retains the spirit and approach that made this book a classic. Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O. Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard. Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3. As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code. More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments. Advanced Programming in the UNIX(R) Environment has helped a generation of programmers write code with exceptional power, performance, and reliability. Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable.


Other books

Other people who viewed this bought | Other books in this category
Showing items 1 to 10 of 10

 

Reviews | Bibliographic data
  • Full bibliographic data for Advanced Programming in the UNIX Environment

    Title
    Advanced Programming in the UNIX Environment
    Authors and contributors
    By (author) W. Richard Stevens, By (author) Stephen A. Rago
    Physical properties
    Format: Paperback
    Number of pages: 960
    Width: 188 mm
    Height: 234 mm
    Thickness: 46 mm
    Weight: 1,420 g
    Language
    English
    ISBN
    ISBN 13: 9780321525949
    ISBN 10: 0321525949
    Classifications

    BIC E4L: COM
    Nielsen BookScan Product Class 3: S10.2
    B&T Book Type: NF
    B&T Modifier: Region of Publication: 01
    B&T Modifier: Academic Level: 03
    LC classification: QA
    BIC subject category V2: UM
    DC22: 005.1
    B&T Merchandise Category: COM
    B&T General Subject: 224
    Abridged Dewey: 005
    Ingram Subject Code: XO
    Libri: I-XO
    Warengruppen-Systematik des deutschen Buchhandels: 16340
    BISAC V2.8: COM051000
    BIC subject category V2: ULN
    DC22: 005.432
    B&T Approval Code: A93503675
    BISAC V2.8: COM046030
    Thema V1.0: UM, ULJ
    Edition
    2, Revised
    Edition statement
    2nd Revised edition
    Illustrations note
    figures
    Publisher
    Pearson Education (US)
    Imprint name
    Addison-Wesley Educational Publishers Inc
    Publication date
    18 January 2008
    Publication City/Country
    New Jersey
    Author Information
    The late W. Richard Stevens was the acclaimed author of UNIX(R) Network Programming, Volumes 1 and 2, widely recognized as the classic texts in UNIX networking; as well as TCP/IP Illustrated, Volumes 1-3, and the first edition of this book. Stephen A. Rago is the author of UNIX(R) System V Network Programming (Addison-Wesley, 1993). Rago was one of the Bell Laboratories developers who built UNIX System V, Release 4. He served as a technical reviewer for the first edition of Advanced Programming in the UNIX(R) Environment. Rago currently works as a manager at EMC, specializing in file servers and file systems.
    Back cover copy
    "This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the original Stevens classic while keeping true to the original."--Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working GroupThe same trusted content from the Second Edition, now in paperback! For over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens' "Advanced Programming in the UNIX(R) Environment." Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms.Rago carefully retains the spirit and approach that made this book a classic. Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O.Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard. Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3.As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code. More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments."Advanced Programming in the UNIX(R) Environment" has helped a generation of programmers write code with exceptional power, performance, and reliability. Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable.
    Table of contents
    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.