Beginning with the basics of what a process is, how a process is generated, and how a process accesses its own environment. this book details process communication techniques, starting with the basics of process communications, and proceeding to the complexities of socket-based communications.
"synopsis" may belong to another edition of this title.
Understanding processes is fundamental to understanding UNIX. This book zeroes right in on the key techniques of processes and interprocess communication (IPC) - from primitive communications to the complexities of sockets.Loaded with examples and illustrations that clarify each technique, Interprocess Communications in UNIX covers topics like: beginning and ending processes; using fork and exec together; using primitive communications; and working with both named and unnamed pipes. Learn how to create message queues; use remote procedure calls (RPCs); create and access semaphore sets; and create shared memory segments. Once you attain a thorough mastery of interprocess communication methodologies, using POSIX threads you'll learn communications techniques for multithreaded applications. Learn to handle multiple threads in both single and multiple processes. From beginning to end, the book truly leads you through the "nooks and crannies" of UNIX - making you a dramatically more effective programmer. Rave reviews! "I really like this book!!! Concepts that I only vaguely understood now make complete sense to me! The sample code and exercises are so good, they seem to clamp down on the concepts like a vise grip..." S. Lee Henry, Johns Hopkins University.All UNIX system administrators, system programmers and computer science students.Excerpt. © Reprinted by permission. All rights reserved.:
In writing the first edition of this text, I noted that UNIX is a large, complex operating system that continues to evolve to meet user demands. I went on to state that it was my goal to provide the reader with the help needed to master the basics of interprocess communications in a UNIX setting. As the first edition went to press, it became very clear that UNIX was indeed continuing to evolve. By the mid-90's threads and multithreaded programming techniques were making significant, permanent inroads into the UNIX mainstream. To address the use of threads and the techniques by which they can communicate, another chapter has been added to the original work. While the chapter on threads is substantial, it is not inclusive. The topic of threads is sufficiently complex to warrant the writing of entire texts on the matter. It is assumed that the reader has a working knowledge of C programming. It is further assumed that while not being an expert, the reader has worked in a UNIX based environment and is reasonably familiar with a UNIX based text editor such as vi or pico (available from the University of Washington). This text makes extensive references to specific UNIX system calls and predefined library functions. The reader is encouraged to read the manual page for each system call/library function as it is encountered. The manual pages in UNIX are an unparalleled source of information. Appendix A covers the format and use of UNIX manual pages.
All programming references and examples were generated on a Sun SPARC 10 Model 41 running Sun Microsystems' Solaris 2.5. Each example is a complete stand-alone program. Command line examples, except where noted, are C shell based. Sun Microsystems' C++ compiler, CC (V4.2), was used to compile all source code. Solaris has its origins in AT&T UNIX. Prior to moving to Solaris, Sun Microsystems' platforms ran SunOS which is a BSD (Berkeley) based version of UNIX. Many of the examples (and some of the exercises) have been run in a SunOS 4.1.3 setting, and on a PC platform using Slackware Linux. Linux, originally developed by Linus Torvalds, is a freely distributed PC based hybrid UNIX. Linux system administration is BSD like while its programming environment has a definite AT&T flavor. Most often, few if any modifications were needed to generate clean, executable code. In these alternate environments the GNU C compiler, gcc, was used. In any UNIX setting, IPC (interprocess communication) support must be available for the user to pursue the materials covered in the chapters on semaphores, message queues, and shared memory.
Under Solaris IPC support is enabled by default. However, in some versions of UNIX (such as SunOS and Linux), you may need to modify system configuration files and recompile the kernel to enable IPC support. Unless you are the current system administrator, you most likely will want to seek help when recompiling the UNIX kernel. To complete the work on threads, a thread library (preferably POSIX compliant) must be available. Fortunately, most newer versions of UNIX come with thread libraries.
Works of this nature are never completely finished. Your comments, suggestions, corrections and exercise solutions are welcome. I can be contacted at firstname.lastname@example.org. Program examples can be obtained via anonymous ftp from: /ftp/pub/ptr/professional_computer_science.w-022/gray/interprocess_communications2.
While my name graces the cover of this text, I would be the first to admit that its creation has not been a singular task. My family, my wife Marie and son Bill, have figured prominently in my efforts for both editions. They unfailingly provided me with the moral support when my ardor to complete the task at hand waned and often had to forgo their own activities so that I might pursue mine. Thank you! I would also like to acknowledge those who helped me in numerous ways to refine my thoughts and class notes into the text that follows. Joe DiOrio, Robert Mela and John Kagan were my first line reviewers for the first edition. Their feedback helped me to smooth off the rough edges and put things right from the start. As the first edition evolved into a second, a new set of reviewers pitched in. Rocco DiValentino, John Pedersen, Scott Thoman and my wife Marie all provided me with numerous helpful comments and suggestions. My UNIX Internals classes at the University of Hartford continued to serve as a test bed for the proposed exercises and as a springboard for new ideas and topics.
I would also like to thank the outside reviewers who critiqued my work. For the first edition: Peter Collinson (Hillside Systems), Tim Gottleber (Dallas County Community College), Doug Langston (Fidelity Investments), and S.Lee Henry (John Hopkins Univeristy). For the second edition a note of thanks goes to Bil Lewis for his comments and suggestions concerning the thread based material. For the first edition the University of Hartford generously provided me with the sabbatical time to write the bulk of the text. The second edition evolved over last summer in lieu of a real life. As in the past, I would like to acknowledge the members of the Math/Physics/Computer Science department who offered their ongoing collegial support. Special thanks to my department Chair, Joel Kagan, for his continued support in all of my academic endeavors. Many thanks to Greg Doench, editor at Prentice Hall, who continued to handle things with a practiced and steady hand. My thanks would not be complete without a mention of my parents and grandparents who instilled in me from the beginning that anything is possible if you do not give up - I guess I listened. Last, but never least, my cat, Footsie. While she was ever present during the writing of the first edition, she somehow saw the light and became a mere shadow for the second edition— the ultimate in been there, seen it, done it!
"About this title" may belong to another edition of this title.
Book Description Prentice Hall, 1996. Paperback. Book Condition: New. Bookseller Inventory # DADAX0131868918
Book Description Prentice Hall, 1996. Paperback. Book Condition: New. book. Bookseller Inventory # M0131868918
Book Description Prentice-Hall. Book Condition: New. pp. 364. Bookseller Inventory # 5269476