[Federal Register Volume 59, Number 195 (Tuesday, October 11, 1994)]
[Unknown Section]
[Page 0]
From the Federal Register Online via the Government Publishing Office [www.gpo.gov]
[FR Doc No: 94-25049]


[[Page Unknown]]

[Federal Register: October 11, 1994]


-----------------------------------------------------------------------

DEPARTMENT OF COMMERCE
National Institute of Standards and Technology
[Docket No. 940816-4216]
RIN 0693-AA70

 

Approval of Federal Information Processing Standards Publication 
189, Portable Operating System Interface (POSIX); Part 2: Shell and 
Utilities

AGENCY: National Institute of Standards and Technology (NIST), 
Commerce.

ACTION: Notice.

-----------------------------------------------------------------------

SUMMARY: The purpose of this notice is to announce that the Secretary 
of Commerce has approved a new standard, which will be published as 
FIPS Publication 189, Portable Operating System Interface (POSIX)--Part 
2: Shell and Utilities. This standard adopts the International Standard 
ISO/IEC 9945-2:1993, Information Technology--Portable Operating System 
Interface (POSIX)--Part 2: Shell and Utilities, which defines a command 
language interpreter (shell) and a set of utility programs. On January 
28, 1994 (59 FR 4034) and February 17, 1994 (59 FR 8041), notices were 
published in the Federal Register that a Federal Information Processing 
Standard for Portable Operating System Interface (POSIX)--Part 2: Shell 
and Utilities was being proposed for Federal use.
    NIST reviewed written comments submitted by interested parties and 
other available material. On the basis of this review, NIST recommended 
that the Secretary approve the standard as a Federal Information 
Processing Standard (FIPS), and prepared a detailed justification 
document for the Secretary's review in support of that recommendation.
    The detailed justification document which was presented to the 
Secretary, and which includes an analysis of the written comments 
received, is part of the public record and is available for inspection 
and copying in the Department's Central Reference and Records 
Inspection Facility, Room 6020, Herbert C. Hoover Building, 14th Street 
between Pennsylvania and Constitution Avenues NW., Washington, DC 
20230.
    This FIPS contains two sections: (1) An announcement section, which 
provides information concerning the applicability, implementation, and 
maintenance of the standard; and (2) a specifications section, which 
deals with the technical requirements of the standard. Only the 
announcement section of the standard is provided in this notice.

EFFECTIVE DATE: This standard is effective April 3, 1995.

ADDRESSES: Interested parties may purchase copies of this standard, 
including the technical specifications section, from the National 
Technical Information Service (NTIS). Specific ordering information 
from NTIS for this standard is set out in the Where to Obtain Copies 
Section of the announcement section of the standard.

FOR FURTHER INFORMATION CONTACT:
Ms. Sheila Frankel, (301) 975-3297, Computer Systems Laboratory, 
National Institute of Standards and Technology, Gaithersburg, MD 20999.

    Dated: October 3, 1994.
Samuel Kramer,
Associate Director.

Federal Information Processing Standards Publication 189

Announcing the Standard for Portable Operating System Interface 
(POSIX)--Part 2: Shell and Utilities

    Federal Information Processing Standards Publications (FIPS PUBS) 
are issued by the National Institute of Standards and Technology after 
approval by the Secretary of Commerce pursuant to Section 111 (d) of 
the Federal Property and Administrative Services Act of 1949 as amended 
by the Computer Security Act of 1987, Public Law 100-235.
    Name of Standard. Portable Operating System Interface (POSIX)--Part 
2: Shell and Utilities (FIPS PUB 189).
    Category of Standard. Software Standard, Operating Systems.
    Explanation. This publication announces the adoption of 
International Standard ISO/IEC 9945-2:1993, Information Technology--
Portable Operating System Interface (POSIX)--Part 2: Shell and 
Utilities as a Federal Information Processing Standard (FIPS). ISO/IEC 
9945-2:1993 defines a command language interpreter (shell) and a set of 
utility programs.
    This standard is for use by computing professionals involved in 
system and application software development and implementation and is 
part of a series of specifications needed for application portability. 
This standard addresses the Applications Portability Profile functional 
area that deals with methods by which a person interacts with the 
operating systems.
    Approving Authority. Secretary of Commerce.
    Maintenance Agency. U.S. Department of Commerce, National Institute 
of Standards and Technology, Computer Systems Laboratory.
    Cross Index. International Standard ISO/IEC 9945-2:1993, 
Information Technology--Portable Operating System Interface (POSIX)--
Part 2: Shell and Utilities
    Related Documents.
    a. Federal Information Resources Management Regulations subpart 
201-20.333, Standards, and subpart 201-39.1002, Federal Standards.
    b. FIPS 151-2 (POSIX).
    c. Federal Information Processing Standards Publication 160, C.
    d. ISO/IEC 9899: Information Technology--Programing Languages--C.
    e. Test Methods for Measuring Conformance to POSIX, IEEE Std 
1003.3-1991.
    f. Test Methods for Measuring Conformance to POSIX, IEEE Proposed 
Std 2003 (Draft 1.0).
    g. Test Methods for Measuring Conformance to POSIX.1, IEEE Std 
2003.1-1992.
    h. Test Methods for Measuring Conformance to POSIX.2, IEEE Proposed 
Std 2003.2 (Draft 8).
    i. Interpretation Procedures for Federal Information Processing 
Standards for Software, FIPS PUB 29-3, 1992 October 29.
    j. NVLAP Program Handbook, Computer Applications Testing POSIX 
Conformance Testing, NISTIR 4522, March 1991 (latest revision).
    k. NIST POSIX Testing Policy--General Information, April 15, 1993 
(latest revision).
    l. NIST POSIX Testing Policy, Certificate of Validation 
Requirements, FIPS 151-2, August 15, 1993 (latest revision).
    Related On-Line Information. Information on the NIST POSIX Testing 
Program is available on an electronic mail (email) file server system. 
Documents available are: registers of validated products, general 
information on NIST POSIX testing policy, and information on 
requirements for certificates of validation.
    To access the system:
    You must be able to send and receive email via the Internet. For 
most email systems, send an email message to [email protected]. When the 
email system prompts you for the ``subject'' of the message, you may 
type anything. The body of the email message should consist of one or 
more basic commands to the email server, with each command on a 
separate line. For example, to request the email server to send you a 
listing of all available files, enter the command: send index. To 
request a brief description of all valid commands, enter the command: 
help. To receive a more detailed explanation on how to use the mail 
server, enter: send help.
    After you enter the command(s), indicate that your email message is 
complete as required by your email system.
    The NIST mail server program will read the message and send the 
requested document(s) and/or information to your email address.
    If you need help contact the Systems and Software Technology 
Division, B266 Technology Building, NIST, Gaithersburg, MD 20899, 
telephone: 301-975-3295.
    Objectives. This FIPS permits Federal departments and agencies to 
exercise more effective control over the production, management, and 
use of the Government's information resources. The primary objectives 
of this FIPS are:
    a. To promote portability of computer application programs at the 
source code level, thus reducing staff hours required to tailor 
computer programs for different vendor systems and architectures.
    b. To simplify computer program documentation by the use of a 
standard portable system interface design.
    c. To increase portability of acquired skills, allowing people to 
operate a wide range of application platform implementations without 
additional training or study, resulting in reduced personnel training 
costs.
    d. To maximize the return on investment in generating or purchasing 
computer programs by insuring operating system compatibility.
    Government-wide attainment of the above objectives depends upon the 
widespread availability and use of comprehensive and precise standard 
specifications.
    Applicability. This FIPS shall be used for POSIX command language 
interpreters and utilities that are either developed or acquired for 
Government use. This FIPS is applicable to the entire range of computer 
hardware, including:
    a. Notebooks and Subnotebooks,
    b. Laptops,
    c. Micro-computer systems,
    d. Mini-computer systems,
    e. Workstations,
    f. Mainframes,
    g. Other systems that require POSIX-like command language 
interfaces.
    Specificaitons. The FIPS PUB 189 specifications are the 
specifications contained in the International Standard ISO/IEC 9945-
2:1993, Information Technology--Portable Operating System Interface 
(POSIX)--Part 2: Shell and Utilities, with the modifications specified 
below. ISO/IEC 9945-2:1993 defines a command language interpreter 
(shell) and a set of utility programs. ISO/IEC 9945-2:1993 (hereinafter 
referred to as POSIX.2) refers to and is a complement to ISO/IEC 9945-
1, Information Technology--Portable Operating System Interface 
(POSIX)--Part 1: System Application Program Interface (API) [C 
Language].
    POSIX.2 contains a number of features that are labelled 
obsolescent. These features violate the general syntactic guidelines of 
POSIX.2. They were included in POSIX.2 to provide upward compatibility 
of existing applications, and may be deleted from POSIX.2 at some 
future date. The POSIX.2 standard requires that strictly conforming 
applications do not use any of these features. It is strongly 
recommended that agencies that require the POSIX.2 FIPS prohibit users 
from using these features in the development of new applications. 
Therefore, the following obsolescent features are not required for a 
system to be the associated POSIX.2 FIPS. (For each feature a reference 
to the associated POSIX.2 text is provided):
     Zero-length prefix in the PATH environment variable [See 
POSIX.2 Section 2.6 Lines 2699-2700]
     The -- option in the set special built-in utility [See 
POSIX.2 Section 3.14.11 Lines 1599-1600 and 1726-1730]
     The awk string function length with no argument and no 
parentheses [See POSIX.2 Section 4.1.7.6.2.2 Lines 621-622]
     The octal number form of the mode operand in the chmod 
utility [See POSIX.2 Section 4.7.7 Lines 2090-2091]
     The -- option in the ed utility [See POSIX.2 Section 
4.20.1 Lines 3529-3530; Section 4.20.3 Line 3542]
     The -- option in the env utility [See POSIX.2 Section 
4.21.1 Lines 4034-4035; Section 4.21.3 Line 4048]
     The -perm [-]onum primary in the find utility [See POSIX.2 
Section 4.24.4 Lines 4361-4368]
    OSIX.2 Section 4.24.4 Lines 4361-4368]
     The egrep and fgrep utilities [See POSIX.2 Section 4.28.1 
Lines 4793-4799; Section 4.28.2 Lines 4815-4832; Section 4.28.3 Lines 
4850-4851]
     The -number option in the head utility [See POSIX.2 
Section 4.29.1 Lines 4953-4954; Section 4.29.3 Lines 4971-4974]
     The -j field, -j1 field, and -j2 field options and the -o 
list option (where list is composed of multiple arguments) in the join 
utility [See POSIX.2 Section 4.31.1 Lines 5133-5135; Section 4.31.3 
Lines 5168-5170 and 5182-5184]
     The -signal__name and -signal__number options in the kill 
utility [See POSIX.2 Section 4.32.1 Lines 5259-5261; Section 4.32.3 
Lines 5294-5311]
     The +pos1 and -pos2 options in the sort utility and the -o 
output option following a file operand [See POSIX.2 Section 4.58.1 
Lines 9583-9585; Section 4.58.3 Lines 9599-9601, 9618-9620, and 9674-
9675; Section 4.58.7 Lines 9746-9762]
     The -[number] [c-1][f] and +[number][c-1][f] options in 
the tail utility [See POSIX.2 Section 4.60.1 Lines 10058-10060; Section 
4.60.3 Lines 10098-10105]
     The date__time operand in the touch utility [See POSIX.2 
Section 4.63.1 Lines 10337-10338; Section 4.63.4 Lines 10403-10416]
     The -s option in the tty utility [See POSIX.2 Section 
4.66.1 Lines 10659-10660; Section 4.66.3 Lines 10669-10671]
     The octal number form of the mask operand in the umask 
utility [See POSIX.2 Section 4.67.4 Lines 10755-10756 and 10759-10760]
     The -n and +m options in the uniq utility [See POSIX.2 
Section 4.69.1 Lines 10890-10891; Section 4.69.3 Lines 10918-10919]
    If the User Portability Utilities Option is required, the following 
obsolescent features are not required for a system to be compliant with 
the POSIX.2 FIPS:
     The - and +command options in the ex utility [See POSIX.2 
Section 5.10.1 Lines 985-986; Section 5.10.3 Lines 1004 and 1028]
     The -tabstop and -tab1,tab2,...tabn options in the expand 
utility [See POSIX.2 Section 5.11.1 Lines 2056-2057; Section 5.11.3 
Lines 2083-2085]
     The +command option in the more utility [See POSIX.2 
Section 5.18.1 Lines 2726-2727; Section 5.18.3 Line 2769]
     The - option in the newgrp utility [See POSIX.2 Section 
5.19.1 Lines 3123-3124; Section 5.19.3 Line 3185]
     The - increment option in the nice utility [See POSIX.2 
Section 5.20.1 Lines 3242-3243; Section 5.20.3 Line 3260]
     The nice__value operand in the renice utility; 
combinations of the [-p] pid, -g gid, and -u user options [See POSIX.2 
Section 5.24.1 Lines 3796-3798; Section 5.24.3 Lines 3837-3838, 3847-
3848, and 3850-3851; Section 5.24.4 Lines 3860-3864]
     The -line__count option in the split utility [See POSIX.2 
Section 5.25.1 Lines 3906-3907; Section 5.25.3 Line 3942]
     The - and -number options in the strings utility [See 
POSIX.2 Section 5.26.1 Lines 3996-3997; Section 5.26.3 Lines 4010 and 
4014]
     The +command option in the vi utility [See POSIX.2 Section 
5.35.1 Lines 4722-4723; Section 5.35.3 Line 4744]
    If the C-Language Development Utilities Option is required, the 
following obsolescent feature is not required for a system to be 
compliant with the [See POSIX.2 FIPS:
     The -c option in the lex utility [See POSIX.2 Section 
A.2.1 Lines 218-219; Section A.2.3 Line 231]

Recommendations

    Users of this standard should be aware that it does not require the 
Portable Operating System Interface (POSIX)--Part 2: Shell and 
Utilities to be implemented on a FIPS 151-2 conforming implementation. 
Users should also be aware that certain utilities and functions are 
optional in ISO/IEC 9945-2:1993. To provide the greatest support for 
application portability, it is recommended that an implementation 
conforming to this FIPS also provide the following features:
    1. User Portability Utilities Option (POSIX2__UPE, POSIX.2 Section 
5) and Full Terminal Operations Option (POSIX2__CHAR__TERM, POSIX.2 
Section 2.14).
    2. A FIPS 151-2 conforming operating system interference.
    3. Software Development Utilities Option (POSIX2__SW__DEV, POSIX.2 
Section 6), when software will be developed or source-level software 
will be installed on the systems being acquired
    4. C-Language Development Utilities Option (POSIX2__C__DEV, POSIX.2 
Annex A), when software written in the C language will be developed or 
installed on the systems being acquired.
    5. C-Language Bindings Option (POSIX2__C__BIND, POSIX.2 Annex B), 
when software written in the C language will be used on the systems 
being acquired.
    6. FORTRAN Development Utilities Option (POSIX2__FORT__DEV, 
POSTIX.2 Annex C), when software written in FORTRAN will be developed 
or installed on the systems being acquired.
    7. FORTRAN Runtime Utilities Option (POSIX2__FORT__RUN, POSIX.2 
Annex C), when FORTRAN software will be used on the systems being 
acquired.
    Furthermore, it is strongly recommended that Federal users require 
Feature 1 and, in addition, ensure that purchased systems are capable 
of supporting Features 2-5, listed above. Even when these features are 
not needed at the time of initial purchase, changed requirements may 
demand some or all of these in the future, either for the development 
of new applications, for the importing of applications from other 
systems, or to maximize compatibility among multiple in-house systems.
    Implementation. This standard becomes effective April 3, 1995. This 
standard is compulsory and binding for use in all solicitations and 
contracts for new operating systems and/or applications development 
where POSIX shell and utility interfaces are required.
    a. Acquisition of Conforming Portable Shell and Utilities. 
Organizations developing applications which are to be acquired after 
the publication date of this standard and which have applications 
portability as a requirement should consider the use of this FIPS. 
Conformance to this FIPS should be considered whether the operating 
system enviornments are:
    1. developed internally,
    2. acquired as part of an ADP system procurement,
    3. acquired by separate procurement,
    4. used under an ADP leasing arrangement, or
    5. specified for use in contracts for programming services.
    b. Interpretation of the FIPS for Shell and Utilities. NIST 
provides for the resolution of questions regarding the FIPS 
specifications and requirements, and issues official interpretations as 
needed. All questions about the interpretation of this FIPS should be 
addressed to: Director, National Computer Systems Laboratory, Attn: 
POSIX Shell and Utilities FIPS Interpretation, National Institute of 
Standards and Technology, Gaithersburg, MD 20899.
    c. Validation of Conforming Operating Systems Environments. NIST is 
developing cooperatively with industry a validation suite for measuring 
conformance to this standard. This suite will be required for testing 
conformance of POSIX Shell and Utilities implementations. These testing 
requirements will be announced at a future date.
    Waivers.
    Under certain exceptional circumstances, the heads of Federal 
departments and agencies may approve waivers to Federal Information 
Processing Standards (FIPS). The head of such agency may redelegate 
such authority only to a senior official designated pursuant to section 
3506(b) of Title 44, U.S. Code. Waivers shall be granted only when:
    a. Compliance with a standard would adversely affect the 
accomplishment of the mission of an operator of a Federal computer 
system, or
    b. Cause a major adverse financial impact on the operator which is 
not offset by Governmentwide savings.
    Agency heads may act upon a written waiver request containing the 
information detailed above. Agency heads may also act without a written 
waiver request when they determine that conditions for meeting the 
standard cannot be met. Agency heads may approve waivers only by a 
written decision which explains the basis on which the agency head made 
the required finding(s). A copy of each such decision, with procurement 
sensitive or classified portions clearly identified, shall be sent to: 
National Institute of Standards and Technology; ATTN: FIPS Waiver 
Decisions, Technology Building, Room B-154; Gaithersburg, MD 20899.
    In addition, notice of each waiver granted and each delegation of 
authority to approve waivers shall be sent promptly to the Committee on 
Government Operations of the House of Representatives and the Committee 
on Governmental Affairs of the Senate and shall be published promptly 
in the Federal Register.
    When the determination on a waiver applies to the procurement of 
equipment and/or services, a notice of the waiver determination must be 
published in the Commerce Business Daily as a part of the notice of 
solicitation for offers of an acquisition or, if the waiver 
determination is made after that notice is published, by amendment to 
such notice.
    A copy of the waiver, any supporting documents, the document 
approving the waiver and any supporting and accompanying documents, 
with such deletions as the agency is authorized and decides to make 
under 5 U.S.C. Sec. 552(b), shall be part of the procurement 
documentation and retained by the agency.

Where to Obtain Copies: Copies of this publication are for sale by the 
National Technical Information Service, U.S. Department of Commerce, 
Springfield, VA 22161. (Sale of the included specifications document is 
by arrangement with the Institute of Electrical and Electronics 
Engineers, Incorporated.) When ordering, refer to Federal Information 
Processing Standards Publication 189 (FIPSPUB189), and title. Payment 
may be made by check, money order, or deposit account.

Appendix A--Application Portability Profile

    FIPS 189 is the second component of a series of specifications 
needed for the operating system services area of an applications 
portability profile. FIPS 151-1 (and its replacement, FIPS 151-2) 
provided the crucial first step by providing vendor independent 
interface specification between an application program and an operating 
system. When fully extended, POSIX will provide the functionality 
required to support source code portability for a wide range of 
applications across many different machines and operating systems.
    NIST has published Special Publication 500-210, Application 
Portability Profile (APP), The U.S. Government's Open System 
Environment Profile, OSE/1, Version 2.0, June 1993. The APP has been 
developed to provide sufficient functionality to accommodate a broad 
range of application requirements. The functional components of the APP 
constitute a framework for organizing standard elements that can be 
used to develop and maintain portable applications. A key aspect of the 
APP is that it is based on an open system environment defined by non-
proprietary specifications. Components may be added or deleted as 
technology changes and as Federal government requirements change.

[FR Doc. 94-25049 Filed 10-7-94; 8:45 am]
BILLING CODE 3510-CN-M