home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: pc@hillside.co.uk (Peter Collinson)
-
- USENIX Standards Watchdog Committee
- Stephen Walli <stephe@usenix.org>, Report Editor
- Report on POSIX.4, POSIX.4a, POSIX.13, POSIX.4b Real-time Extensions
-
-
- Bill O. Gallmeister <bog@lynx.com> reports on the January 13-17
- meeting in Irvine, CA:
-
- Summary
-
- This meeting, we concentrated on the real-time profiles document
- (POSIX.13), and on the new real-time interfaces (POSIX.4b). POSIX.13
- was released to ballot at the end of this meeting. In addition,
- technical reviewers for POSIX.4 and POSIX.4a were able to make good
- progress on their respective drafts. POSIX.4 may complete balloting
- in the Fall of 1992; POSIX.4a will probably take another six months
- after that. Our current intention is to ballot POSIX.4b after the
- October meeting. By that time, POSIX.4 itself should be through the
- IEEE balloting process and into an ISO ballot, though we will probably
- still be balloting POSIX.4a.
-
- POSIX.13: Real-Time Profiles
-
- The big news here is that POSIX.13 is now ready to ballot! After a
- number of small mock ballots, the working group closed on what should
- be the functionality in each of the four profiles contained in
- POSIX.13. POSIX.13 is the first POSIX profile document to reach
- ballot. With any luck, we will begin POSIX.13 ballot resolution at the
- April, 1992 meeting.
-
- POSIX.4b: New Real-Time Interfaces
-
- Our goal this week was to settle on the contents of POSIX.4b and to
- produce first drafts of each chapter. We came close. Some first
- chapter drafts should be coming in the mailings.
-
- POSIX.4b includes chapters for: interrupt control; timeouts on all
- blocking functions; enhanced memory allocation; sporadic server
- scheduling; spawn (a combined fork/exec); the ability to wait on
- multiple things, also known as event flags; CPU time budgeting (the
- ability to set time budgets for other processes/threads and examine
- time spent by those processes/threads); and more interfaces for
- driver/application communication (i.e., ioctl). Some of these
- chapters actually did make it into the draft by Friday. Other
- facilities were brand new, and are still being debated (CPU time
- budgeting, event flags and ioctl were especially contentious). The
- contents are not cast in stone, but it indicates the small groups
- which the working group will form at the next meeting.
-
- Ioctl
-
- The standard method of driver/application communication, aside from
- the obvious read/write, is ioctl. POSIX.1 elected not to standardize
- ioctl, instead preferring to provide alternate standard interfaces to
- control those devices, such as TTYs, for which a standard set of ioctls
- existed. For devices which were not standard, POSIX.1 did not wish to
- provide a standard interface for doing non- standard things.
-
- There was some agreement with this approach in POSIX.4, but the idea
- had been raised that perhaps there were a suitable set of standard
- devices which might benefit from standard ioctls (SCSI devices, IEEE
- 488 devices, and so forth).
-
- A small group (me) gathered up a list of standard devices for
- consideration for a standardized control interface. Whether the
- interface was ioctl or not is, at this point, largely immaterial.
- When this list was presented, it was rather short; it turned out that
- most of the impetus for ioctl is not the desire to perform standard
- I/O operations (rewind a tape, eject a floppy), but rather to do non-
- standard things (rotate a radar, drop some control rods, e.g.). We
- decided to form a small group to further explore this issue.
-
- Enhanced Memory Allocation
-
- An interface by which memory can be allocated from various special
- pools (NVRAM, Video Ram, for instance) is standard practice in much of
- the real-time community. This is the idea behind an enhanced memory
- allocation interface. It was pointed out that the mmap() facility
- could be used to carve off parts of an appropriate memory area, and an
- allocator could be easily constructed at application level based on
- this. This was seen to be the correct way of allocating special
- memory.
-
- Asynchronous Interfaces
-
- Some have requested that POSIX.4 provide asynchronous interfaces to
- blocking services. Some objected that we have already done so;
- POSIX.4a provides an asynchronous interface to any system interface by
- allowing threads to be created for the purpose of using those
- interfaces without suspending the original thread. For instance, an
- asynchronous open routine can easily be emulated by creating a
- separate thread to perform a synchronous open, then signal the
- original thread and go away. Despite this, we have an agenda bullet
- to explore this possibility in Dallas this April.
-
- POSIX.4 and POSIX.4a Draft Status
-
- POSIX.4 has completed its third round of balloting and the ballot
- objections are dropping off in a gratifying fashion. The draft should
- be out for its next-to-last recirculation by the April meeting. IEEE
- approval is expected in the Fall of 1992. POSIX.4a is approaching its
- next circulation and should be re-circulated by the Fall meeting as
- well. POSIX.4a will actually be re-balloted rather than re-
- circulated, because it was not able to achieve a 75% approval rate.
- This means that the entire draft will be open for comment, rather than
- just the parts of the draft that have changed from the previous
- draft. The balloting group, however, will remain the same.
-
-
- Volume-Number: Volume 27, Number 8
-
-