home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
-
- USENIX Standards Report
-
- Nicholas M. Stoughton <nick@usenix.org>, Report Editor
-
-
- POSIX.4: Real Time
-
-
- Bill O. Gallmeister <bog@lynx.com>, vice chair of the
- POSIX.4 working group. reports on the January 11-15, 1993
- meeting in New Orleans, LA:
-
- POSIX.4 has, for all intents and purposes, split into two
- separate groups. On the one hand, we have the existing,
- ``old'' work of POSIX.4: POSIX.4 itself, POSIX.4a (threads),
- and POSIX.13. These three documents are in balloting right
- now and are not, for the most part, the concern of the
- working group. On the other hand, the working group is
- busy, mostly with POSIX.4b, a proposal for extended real-
- time functionality. POSIX.4b is what the working group
- worked on in New Orleans. This report will briefly cover
- both parts of POSIX.4.
-
- What We Work On
-
- First, here's a brief introduction to what we do in POSIX.4.
- POSIX.4, the working group charged with making extensions to
- POSIX to support real-time applications, has a sizable
- stable of proposed standards in its estate. POSIX.4 is the
- basic realtime standard; POSIX.4a is the threads extension
- to POSIX; POSIX.13 is the profiles document that describes
- POSIX for everything from an embedded controller to a large
- workstation-based real-time system; POSIX.4b is yet more
- real-time extensions (stuff we couldn't agree to work on for
- POSIX.4); and finally, POSIX.4c is the Language-Independent
- spec and the test assertions for POSIX.4. [Ed. note the
- comments in the editorial on these matters]
-
- The Old Stuff: POSIX.4.
-
- POSIX.4 is the base, real-time standard. This document is
- so close to finishing, we can taste it! On the last ballot,
- we achieved an 83% affirmative approval rating. By that
- metric, we're done. On the other hand, some of the
- remaining balloters are vociferous and represent large,
- existing bases of UNIX functionality. For this reason, in
- New Orleans the technical reviewers were still addressing
- the remaining objections, trying to remove as many of these
- as possible. At the close of the New Orleans meeting, the
- ballot resolution process wasn't completed. However, since
- then, the resolution process has been finished, and we have
- in fact sent out POSIX.4 for its final recirculation. Two
- large changes were made from draft 13 to draft 14, along
- with several minor changes. The major changes are:
-
- 1. The real-time files chapter has been removed from the
- document. This chapter had become the lightning rod
- for the majority of the remaining objections, most of
- which objected to the fact that the facility only
- seemed able to do contiguous, pre-allocated disk
- files. More capability and extensibility was desired.
- A competing proposal, for a thing called fadvise, has
- been made by one of the objectors, and it seems like a
- better solution to the whole issue of real-time files.
- We will probably be addressing this area in future
- work of the POSIX.4 working group. Unfortunately, for
- now there is no proposal in place for real-time files.
- I was personally uncomfortable with this action, it
- being late in the balloting process. At the same
- time, though, I do like the fadvise interface more
- than the POSIX.4 Draft 13 interface, and some of the
- Draft 13 facilities were, frankly, incomprehensible to
- me. Basically, I think this action was OK.
-
- 2. Some of the POSIX.4 interfaces feature the capability
- to set up ``something'' that will cause the
- application to be asynchronously notified in the
- future. For instance, a timer expiration, or
- asynchronous I/O completion, both result in
- asynchronous notification. As of draft 13,
- ``asynchronous notification'' meant a signal was
- delivered. Several objectors wanted the ability to
- replace signals with other, presumably more
- lightweight methods of asynchronous notification
- (simply calling a function is a possibility). Draft
- 14 has been accordingly modified to support extension
- to new methods of asynchronous notification. Signals
- are currently the only known method of asynchronous
- notification, but other, future mechanisms can now be
- implemented in a portable fashion under the POSIX.4
- facilities. I am quite in favor of this change, as
- everyone knows there are faster ways of doing
- asynchronous notification than signals!
-
- In addition, there are numerous, very minor changes to draft
- 14 of POSIX.4. At this writing, POSIX.4, Draft 14 has been
- sent out for one last recirculation. Draft 14 is not a
- complete draft; it is merely a set of changes from Draft
- 13. There are about ten pages of changes. The balloting
- period has already closed, and we are in the process of
- totaling up the responses to this last recirculation.
-
- More Old Stuff: POSIX.4a.
-
- POSIX.4a is the threads proposal. This document is probably
- of greater interest to a lot of the Usenix members than
- POSIX.4 itself. Here's a shocker: POSIX.4a has gone out
- for a recirculation! After a long while in ballot
- resolution, the threads proposal was just recently sent out
- again. It should be in the hands of the balloting group for
- another recirculation before this report is published. With
- any luck, this recirculation will go more smoothly, and more
- swiftly, than the previous two recirculations have. The
- good news is, this time, POSIX.4a is being recirculated, not
- reballoted. The previous time around, POSIX.4a was re-
- balloted. What that means is, the entire draft was open for
- comment. In a recirculation, by contrast, only the changed
- parts of the proposal can be commented upon. A reballot is
- required when not enough people deliver an affirmative
- ballot. Thus, if you need a reballot, you're in trouble.
- The fact that we are re-circulating POSIX.4a is a good sign.
-
- Yet more Old Stuff: POSIX.13.
-
- The profiles document, POSIX.13, is currently still in
- ballot resolution. It seems to be following the POSIX.4a
- model, wherein the technical reviewers have very little time
- for technical review. The issues for POSIX.13 are fewer
- than for POSIX.4a -- that's good. On the other hand, the
- one big issue, subsetting of POSIX.1, is still to be
- addressed. That's bad. (For those of you who are just
- learning about the POSIX.4 world, POSIX.13 consists of four
- profiles, ranging from supercomputer real-time all the way
- down to tiny, embedded systems. These embedded systems
- generally run on hardware that is not capable of supporting
- all of POSIX.1 and POSIX.2 (no disk, no MMU, very little
- memory, etcetera). For that reason, there is a need for an
- embedded profile to call out a subset of POSIX.1: it needs
- a lot of POSIX.1, but other parts are simply irrelevant or
- impossible). Stay tuned for more information on how
- POSIX.13 is doing!
-
- POSIX.4c
-
- Some progress has been made towards a language-independent
- specification for POSIX.4. However, given the current
- instability of the whole LI thing, I wouldn't be surprised
- if we were able to drop this work later on. For now, work
- continues on LI.
-
-
- Volume-Number: Volume 31, Number 47
-
-