Learn how to design and implement reliable UNIX software whether you are using Linux, Solaris, Mac OS X, or another POSIX-based system.
This completely updated classic (originally titled "Practical UNIX Programming") demonstrates how to design complex software to get the most from the UNIX operating system. UNIX Systems Programming provides a clear and easy-to-understand introduction to the essentials of UNIX programming. Starting with short code snippets that illustrate how to use system calls, Robbins and Robbins move quickly to hands-on projects that help readers expand their skill levels.
This practical guide thoroughly explores communication, concurrency, and multithreading. Known for its comprehensive and lucid explanationsof complicated topics such as signals and concurrency, the bookfeatures practical examples, exercises, reusable code, and simplifiedlibraries for use in network communication applications.
A self-contained reference that relies on the latest UNIX standards, UNIX Systems Programming provides thorough coverage of files, signals, semaphores, POSIX threads, and client-server communication. Thisedition features all-new chapters on the Web, UDP, and serverperformance. The sample material has been tested extensively in theclassroom.
Professional Technical Reference
Upper Saddle River, NJ 07458
I. FUNDAMENTALS. 1. Technologys Impact on Programs. 2. Programs, Processes and Threads. 3. Processes in UNIX. 4. UNIX I/O. 5. Files and Directories. 6. UNIX Special Files. 7. Project: The Token Ring. 8. Signals. II. ASYNCHRONOUS EVENTS. 9. Times and Timers. 10. Project: Virtual Timers. 11. Project: Cracking Shells. III. CONCURRENCY. 12. POSIX Threads. 13. Thread Synchronization. 14. Critical Sections and Semaphores. 15. POSIX IPC. 16. Project: Producer Consumer Synchronization. 17. Project: The Not Too Parallel Virtual Machine. IV. COMMUNICATION. 18. Connection-Oriented Communication. 19. Project: WWWRedirection. 20. Connectionless Communication and Multicast. 21. Project: Internet Radio. 22. Project: Server Performance. APPENDICES. Appendix A. UNIX Fundamentals. Appendix B. Restart Library. Appendix C. UICI Implementation. Appendix D. Logging Functions. Appendix E. POSIX Extensions. Bibliography. Program Index. Index.
In a nutshell, this updated UNIX classic covers everything you'll ever need for threads, TCP/IP and RPC programming-with reusable code examples that explain syntax along the way. Robbins and Robbins explain the essentials of UNIX programming, concentrating on communication, concurrency, and multithreading techniques and why, when, and how to use them. They also show how to design complex software to get the best from the UNIX operating system. Using short code snippets to illustrate how to use system calls, they also include a number of hands-on "projects" that very quickly help readers expand their skill levels. The book includes chapters on files, signals, semaphores, POSIX threads, client-server communication, and remote procedure calls. There are also short examples, working code, and simplified libraries for use in network communication applications featured throughout the book. The updated Second Edition includes all-new chapters on the Web and multicast and a completely revised and updated RPC chapter.
About the AuthorsKay A. Robbins and Steven Robbins received doctoral degrees from MITand are on the faculty in the Department of Computer Science at theUniversity of Texas at San Antonio.