[Federal Register Volume 59, Number 19 (Friday, January 28, 1994)]
[Unknown Section]
[Page ]
From the Federal Register Online via the Government Publishing Office [www.gpo.gov]
[FR Doc No: 94-1818]


[Federal Register: January 28, 1994]


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

DEPARTMENT OF COMMERCE
[Docket No. 931107-3307]
RIN 0693-AA70


Proposed Federal Information Processing Standard for Portable 
Operating System Interface (POSIX)--Part 2: Shell and Utilities

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

ACTION: Notice; request for comments.

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

SUMMARY: The purpose of this notice is to announce the proposed Federal 
Information Processing Standard (FIPS), Portable Operating System 
Interface (POSIX)--Part 2: Shell and Utilities, which adopts Draft 
International Standard ISO/IEC 9945-2:1992, Information Technology--
Portable Operating System Interface (POSIX)--Part 2: Shell and 
Utilities as a Federal Information Processing Standard (FIPS). ISO/IEC 
9945-2:1992, which defines a command language interpreter (shell) and a 
set of utility programs, is expected to be approved as an International 
Standard (IS) in 1994. The FIPS will adopt the final IS after it is 
approved.
    Prior to the submission of the proposed FIPS to the Secretary of 
Commerce for review and approval, it is essential to assure that 
consideration is given to the needs and views of manufacturers, the 
public, and State and local governments. The purpose of this notice is 
to solicit such views.
    This proposed 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. Interested parties may obtain copies of the 
specifications (ISO/IEC 9945-2) from the IEEE Service Center, 445 Hoes 
Lane, P.O. Box 1331, Piscataway, NJ 08855-1331, telephone 1-800-678-
4333.

DATES: Comments on this proposed FIPS must be received on or before 
April 28, 1994.

ADDRESSES: Written comments concerning the proposed FIPS should be sent 
to: Director, Computer Systems Laboratory, ATTN: Proposed FIPS for 
POSIX.2, Technology Building, room B154, National Institute of 
Standards and Technology, Gaithersburg, MD 20899.
    Written comments concerning this proposed FIPS will be made part of 
the public record and will be made available for inspection and copying 
in the Central Reference and Records Inspection Facility, room 6020, 
Herbert C. Hoover Building, 14th Street between Pennsylvania and 
Constitution Avenues NW., Washington, DC 20230.

FOR FURTHER INFORMATION CONTACT: Sheila Frankel, National Institute of 
Standards and Technology, Gaithersburg, MD 20899, telephone (301) 975-
3297.

    Dated: January 24, 1994.
Samuel Kramer,
Associate Director.

Proposed Federal Information Processing Standards Publication

(date)

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.
    Category of Standard. Software Standard, Operating Systems.
    Explanation. This publication announces the adoption of Draft 
International Standard ISO/IEC 9945-2:1992, Information Technology--
Portable Operating System Interface (POSIX)--Part 2: Shell and 
Utilities as a Federal Information Processing Standard (FIPS). ISO/IEC 
9945-2:1992, which defines a command language interpreter (shell) and a 
set of utility programs, is expected to be approved as an International 
Standard (IS) in 1994. The FIPS will adopt the final IS after it is 
approved.
    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. Draft International Standard ISO/IEC 9945-2:1992, 
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. Federal Information Processing Standards Publication 151-2, 
Portable Operating System Interface (POSIX)--System Application Program 
Interface [C Language].
    c. Federal Information Processing Standards Publication 160, C.
    d. ISO/IEC 9899: Information Technology--Programming 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 a message to [email protected]. When the Email 
system responds with ``Subject'', you may type anything. The next line 
should be a basic command for the Email server to send you one or more 
of the available documents. For example, to receive a listing of all 
available files, enter: send index.
    After you issue your send command and a carriage return, the next 
line should signal the end of the Email message as required by your 
Email system.
    Your Email system may respond with EOT for the end of transmission.
    The mail server program reads the message and sends the requested 
document to the requester's 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.
    b. To simplify computer program documentation by the use of a 
standard portable system interface design.
    c. To reduce staff hours in porting computer programs to different 
vendor systems and architectures.
    d. To increase portability of acquired skills, resulting in reduced 
personnel training costs.
    e. To maximize the return on investment in generating or purchasing 
computer programs by insuring operating system compatibility.
    f. To allow people to operate a wide range of application platform 
implementations without additional training or study.
    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. Laptops,
b. Micro-computer systems,
c. Mini-computer systems,
d. Workstations,
e. Mainframes.

    Specifications. The specifications for this FIPS are the 
specifications contained in the Draft International Standard ISO/IEC 
9945-2:1992, Information Technology--Portable Operating System 
Interface (POSIX)--Part 2: Shell and Utilities, with the modifications 
specified below. ISO/IEC 9945-2:1992 defines a command language 
interpreter (shell) and a set of utility programs. ISO/IEC 9945-2:1992 
(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. Therefore, the following obsolescent 
features are not required for a system to be compliant with the 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 Subclause 2.6 Lines 2699-2700]
     The -option in the set special built-in utility [See 
POSIX.2 Subclause 3.14.11 Lines 1599-1600 and 1726-1730]
     The awk string function length with no argument and no 
parentheses [See POSIX.2 Subclause 4.1.7.6.2.2 Lines 621-622]
     The octal number form of the mode operand in the chmod 
utility [See POSIX.2 Subclause 4.7.7 Lines 2090-2091]
     The -option in the ed utility [See POSIX.2 Subclause 
4.20.1 Lines 3529-3530; Subclause 4.20.3 Line 3542]
     The -option in the env utility [See POSIX.2 Subclause 
4.21.1 Lines 4034-4035; Subclause 4.21.3 Line 4048]
     The -perm [-]onum primary in the find utility [See POSIX.2 
Subclause 4.24.4 Lines 4361-4368]
     The egrep and fgrep utilities [See POSIX.2 Subclause 
4.28.1 Lines 4793-4799; Subclause 4.28.2 Lines 4815-4832; Subclause 
4.28.3 Lines 4850-4851]
     The -number option in the head utility [See POSIX.2 
Subclause 4.29.1 Lines 4953-4954; Subclause 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 Subclause 4.31.1 Lines 5133-5135; Subclause 4.31.3 
Lines 5168-5170 and 5182-5184]
     The -signal-name and -signal-number options in the kill 
utility [See POSIX.2 Subclause 4.32.1 Lines 5259-5261; Subclause 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 Subclause 4.58.1 
Lines 9583-9585; Subclause 4.58.3 Lines 9599-9601, 9618-9620, and 9674-
9675; Subclause 4.58.7 Lines 9746-9762]
     The -[number] [c/l] [f] and +[number] [c/l] [f] options in 
the tail utility [See POSIX.2 Subclause 4.60.1 Lines 10058-10060; 
Subclause 4.60.3 Lines 10098-10105]
     The date--time operand in the touch utility [See POSIX.2 
Subclause 4.63.1 Lines 10337-10338; Subclause 4.63.4 Lines 10403-10416]
     The -s option in the tty utility [See POSIX.2 Subclause 
4.66.1 Lines 10659-10660; Subclause 4.66.3; Lines 10669-10671]
     The octal number form of the mask operand in the unmask 
utility [See POSIX.2 Subclause 4.67.4 Lines 10755-10756 and 10759-
10760]
     The -n and +m options in the uniq utility [See POSIX.2 
Subclause 4.69.1 Lines 10890-10891; Subclause 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 
Subclause 5.10.1 Lines 985-986; Subclause 5.10.3 Lines 1004 and 1028]
     The -tabstop and -tab1, tab2, . . . tabn options in the 
expand utility [See POSIX.2 Subclause 5.11.1 Lines 2056-2057; Subclause 
5.11.3 Lines 2083-2085]
     The +command option in the more utility [See POSIX.2 
Subclause 5.18.1 Lines 2726-2727; Subclause 5.18.3 Line 2769]
     The - option in the newgrp utility [See POSIX.2 Subclause 
5.19.1 Lines 3123-3124; Subclause 5.19.3 Line 3185]
     The -increment option in the nice utility [See POSIX.2 
Subclause 5.20.1 Lines 3242-3243; Subclause 5.20.3 Line 3260]
     The nice__value option in the renice utility; combinations 
of the [-p] pid, -g gid, and -u user options [See POSIX.2 Subclause 
5.24.1 Lines 3795-3798; Subclause 5.24.3 Lines 3837-3838, 3847-3848, 
and 3850-3851; Subclause 5.24.4 Lines 3860-3864]
     The -line__count option in the split utility [See POSIX.2 
Subclause 5.25.1 Lines 3906-3907; Subclause 5.25.3 Line 3942]
     The - and -number options in the strings utility [See 
POSIX.2 Subclause 5.26.1 Lines 3996-3997; Subclause 5.26.3 Lines 4010 
and 4014]
     The +command option in the vi utility [See POSIX.2 
Subclause 5.35.1 Lines 4722-4723; Subclause 5.35.3 Line 4744]
    If the C-Language Development Utilities Option is required, the 
following obsolescent features are not required for a system to be 
compliant with the POSIX.2 FIPS:
     The -c option in the lex utility [See POSIX.2 Subclause 
A.2.1. Lines 218-219; subclause A.2.3 Line 231]

Recommendations

    Users of this standard should be aware that it does not require the 
Portable Operating System Interfaces (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:1992. 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 interface.
    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, POSIX.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 six (6) months 
after date of publication of the final document in the Federal Register 
announcing approval of the standard by the Secretary of Commerce. 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 environments 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.
    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 ________ (FIPSPUB 
________), and title. Payment may be made by check, money order, or 
deposit account.

Appendix A--Application Portability Profile

    The POSIX Shell and Utilities FIPS 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 a 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-1818 Filed 1-27-94; 8:45 am]
BILLING CODE 3510-CN-M