01-23-04 10:08 PM
Submitted-by: nospam@unix.net (Andrew Josey)
POSIX(R) 1003.1 Frequently Asked Questions
Last Updated : Dec 9 2003: freq.ques,v 1.5
This is the Frequently Asked Questions file for the POSIX 1003.1 standard
(IEEE Std 1003.1). Its maintainer is Andrew Josey (ajosey at The Open
Group ). Suggestions and contributions are always welcome.
This document can be found on the world wide web at
http://www.opengroup.org/austin/papers/posix_faq.html.
This article includes answers to the following.
Q0. What is POSIX? What is POSIX.1?
Q1. What is the Portable Application Standards Committee (PASC)?
Q2. What is the Austin Group?
Q3. What is the latest version of POSIX.1?
Q4. Where can I download the 1003.1 standard from?
Q5. What are the restrictions on the 1003.1 standard drafts and the full
standard?
Q6. How do I become a participant in the development of the POSIX.1
standard?
Q7. What happened to the existing POSIX 1003.1-1990 and POSIX
1003.2-1992 standards when this revision completed?
Q8. What is the history of IEEE POSIX 1003.1 System Application
Interface (C API) ?
Q9. What is the IEEE POSIX 1003.2 Shell and Utilities?
Q10. What are the IEEE POSIX Standards for Real-time?
Q11. How does the 1003.1 standard compare to the Linux Standard Base?
Q12. What options are there in the POSIX.1 standard?
Q13. What are the core technical changes in the latest POSIX.1 standard
over 1003.1-1990 and 1003.2-1992?
Q14. What about POSIX Certification?
Q15. How do I report a bug in the POSIX.1 standard?
Q16. How do I add a question to this FAQ?
------------------------------------------------------------------------
*Q0. What is POSIX? What is POSIX.1?*
POSIX is a registered trademark of the IEEE.
POSIX is an acronym for *P*ortable *O*perating *S*ystem *I*nterface.
Although originated to refer to the original IEEE Std 1003.1-1988, the
name POSIX more correctly refers to a family of related standards: IEEE
Std 1003./n/ (where /n/ is a number) and the parts of ISO/IEC 9945. The
term POSIX was originally used as a synonym for IEEE Std 1003.1-1988. A
preferred term for that standard, POSIX.1, emerged. This maintained the
advantages of readability of the symbol ``POSIX'' without being
ambiguous with the POSIX family of standards.
For a full listing of the project numbers see PASC Standing Document
SD11 <http://www.pasc.org/standing/sd11.html>.
The name POSIX was suggested by Richard Stallman. It is expected to be
pronounced pahz-icks, as in positive, not poh-six, or other variations.
The pronunciation has been published in an attempt to promulgate a
standardized way of referring to a standard operating system interface.
The latest version of the POSIX.1 standard is IEEE Std 1003.1, 2003
Edition, developed by the Austin Group (see later). For further
information on the background, audience and purpose of POSIX.1 see the
following document:
URL:http://www.opengroup.org/austin/pap...ckgrounder.html
*Q1. What is the Portable Application Standards Committee (PASC)?*
The IEEE Computer Society's Portable Application Standards Committee
(PASC) is the group that has and continues to develop the POSIX family
of standards. Historically, the major work has been undertaken within
Project 1003 (POSIX) with the best known standard being IEEE Std 1003.1
(also known as POSIX 1003.1, colloquially termed "dot 1"). The goal of
the PASC standards has been to promote application portability at the
source code level.
*Q2. What is the Austin Group?*
The Austin Common Standards Revision Group (CSRG) is a joint technical
working group established to develop and maintain the latest version of
the 1003.1 standard --- which combined and revised ISO/IEC 9945-1,1996
edition, ISO/IEC 9945-2, 1993 Edition, IEEE Std 1003.1,1996 edition,
IEEE Std 1003.2, 1992 edition and the appropriate parts of the Single
UNIX Specification.
See http://www.opengroup.org/austin/ for more information.
*Q3. What is the latest version of POSIX.1?*
The 2003 edition of the 1003.1 standard was published on March 31st
2003, and updates the 2001 edition of the standard to include Technical
Corrigendum 1 (TC1). The 2003 Edition is formally known as:
IEEE Std 1003.1, 2003 Edition
The Open Group Technical Standard Base Specifications, Issue 6
Includes IEEE Std 1003.1-2001 and IEEE Std 1003.1-2001/Cor 1-2002
and its worth noting that within the text the standard is still referred
to as IEEE Std 1003.1-2001.
POSIX.1 is also an international standard, and ISO/IEC publication
occurred on August 18 2003, denoted as ISO/IEC 9945:2003. It comprises
four parts:
Part 1: Base Definitions
Part 2: System Interfaces
Part 3: Shell and Utilities
Part 4: Rationale
*Q4. Where can I download the 1003.1 standard from?*
The html version of the latest version of the standard (which
incorporates technical corrigendum 1) is freely available to read and
download from: URL:http://www.unix-systems.org/version3/, you need to
register for a copy.
A summary of the changes in Technical Corrigendum 1 is available from:
URL:http://www.opengroup.org/austin/docs/austin_155.txt.
The pdf text of just the Technical Corrigendum 1 (changes to the 2001
edition of the standard) is available from: URL:
http://www.opengroup.org/pubs/catalog/u057.htm.
PDF copies of the final standard can also be obtained either from The
IEEE (search on 1003.1-2001) , The Open Group (Look for documents
T031,C031,C032,C033,C034) or ISO (look for ISO/IEC 9945 parts 1 thru 4).
It is freely available in pdf format to members of the Open Group from
the Open Group publications catalog. If you wish to signup up your
organization to become a member of The Open Group and are an active
participant you can sign up for no fee at
http://www.opengroup.org/austin/ogmembers/ (note
this is for companies and organizations only). If you want to join as an
individual please contact Andrew Josey directly, he can then add you as
an individual affiliate member.
Ongoing draft specifications for the technical corrigenda are available
online from the Austin Group web site at
http://www.opengroup.org/austin/ . You need to be a member of the Austin
Group. Information on how to join the group is on the web site.
URL: http://www.opengroup.org/austin/. (Austin Group Home Page)
*Q5. What are the restrictions on the 1003.1 standard drafts and the
full standard?*
See the copyright notice on the documents and the notice at
http://www.opengroup.org/austin/login.html . Downloading the draft is
taken as agreement to abide by the stated terms and conditions. In brief
you need to be a participant in the Austin Group in order to download
the drafts.
URL: http://www.opengroup.org/austin/login.html (Copyright Notice)
All queries regarding permission to reproduce sections of the standard
should be sent to austin-group-permissions at Open Group . Permission
needs to be granted by both copyright holders, The IEEE and The Open Group.
The IEEE and The Open Group position on implementations of the standard
is as follows: "/it is fair use of the standard for implementors to use
the names, labels etc contained within the specification. The intent of
publication of the standard is to encourage implementations of the
standard. Your attention is drawn to the disclaimer regarding
verification of patents when implementing the standard./"
*Q6. How do I become a participant in the POSIX.1 Working Group?*
To participate you need to join the Austin Group. See
http://www.opengroup.org/austin/lists.html for more information.
URL: http://www.opengroup.org/austin/lists.html. (How to Join the Austin
Group)
*Q7. What happened to the existing POSIX 1003.1-1990 and POSIX
1003.2-1992 standards when this revision completed?*
Since the material contained in the existing POSIX 1003.1 and POSIX
1003.2 standards is merged into the revision, POSIX 1003.1-1990 and its
amendments, and POSIX 1003.2-1992 and its amendments were
administratively withdrawn by the IEEE.
*Q8. What is the history of the IEEE POSIX 1003.1 System Application
Interface (C API) ?*
Historically, POSIX 1003.1 has been the base standard upon which the
POSIX family of standards has been built. In keeping with its original
focus on the UNIX system, it is aimed at interactive timesharing
computing environments.
The first edition of IEEE Std 1003.1 was published in 1988. Subsequent
editions were published in 1990, 1996 and 2001. The 1990 edition was a
revision to the 1988 edition and became the stable base standard onto
which further amendments were added. The 1990 edition was also approved
as an international standard, ISO/IEC 9945-1:1990.
The 1996 edition added the IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995,
and 1003.1i-1995 amendments to the base standard, keeping the stable
core text unchanged. The 1996 edition of IEEE Std 1003.1 was also
approved as an international standard, ISO/IEC 9945-1:1996.
In 1998 the first real-time profile standard, IEEE Std 1003.13-1998 was
published, enabling POSIX to address embedded real-time applications and
smaller footprint devices.
In 1999 the decision was taken to commence the first major revision to
the core base standard in ten years, including a merger with the 1003.2
standards for Shell and Utilities which had been a separate standard up
to this point . It was agreed that this work be undertaken by the Austin
Group. As part of this decision the PASC decided to cease rolling
amendments to the base standard after completion of IEEE Stds 1003.1a,
1003.1d, 1003.1g, 1003.1j, 1003.1q, and 1003.2b. These projects were
rolled into the 2001 edition of IEEE Std 1003.1. It was decided to
convert other projects in progress to standalone documents.
*Q9. What is IEEE POSIX 1003.2 Shell and Utilities?*
This standard defines a standard source level interface to the shell and
utility functionality required by application programs, including shell
scripts. This standard has been incorporated into the latest revision of
POSIX 1003.1 and thus a POSIX.2 standard no longer exists.
*Q10. What are the IEEE POSIX Standards for Real-time?*
The PASC Real-time System Services Working Group (SSWG-RT) has developed
a series of standards that amend IEEE Std 1003.1-1990 and a profile
standard (IEEE Std 1003.13-1998).
The Real-time amendments to IEEE Std 1003.1-1990 are as follows:
* IEEE Std 1003.1b-1993 Realtime Extension
* IEEE Std 1003.1c-1995 Threads
* IEEE Std 1003.1d-1999 Additional Realtime Extensions
* IEEE Std 1003.1j-2000 Advanced Realtime Extensions
* IEEE Std 1003.1q-2000 Tracing
These have all been folded in as options within the revision project
undertaken by the Austin Group in producing IEEE Std 1003.1-2001.
The Real-time profile is known as IEEE Std 1003.13-1998. At the time of
writing there is a revision to IEEE Std 1003.13-1998 in progress to
align it with IEEE Std 1003.1-2001, this project current known as IEEE
P1003.13-200x.
*Q11. How does the POSIX.1 standard compare to the Linux Standard Base?*
The POSIX.1 standard specifies application programming interfaces (APIs)
at the source level, and is about source code portability. Its neither a
code implementation nor an operating system, but a stable definition of
a programming interface that those systems supporting the specification
guarantee to provide to the application programmer. Efforts such as the
Linux Standard Base, and similarly the iBCS2 for x86 implementations of
System V, are primarily about binary portability and define a specific
binary implementation of an interface to operating system services. In
general they build upon the foundations of the POSIX standard.
*Q12. What options are there in the POSIX.1 standard?*
For a good description of the modular options in the POSIX.1 standard
see URL: http://people.redhat.com/~drepper/p...ion-groups.html
*Q13. What are the core technical changes in the latest POSIX.1 standard
over 1003.1-1990 and 1003.2-1992? *
The main changes are as follows: alignment with ISO/IEC 9899:1999 (ISO
C), support for IPv6, integration of recent POSIX realtime amendments (
1003.1d, 1003.1j, 1003.1q), amendments to the core POSIX functionality
from the 1003.2b and 1003.1a amendments, application of technical
corrigendum from The Open Group and IEEE interpretations, revision of
options , removal of obsolescent and legacy interfaces.
*Q14. What about POSIX Certification?*
In November 2003, The IEEE and The Open Group launched a new program
extending POSIX(R) certification for the 2003 Edition of IEEE Std 1003.1.
For the full announcement see: http://www.opengroup.org/press/03nov03.htm.
For a summary of web references for the new program see:
http://www.opengroup.org/certification/idx/posix.html.
The program includes a product standard for each type of product that
can be certified within the POSIX certification Program. In this initial
iteration of the certification program these are as follows:
* 1003.1-2003 Base Product Standard: This is a profile product
standard that comprises the mandatory functionality from IEEE Std
1003.1, 2003 Edition. It is comprised of two component product
standards.
* 1003.1-2003 System Interfaces Product Standard: This is a
component product standard for the mandatory system interfaces and
headers related functionality from IEEE Std 1003.1.
* 1003.1-2003 Shell and Utilities Product Standard: This is a
component product standard for the mandatory shell and utilities
related functionality from IEEE Std 1003.1.
A product can be certified against one or more product standards and the
program allows for two levels of certification: Platform Specific
Certification, which applies to a single defined hardware and software
environment, and Product Family Certification, which applies to all
members of a binary-compatible family.
The POSIX trademark can be optionally licensed for use in association
with certified products meeting the 10003.1-2003 Base Product Standard.
The POSIX certification system is a web-based workflow system designed
to lead applicants through the process to submit a product for
certification. The two POSIX Conformance test suites, VSX-PCTS2003 and
VSC-PCTS2003, are freely available to organizations that register to
apply for certification.
More information about the program, including all supporting
documentation is found at http://posixcertified.ieee.org/.
*Q15. How do I report a bug in the POSIX.1 standard?*
To report a bug in the POSIX.1 standard please complete the defect
report form at http://www.opengroup.org/austin/defectform.html.
*Q16. How do I add a question to this FAQ?*
Send the question (preferably with a proposed answer) to Andrew Josey.
----
Andrew Josey
Austin Group Chair
#include <std/disclaimer.h>
[ Post a follow-up to this message ]
|