📄 xbd_chap01.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta name="generator" content="HTML Tidy, see www.w3.org"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 --><!-- Copyright (c) 2001-2003 The Open Group, All Rights Reserved --><title>Rationale for Base Definitions</title></head><body bgcolor="white"><basefont size="3"> <!--header start--><center><font size="2">The Open Group Base Specifications Issue 6<br>IEEE Std 1003.1, 2003 Edition<br>Copyright © 2001-2003 The IEEE and The Open Group, All Rights reserved.</font></center><!--header end--><hr size="2" noshade><h2><a name="tag_01"></a>Rationale for Base Definitions</h2><h3><a name="tag_01_01"></a>Introduction</h3><h4><a name="tag_01_01_01"></a>Scope</h4><p>IEEE Std 1003.1-2001 is one of a family of standards known as POSIX. The family of standards extends to many topics;IEEE Std 1003.1-2001 is known as POSIX.1 and consists of both operating system interfaces and shell and utilities.IEEE Std 1003.1-2001 is technically identical to The Open Group Base Specifications, Issue 6, which comprise the corevolumes of the Single UNIX Specification, Version 3.</p><h5><a name="tag_01_01_01_01"></a>Scope of IEEE Std 1003.1-2001</h5><p>The (paraphrased) goals of this development were to produce a single common revision to the overlapping POSIX.1 and POSIX.2standards, and the Single UNIX Specification, Version 2. As such, the scope of the revision includes the scopes of the originaldocuments merged.</p><p>Since the revision includes merging the Base volumes of the Single UNIX Specification, many features that were previously not"adopted" into earlier revisions of POSIX.1 and POSIX.2 are now included in IEEE Std 1003.1-2001. In most cases, theseadditions are part of the XSI extension; in other cases the standard developers decided that now was the time to migrate these tothe base standard.</p><p>The Single UNIX Specification programming environment provides a broad-based functional set of interfaces to support the portingof existing UNIX applications and the development of new applications. The environment also supports a rich set of tools forapplication development.</p><p>The majority of the obsolescent material from the existing POSIX.1 and POSIX.2 standards, and material marked LEGACY from TheOpen Group's Base specifications, has been removed in this revision. New members of the Legacy Option Group have been added,reflecting the advance in understanding of what is required.</p><p>The following IEEE standards have been added to the base documents in this revision:</p><ul><li><p>IEEE Std 1003.1d-1999</p></li><li><p>IEEE Std 1003.1j-2000</p></li><li><p>IEEE Std 1003.1q-2000</p></li><li><p>IEEE P1003.1a draft standard</p></li><li><p>IEEE Std 1003.2d-1994</p></li><li><p>IEEE P1003.2b draft standard</p></li><li><p>Selected parts of IEEE Std 1003.1g-2000</p></li></ul><p>Only selected parts of IEEE Std 1003.1g-2000 were included. This was because there is much duplication between theXNS, Issue 5.2 specification (another base document) and the material from IEEE Std 1003.1g-2000, the former documentbeing aligned with the latest networking specifications for IPv6. Only the following sections of IEEE Std 1003.1g-2000were considered for inclusion:</p><ul><li><p>General terms related to sockets (Section 2.2.2)</p></li><li><p>Socket concepts (Sections 5.1 through 5.3 inclusive)</p></li><li><p>The <a href="../functions/pselect.html"><i>pselect</i>()</a> function (Sections 6.2.2.1 and 6.2.3)</p></li><li><p>The <a href="../basedefs/sys/select.h.html"><i><sys/select.h></i></a> header (Section 6.2)</p></li></ul><p>The following were requirements on IEEE Std 1003.1-2001:</p><ul><li><p>Backward-compatibility</p><p>It was agreed that there should be no breakage of functionality in the existing base documents. This requirement was tempered bychanges introduced due to interpretations and corrigenda on the base documents, and any changes introduced in theISO/IEC 9899:1999 standard (C Language).</p></li><li><p>Architecture and n-bit neutral</p><p>The common standard should not make any implicit assumptions about the system architecture or size of data types; for example,previously some 32-bit implicit assumptions had crept into the standards.</p></li><li><p>Extensibility</p><p>It should be possible to extend the common standard without breaking backwards-compatibility. For example, the name space shouldbe reserved and structured to avoid duplication of names between the standard and extensions to it.</p></li></ul><h5><a name="tag_01_01_01_02"></a>POSIX.1 and the ISO C Standard</h5><p>Previous revisions of POSIX.1 built upon the ISO C standard by reference only. This revision takes a differentapproach.</p><p>The standard developers believed it essential for a programmer to have a single complete reference place, but recognized thatdeference to the formal standard had to be addressed for the duplicate interface definitions between the ISO C standard andthe Single UNIX Specification.</p><p>It was agreed that where an interface has a version in the ISO C standard, the DESCRIPTION section should describe therelationship to the ISO C standard and markings should be added as appropriate to show where the ISO C standard has beenextended in the text.</p><p>A block of text was added to the start of each affected reference page stating whether the page is aligned with the ISO Cstandard or extended. Each page was parsed for additions beyond the ISO C standard (that is, including both POSIX and UNIXextensions), and these extensions are marked as CX extensions (for C Extensions).</p><h5><a name="tag_01_01_01_03"></a>FIPS Requirements</h5><p>The Federal Information Processing Standards (FIPS) are a series of U.S. government procurement standards managed and maintainedon behalf of the U.S. Department of Commerce by the National Institute of Standards and Technology (NIST).</p><p>The following restrictions have been made in this version of IEEE Std 1003.1 in order to align with FIPS 151-2requirements:</p><ul><li><p>The implementation supports _POSIX_CHOWN_RESTRICTED.</p></li><li><p>The limit {NGROUPS_MAX} is now greater than or equal to 8.</p></li><li><p>The implementation supports the setting of the group ID of a file (when it is created) to that of the parent directory.</p></li><li><p>The implementation supports _POSIX_SAVED_IDS.</p></li><li><p>The implementation supports _POSIX_VDISABLE.</p></li><li><p>The implementation supports _POSIX_JOB_CONTROL.</p></li><li><p>The implementation supports _POSIX_NO_TRUNC.</p></li><li><p>The <a href="../functions/read.html"><i>read</i>()</a> function returns the number of bytes read when interrupted by a signaland does not return -1.</p></li><li><p>The <a href="../functions/write.html"><i>write</i>()</a> function returns the number of bytes written when interrupted by asignal and does not return -1.</p></li><li><p>In the environment for the login shell, the environment variables <i>LOGNAME</i> and <i>HOME</i> are defined and have theproperties described in IEEE Std 1003.1-2001.</p></li><li><p>The value of {CHILD_MAX} is now greater than or equal to 25.</p></li><li><p>The value of {OPEN_MAX} is now greater than or equal to 20.</p></li><li><p>The implementation supports the functionality associated with the symbols CS7, CS8, CSTOPB, PARODD, and PARENB defined in <ahref="../basedefs/termios.h.html"><i><termios.h></i></a>.</p></li></ul><h4><a name="tag_01_01_02"></a>Conformance</h4><p>See <a href="xbd_chap02.html#tag_01_02"><i>Conformance</i></a> .</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -