Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
POSIX.4: programming for the real world
Gallmeister B., O’Reilly & Associates, Inc., Sebastopol, CA, 1995. Type: Book (9781565920743)
Date Reviewed: Aug 1 1996

POSIX.4 is a loosely related set of real-time extensions to POSIX.1. Operating system vendors can choose which extensions to implement, so there is no simple designation of POSIX.4 compliance. Extensions are specified for signal handlers, message queues, shared memory, semaphores, process scheduling, timers, virtual memory locking, and I/O.

This is an excellent book in at least two respects. First, it is an indispensable reference for the POSIX.4 real-time extensions. Second, it presents the central operating system issues concerning process scheduling, synchronization, and communication clearly. Not only does it contain lots of important technical detail, it puts the detail in perspective in an easy-to-understand way.

The first half of the book consists of six chapters that explain the details of POSIX.4. The second half contains alphabetically arranged man pages (UNIX-style manual entries) for system calls and header files. The book has a thorough index and a short annotated bibliography, from which Stevens’s book [1] is strangely absent. I noticed about a dozen typos and grammatical errors, but none impeded understanding. There are programming exercises at the end of each chapter and extensive solutions in the appendix. It is unfortunate that no ftp site is mentioned from which to obtain the solutions.

Chapters 1 and 2 are short and introductory. They provide context, outline the features of POSIX.4, and explain the use of compile-time and runtime checks to determine which features are present on a given system. Chapter 3 describes typical organizations of real-time programs. It gives an overview of signals and signal handlers in UNIX, and it covers the POSIX.4 extensions to POSIX.1 signals. Chapter 4 focuses on process coordination, communication, and synchronization. It describes pipes, FIFOs, and their shortcomings. It explains both System V and POSIX.4 message queues and how to use them properly. It covers shared memory and provides a clear explanation of semaphores.

Chapter 5 is concerned with timers and process scheduling. The three POSIX.4 scheduling policies--FIFO, round robin, and implementation-dependent--are discussed in detail. Clocks, time measurement, clock accuracy, and interval timers are covered. Memory locking to avoid paging delays is dealt with well. Chapter 6 deals with the troublesome issues of I/O in real-time systems. Many valuable warnings and suggestions are offered. The focus of the chapter is on facilities for asynchronous I/O, which are new in POSIX.4. Chapter 7 purportedly covers performance and is the only disappointing chapter in the book. It is really a nebulous discussion of performance measurement that recapitulates material from earlier chapters.

The man pages for system calls and header files are invaluable. They bring together the fundamentals of POSIX.4 in a single place without the encumbrances of operating system–specific additions, qualifications, or misinterpretations.

The book is useful to a variety of people. It is interesting reading for those who would like to expand or review their understanding of operating systems. It would serve well as a supplemental text in a general operating systems course or in one that focuses on real-time issues. For anyone who has to write timing- or order-dependent system calls that are portable across UNIX systems, this book is required reading.

Reviewer:  M. Staknis Review #: CR119045 (9608-0561)
1) Stevens, W. R. Advanced programming in the UNIX environment. Addison-Wesley, Reading, MA, 1992.
Bookmark and Share
 
Posix (D.4.9 ... )
 
 
Performance Attributes (C.4 ... )
 
 
Real-Time And Embedded Systems (C.3 ... )
 
 
Real-Time Systems And Embedded Systems (D.4.7 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Posix": Date
The POSIX.1 standard
Zlotnick F., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805396058)
Sep 1 1992
Programming with POSIX threads
Butenhof D., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1997. Type: Book (9780201633924)
Oct 1 1998

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy