UNIX Systems Programming: Communication, Concurrency, and Threads by Kay A. Robbins and Steven Robbins
UNIX Systems Programming: Communication, Concurrency, and Threads is the successor to the 1995 Practical UNIX Programming: A Guide to Communication, Concurrency, and Multithreading. This updated second edition includes all-new chapters covering the Web and multicast, plus a completely revised and updated remote procedure call (RPC) chapter. Material on files, signals, semaphores, threads and client-server communication also has been updated and enhanced.
The book provides programming exercises for many fundamental concepts in process management, concurrency and communication. These programming exercises are similar to the exercises you would be doing as part of an operating systems course. Exercises are specified for systematic development, and many can be implemented in under 100 lines of code.
Another important feature of the book is compliance with the POSIX standards, the single UNIX specification adopted since the publication of the first edition.
The book provides everything you need to program with threads, TCP/IP and RPC. The authors explain the essentials of UNIX programming, concentrating on communication, concurrency and multithreading techniques, and why, when and how to use them in a tutorial manner. They provide a lot of reusable source code examples, all complete and ready to be compiled and run.
Another nice feature of the book is that it shows how to design complex software to get the best performance from a POSIX system. Many short examples are featured throughout the book, as are a number of hands-on projects that help readers expand their skill levels. The authors take a practical approach and use short code snippets to illustrate how to use system calls.
I highly recommend adding this book to your UNIX library if you want to learn UNIX system programming essentials with a concentration on communication, concurrency and multithreading techniques. It is the book that will keep you wondering how you were working without it.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- A Topic for Discussion - Open Source Feature-Richness?
- New Products
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- The Secret Password Is...
3 hours 59 min ago
- Keeping track of IP address
5 hours 50 min ago
- Roll your own dynamic dns
11 hours 3 min ago
- Please correct the URL for Salt Stack's web site
14 hours 15 min ago
- Android is Linux -- why no better inter-operation
16 hours 30 min ago
- Connecting Android device to desktop Linux via USB
16 hours 58 min ago
- Find new cell phone and tablet pc
17 hours 56 min ago
19 hours 25 min ago
- Automatically updating Guest Additions
20 hours 34 min ago
- I like your topic on android
21 hours 20 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?