UNIX and Standards
Because of the multiple versions of UNIX and frequent cross-pollination between variants, many features have diverged in the different versions of UNIX. With the increasing popularity of UNIX in the commercial and government sector came the desire to standardize the features of UNIX so that a user or developer using UNIX could depend on those features.
The Institute of Electrical and Electronic Engineers created a series of standards committees to create standards for "An Industry-Recognized Operating Systems Interface Standard based on the UNIX Operating System." The results of two of the committees are important for the general user and developer. The POSIX.1 committee standardizes the C library interface used to write programs for UNIX. (See Chapter 17, "C Language.") The POSIX.2 committee standardizes the commands that are available for the general user. (See especially Chapter 4, "Listing Files," Chapter 5, "Popular Tools," Chapter 6, "Popular File Tools," Chapter 7, " Editing Text Files," Chapter 10, "What Is a Shell?" Chapter 11, "Bourne Shell," Chapter 12, "Korn Shell," Chapter 13, "C Shell," Chapter 14, "Which Shell Is Right for You? Shell Comparison," and Chapter 15, "Awk, Awk.")
In Europe, the X/Open Consortium brings together various UNIX-related standards, including the current attempt at a Common Open System Environment (COSE) specification. X/Open publishes a series of specifications called the X/Open Portability Guide, currently at Version 4. XPG4 is a popular specification in Europe, and many companies in the United States supply versions of UNIX that meet XPG.
The United States government has specified a series of standards based on XPG and POSIX. Currently FIPS 151-2 specifies the open systems requirements for federal purchases