UNIX Standards


Standards also steer the evolution of the UNIX System. First, features are developed for a particular variety of UNIX, and then sometimes these features become part of a standards process. Once a feature is standardized, different versions of UNIX include a compliant version of this feature.

The use of different versions of UNIX led to problems for applications developers who wanted to build programs for a range of computers running UNIX. To solve these problems, various standards have been developed. These standards define the characteristics a system should have so that applications can be built to work on any system conforming to the standard.

The System V Interface Definition (SVID)

For UNIX System V to become an industry standard, other vendors needed to be able to test their versions of the UNIX System for conformance to System V functionality In 1983, AT&T published the System V Interface Definition (SVID). The SVID specifies how an operating system should behave for it to comply with the standard. Developers could build programs that are guaranteed to work on any machine running a SVID-compliant version of the UNIX System. Furthermore, the SVID specifies features of the UNIX System that were guaranteed not to change in future releases, so that applications were guaranteed to run on all releases of UNIX System V. Vendors could check whether their versions of UNIX were SVID-compliant by running the System V Verification Suite developed by AT&T. The SVID evolved with new releases of UNIX System V. A newer version of the SVID was prepared in conjunction with UNIX System V Release 4.

POSIX

An independent effort to define a standard operating system environment was begun in 1981 by/usr/group, an organization made up of UNIX System users who wanted to ensure the portability of applications. They published a standard in 1984. Because of the magnitude of the job, in 1985 the committee working on standards merged with the Institute for Electrical and Electronics Engineers (IEEE) Project 1003 (P1003). The goal of P1003 was to establish a set of American National Standards Institute (ANSI) standards. The standards that the various working groups in P1003 are establishing are called the Portable Operating System Interface for Computer Environments (POSIX). POSIX is a family of standards that defines the way applications interact with an operating system. Among the areas covered by POSIX standards are system calls, libraries, tools, interfaces, verification and testing, real-time features, and security The POSIX standard that has received the most attention is P1003.1 (also known as POSIX.1), which defines the system interface. Another important POSIX standard is P1003.2 (also known as POSIX.2), which deals with shells and utilities. POSIX 1003.3 covers testing methods for POSIX compliance; POSIX 1003.4 covers real-time extensions. Many additional POSIX standards have been developed besides these four standards.

POSIX has been endorsed by the National Institute of Standards and Technology (NIST), previously known as the National Bureau of Standards (NBS), as part of the Federal Information-Processing Standard (FIPS). The FIPS must be met by computers purchased by the U.S. federal government.

The Open Software Foundation (OSF)

In 1988 a group of computer vendors, including IBM, DEC, and Hewlett-Packard, formed a consortium called the Open Software Foundation (OSF) to develop a version of the UNIX System to compete with UNIX System V Release 4. Their version of the UNIX System, called OSF/1, never really has played much of a role in the UNIX marketplace. Of all the major vendors in this consortium, only the Digital Equipment Corporation (DEC, later bought by Compaq, which in turn was bought by HP) based its core strategy on an OSF version of UNIX. OSF also sponsored its own graphical user interface, called MOTIF, which was created as a composite of graphical user interfaces from several vendors in OSF. Unlike OSF/1, MOTIF saw wide marketplace acceptance. After 1990, the OSF changed direction; instead of developing new technology, it acted as a clearinghouse for open systems technology. In 1996 OSF merged with the X/OPEN Consortium to form the Open Group. (See later in this chapter for discussions of X/OPEN and the Open Group.)

The X/OPEN Consortium

Another way that vendors addressed the problem posed by competing versions of UNIX was to set standards that an operating system could meet to be “UNIX.” One such set standard was provided by X/Open, an international consortium of computer vendors established in 1984. X/Open adopted existing standards and interfaces, without developing its own standards. X/Open was begun by European computer vendors and grew to include most U.S. computer companies.

The goal of X/Open was to standardize software interfaces. They did this by publishing their Common Applications Environment (CAE). The CAE was based on the SVID and contained the POSIX standards. UNIX System V Release 4 conformed to XPG3, the third edition of the X/Open Portability Guide. In 1992 X/Open announced XPG4, the fourth edition of their portability guide. XPG4 includes updates to specifications in XPG3 and many new interface specifications, with a strong emphasis on interoperability between systems. In 1996 X/Open merged with the OSF to form the Open Group (discussed later in this chapter).

The X/OPEN API

One of the major problems in the UNIX (and open systems) industry is that a software vendor must devote a great deal of effort to porting a particular software product to different UNIX systems. In 1993, to help mitigate this problem, X/Open assumed the responsibility for managing the evolution of a common application programming interface (API) specification. This specification allowed a vendor of UNIX System software to develop applications that will work on all UNIX platforms supporting this specification. The original name for this specification was Spec 1170, for the 1,170 different application programming interfaces originally in it. These 1,170 APIs came from X/Open’s XPG4, from the System V Interface Definition, from the OSF’s Application Environment Specification (AES) Full Use Interface, and from user-based routines derived from a source code analysis of leading UNIX System application programs. When X/Open took over responsibility for this specification, it made some additions and changes, defining what is now called the Single UNIX Specification. Systems demonstrating conformance to the Single UNIX Specification received the mark UNIX 95. Among the vendors that registered UNIX 95 systems with X/Open were HP, DEC (which was purchased by Compaq, which was later purchased by HP), IBM, NCR, SCO, SGI, and Sun.

The Common Open Software Environment (COSE)

In 1993, some of the major UNIX vendors created the Common Open Software Environment consortium. Among these vendors were Hewlett-Packard, IBM, SunSoft, SCO, Novell, and the UNIX System Laboratories. The goal of this consortium was to define industry standards for UNIX systems in six areas: graphical user interface, multimedia, networking, object technology, graphics, and system management. The first of these areas to be implemented was the graphical user interface. COSE began work on the Common Desktop Environment (CDE), which was designed to be the industry-standard graphical user interface for UNIX systems. Later COSE went out of existence; work on the CDE was taken over by the OSF (which later merged into the Open Group-see the text that follows). Implementations of the CDE first appeared in 1994; it is now included in all major UNIX variants.

The Open Group and the Single UNIX Specification

The Open Group was formed in 1996 when the Open Software Foundation, which had outlived its original charter, and X/Open merged. The Open Group is a consortium whose members include computer vendors, software companies, and end-user organizations. Their vision, considerably expanded from that of X/Open and the OSF, is to foster “boundary-less information flow” that “will enable access to integrated information, within and among enterprises, based on open standards and global interoperability” Their specification of UNIX is only part of this broad mission. For more information on the Open Group, go to http://www.opengroup.org/.

Version 2 of the Single UNIX Specification

In 1997 the Open Group developed an enhanced version of the Single UNIX Specification, called Version 2. The Open Group stated that this specification was developed to ensure that UNIX remains the best platform for enterprise mission-critical systems and for high-performance graphical applications. Version 2 builds upon the original Single UNIX Specification, updating it with new standards and industry advances. Version 2 includes the following:

  • Large file extensions, permitting UNIX systems to support files of arbitrary size, of particular relevance for database applications

  • Dynamic linking extensions that permit applications to share common code across applications, yielding simplified software maintenance and performance enhancements for applications

  • Changes known as the N-bit cleanup, removing hardware data-length dependencies and restrictions, enabling the move to 64-bit processors

  • Changes known as Year 2000 Alignment, designed to minimize the impact of the millennium rollover

  • Extended threads functions, allowing significant performance gains on multiprocessor hardware and increased application throughput

  • Alignment with the latest POSIX standards, including real-time features

The Single UNIX Specification Version 2 contains 1,434 programming interfaces, while the original Single UNIX Specification had 1,170.

UNIX 98

The Open Group has specified UNIX 98 as the mark for systems that conform to Version 2 of the Single UNIX Specification. UNIX 98 is a family of standards for different types of computers, such as basic systems, workstations, and servers:

  • UNIX 98, the base product standard

  • UNIX 98 Workstation, the base product standard together with the Common Desktop Environment

  • UNIX 98 Server, the base product standard together with the Internet Protocol Suite, Java support, and Internet capabilities that support network computing

The UNIX 98 Server is designed to meet the needs for highly reliable Internet applications. HP, IBM, Sun Microsystems, and Fujitsu all had UNIX 98 registered products.

Version 3 of the Single UNIX Specification

Version 3 of the Single UNIX specification was released in 2003. It was developed by the Austin Group, a joint working group of members of the IEEE Portable Applications Standards Committee, the Open Group, and the ISO/IEC Joint Technical Committee 1. The Austin Group created the Single UNIX Specification Version 3 by revising, combining, and updating a collection of diverse UNIX standards, including ISO/IEC 9945–1 and 9945–2, IEEE Standards 1003.1 and 1003.2, and the Base Specifications of The Open Group Single UNIX Specification.

The revision of the Base Specifications were made with the goal of minimizing the number of changes needed to existing implementations conforming to the earlier versions of the standards to bring them into conformance with the new standard.

Besides the Base Specifications, the Single UNIX Specification, Version 3 includes an updated X/Open Curses specification.

UNIX 03

The UNIX 98 Product Standard has been enhanced to produce the UNIX 03 Product Standard. The most important enhancement is alignment with the Single UNIX Specification, Version 3, including new issue of The Open Group Base Specifications (identical to IEEE Std 1003.1– 2001 and ISO/IEC 9945:2002).

The mandatory enhancements beyond the UNIX 98 Product Standard include the alignment of interfaces with ISO/IEC 9899:1999 (relating to the C language) and the addition of new functionality for this alignment, the addition of new networking functionality with the latest issue of XNS and IEEE Standard 1003.1g-2000, and the incorporation of additions and corrections to the core POSIX system interfaces and utilities. These additions and corrections are derived from the P1003.1a and P1003.2b standards.

Optional enhancements included in the UNIX 03 product standard are networking functionality with optional support for Internet Protocol Version 6 (IPv6), additional sets of APIs for real-time support, and the Batch Utilities extension, derived from IEEE Standard 1003.2d-1994.

IBM and Sun both have products that have been certified to meet the UNIX 03 product standard.




UNIX. The Complete Reference
UNIX: The Complete Reference, Second Edition (Complete Reference Series)
ISBN: 0072263369
EAN: 2147483647
Year: 2006
Pages: 316

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net