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 Authors Kay 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.