GB T 14246.1-1993 信息技术 可移植操作系统界面 第1部分 系统应用数序界面.pdf

上传人:ideacase155 文档编号:173795 上传时间:2019-07-15 格式:PDF 页数:217 大小:14.82MB
下载 相关 举报
GB T 14246.1-1993 信息技术 可移植操作系统界面 第1部分 系统应用数序界面.pdf_第1页
第1页 / 共217页
GB T 14246.1-1993 信息技术 可移植操作系统界面 第1部分 系统应用数序界面.pdf_第2页
第2页 / 共217页
GB T 14246.1-1993 信息技术 可移植操作系统界面 第1部分 系统应用数序界面.pdf_第3页
第3页 / 共217页
GB T 14246.1-1993 信息技术 可移植操作系统界面 第1部分 系统应用数序界面.pdf_第4页
第4页 / 共217页
GB T 14246.1-1993 信息技术 可移植操作系统界面 第1部分 系统应用数序界面.pdf_第5页
第5页 / 共217页
亲,该文档总共217页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、中华人民共和国国家标准信息技术可移植操作系统界面第一部分系统应用程序界面发布实施国家技术监督局发布中华人民共和国国家标准信息技术可移植操作系统界面第一部分系统应用程序界面国家技术监督局批准实施本标准等同采用国际标准即信息技术可移植操作系统界面第一部分系统应用程序界面引言本标准的目的是在操作系统文档的基础上定义一个标准的操作系统界面和环境以支持应用程序在源码级的可移植性本标准主要供操作系统的实现者和各种应用程序的开发者使用是以美国为基础的这是整个可移植操作系统界面的第一部分系统应用程序界面即标准的组织本标准由四大部分组成范围的陈述第章定义和全局概念第章各种界面功能第章数据交换格式第章大多数的条目

2、单独描述一种服务界面服务界面的语言表述在各个函数的格式条内给出说明条提供了由服务界面执行的操作的说明可能提供某些实例解释所描述的界面在大多数情况下在返回和出错条规定了返回值和可能的出错条件参阅条用于指导读者参照其他有关的条为了帮助读者理解本标准还提供了几个附录都作为参考件这些附录提供了一些补充材料提供了国际标准的制订者作出技术选择过程中的一些观点也提供了一些信息以强调本标准一些条所描述的界面的结果基本文档本标准描述的各种界面功能是基于其前身是提出并出版的标准而以及都是基于和文档但是只要可能尽量考虑了与各种从导出的或与兼容的系统的兼容背景的制定者代表了系统社团的各个侧面代表了硬件厂商操作系统和其

3、他软件开发工具的销售商软件设计者顾问学者作家应用系统程序员及其他人员在审议期间国际标准制定者查阅了已经发表的和正在制定中的其他有关国际标准本标准制定者也查阅了有关的中国国家标准从理论上讲本标准描述了一组基本服务这些基本服务对于有效地构造应用程序是必需的并已经用编程语言定义了一种访问这些服务的界面这种界面建立了标准语义和语法由于此界面可使应用程序的编者编写可移植的程序该界面的开发一直以此为目的因此它已被命名为即可移植操作系统界面的缩写术语虽然原先用来表示但是更确切地说是用来表示相关的标准和国际标准部分的一个系列故用作为整个系列标准的总名字而用表示此系列中各个分标准的名字即用来表示和也用来表示本标

4、准读者本标准预期的读者是所有关心开放系统关心公共应用环境和所有关心基于系统的工业标准操作系统的人员至少包括下列四种人员购买硬件和软件系统的人员管理公司的人员这些公司与将来的计算机方向有关实现操作系统的人员开发可移植的应用程序的人员目的以下若干原则制约了本标准的制定面向应用本标准的基本目的是通过为基于系统文档的可移植操作系统的界面的规格说明制定一种清晰一致并且是无歧义性的标准促进不同系统环境间应用程序的可移植性本标准整理了现有的系统的共同的定义而不是定义一个新的系统界面界面而不是实现本标准定义了一种界面而不是规定实现没有指出任何函数实现的细节虽然在附录参考件中有时指出了以往的实践常量例如信号和出

5、错编号都用符号而不是用数字给出源码兼容性而不是目标码兼容性本标准的目的是在一个遵循本标准的系统上编写的源程序可以搬到另一个遵循本标准的系统上经过编译后正确地执行即使基础硬件相同标准也不保证在一个实现上编译后的可执行码目标码或二进制码也可以在另一个遵循本标准的实现上执行然而在二进制的兼容性方面不设置任何障碍某些要点可在附录参考件中找到见和条语言本标准用语言标准中规定的术语编写见和条无超级用户无系统管理本标准没有规定操作系统的所有方面系统管理设施和功能从本标准中排除了也没有包括只能由超级用户使用的函数本标准也不考虑硬件约束或系统维护最小的界面尽可能少的定义为了保持系统过去的设计原理本标准尽可能地小

6、例如通常规定一组函数只实现一种功能可广泛实现本标准的原制定者已经尽力使所有规定的函数可在广泛的现存的或潜在的系统上实现这些系统包括源自基本的系统或其后的版本代码的所有流行的主要系统并不源自于基本的系统的兼容系统基于完全不同的操作系统上的仿真系统网络式系统分布式系统运行在广泛硬件上的系统对于这个目标的直接参照并未出现在本标准中但是其某些结果却在附录参考件中提到了对以往的实现修改尽可能少本标准在少量的领域与任何现存的系统界面不精确匹配作为例子可见中关于的讨论但大部分函数类型定义以及概念组成了对大多数以往的实现的共有的界面本标准规定了这个界面并且在以往没有一致意见的那些方面按如下方法进行了扩展通过标

7、准化一个象以往实现中已有的那样的界面例如目录通过规定一个按现存的系统的形式可实现的并且兼容的界面例如条中的扩展格式通过规定一个加到现存的系统中时不会发生矛盾的界面如中所描述的那样对现存的系统所需的修改尽可能地少但是总有附录参考件中罗列了其中的一些本标准并不是一个特定厂家的产品说明书本标准象系统但并不等同于它应该注意到实现将会有不同种类的扩展对现存的应用程序修改尽量少本标准的一个目的是使应用程序开发者尽可能减少额外的工作然而因为每一种以往的实现至少要作少量修改才能遵循本标准所以某些应用程序要作修改附录参考件中指出标准隐含这种修改的一些主要地方相关的标准的活动可移植操作系统界面是一个相关标准的系列

8、正在进行一系列活动以制定相关的标准下面是正在实施或不久就要实施的一些方面本标准的独立于语言的服务的描述与相联系的和语言的协约和实用程序验证测试序列实时功能安全可信系统的考虑网络界面功能系统管理图形用户接口对于超级计算机多处理器和批扩展事务处理实时系统和基于以往模式的多用户系统描述应用程序的特征文卷或用户专用的开放系统标准的组合基于或相关的开放系统标准和特征文卷的全局指南概论范围本标准定义了一个标准的操作系统界面及环境以支持源码级应用程序的可移植性它可供应用程序开发人员及系统实现人员使用本标准由四个主要部分组成用于决定结构前导文卷环境变量及有关要求的术语概念定义和说明系统服务界面及各种子例程的定

9、义编程语言的语言专用的系统服务界面问题包括可移植性出错处理及出错恢复以下领域超出本标准的范围用户界面及其命令网络协议及其系统调用界面图形界面数据库管理系统界面具有记录的考虑目标码或二进制码的可移植性系统配置及资源的可用性单进程内支持并发性的系统服务行为本标准描述应用程序开发人员关心的外部特性及设施而不是描述为达到这些功能采用的内部结构技术着重点放在各种各样的商品化应用程序所需要的那些功能及设施本标准已在源码级定义其目标是可以编译严格遵循即本标准的应用源程序以便在遵循本标准的实现上执行引用标准信息处理交换用七位编码字符集信息技术程序设计语言遵从性遵从性实现要求遵循本标准的实现应满足如下准则系统应

10、支持本标准所要求的且在本标准中定义的全部界面这些界面应支持在本标准中描述的功能行为系统可以提供本标准所未要求的附加功能或设施非标准的扩展应该在系统文档中标出当使用非标准扩展时可以改变在本标准中定义的函数或设施的行为在这种情况下系统文档应定义一个环境在这个环境中应用程序能按本标准所规定的行为运行这样的环境对于严格地遵循本标准的应用程序不要求做任何的修改文档编制宣称遵循本标准的实现应提供含有如下信息的遵从性文档该文档有和本标准同样的结构及适当编号的条条中提供相应的信息遵从性文档不应包括本标准范围以外有关扩展的设施或能力方面的信息遵从性文档应包含一个声明指出所用标准的全名编号标准提供的日期遵从性文档

11、也可以列出遵循本标准应用程序可利用的软件标准遵从性文档应描述从前导文卷及中找到的限定值状态值以及这些值可能改变的条件和如果有的话这种改变的限定值遵从性文档应描述所有在本标准中定义为由实现定义的特性在实现时的行为应通过列出这些特性并且提供一个对系统文档的特定的参考文卷或提供这些特性的全部语法和语义来满足这样的要求遵从性文档可以规定实现时的一些行为这些行为在本标准中指明为实现时可改变的或指明为未定义或未规定的除了本标准中所描述的以外不应有其他的规格说明在遵从性文档中出现除非系统明确地提到否则本标准中所用的词须编制须被编制意味着这些特性的文档应象如上所述的在遵从性文档中出现系统文档最好也包含在遵从性

12、文档中能找到的信息遵从本标准的实现的选择在指定的条中描述的下列符号常量反映了实现对于本标准的选择这些选择能保证遵循本标准的应用程序的要求或在遵从的系统的规格说明中所提出的要求或两者都能保证多组可选见条作业控制可选见条管理保密可选见条在和条中的其余符号常量对于测试以及作为应用程序能否采用所需的行为类型的指南来说是有用的它们还不能充分地反映功能差别以保证遵循本标准的应用程序的要求也不反映遵循本标准的实现之间的功能差别在省略了可选项会导致本标准所定义的函数成为未被定义的情况下实现应提供一个可用本标准定义的语法进行调用的函数即使此函数只返回错误而不做任何别的操作遵从性应用所有宣称遵循本标准的应用程序应

13、只使用在条中描述的语言的依赖于语言的服务且应属于如下类别之一严格遵循本标准的应用严格遵循本标准的应用程序是只使用本标准及可用的语言标准所描述的设施的应用程序这种应用程序应接受本标准描述为未规定的或实现定义的各种行为对于符号常量来说应接受本标准所允许范围内的各种值这种应用程序还允许采纳在和条中的常量指示的设施的可利用性遵循本标准的应用遵循国际标准的的应用一个遵循国际标准的的应用程序是一种只使用本标准所描述的设施及经批准的任何或语言标准的语言协约的应用程序这种应用程序应包括遵循性的说明它说明了所有可选项及限定值的依据以及所使用的其他或语言标准遵循中国国家标准的的应用这种应用不同于遵循国际标准的的应

14、用在于它可以使用中国国家标准的特定标准这种应用应包括遵循性说明它说明所有可选项及限定值的依据以及所使用的其他中国国家标准使用扩展的遵循的应用这种应用同遵循的应用的区别仅在于它使用遵循本标准的非标准设施除了遵循本标准的应用所需的文档外这种应用还应充分说明其扩展设施的要求使用扩展的遵循的应用应是使用扩展的遵循的国际标准的应用或者是使用扩展的遵循的中国国家标准的应用及条针对编程语言的依赖于语言的服务在下文中表示成语言标准被引用来描述也由本标准提到的要求用于描述本标准的要求所引用的语言标准的某些条在第章中规定第章中规定了对语言标准相应条文补充与扩展任何声明遵循具有语言协约的本标准的实现应提供在第章中提

15、到的设施以及第章中所要求的补充和扩展虽然本标准引用了语言标准的有关部分以描述一些要求但遵循本标准并不要求遵循语言标准任何能提供第章中所规定的设施的语言都可以宣称遵循本标准然而它应清楚地说明其语言并不与语言标准一致遵循性类型宣称遵循具有语言协约的本标准的实现应宣称两种遵从性类型之一遵循语言协约语言标准中依赖于语言的系统支持或遵循语言协约通用语言中依赖于语言的系统支持语言标准中依赖于语言的系统支持实现者应以语言标准为基准满足第章的有关要求并清楚地记载实现第章要求所使用的语言标准的版本企图用语言标准宣称遵从性的实现应宣称遵循语言协约语言标准中依赖于语言的系统支持通用语言中依赖于语言的系统支持实现者应

16、使用通用语言代替语言标准提供第章所要求的例程及支持实现者应满足第章中除涉及语言标准的那些地方以外的所有要求在涉及语言标准的地方实现者应与以语言常规用法相一致的方式提供等效支持实现者应说明由语言标准所提供的界面和通用语言所提供的界面之间的各种区别清楚地说明在列出界面的差异时所参照的语言标准的版本和当语言标准有新版本时更新这种差异当某个函数由语言标准引入因此通用语言没有相应函数时如果实现了该函数则应如语言标准所描述的那样予以实现如果该函数未被实现则应如上所要求的那样作为与语言标准的区别予以说明其他与语言有关的规格说明下列规则应用于语言库函数的用法除非作了特别说明本条中每一说明可用于第章至第章中的详

17、细功能描述如果函数的实参有无效值例如值超出函数的定义域或指针超出程序的地址空间或指针未被显式允许那么其行为是未定义的任何函数可以作为前导文卷中的宏实现应用程序应使用以删除任何宏定义并确保引用一个实际的函数还应在本标准任何函数的声明之前使用对于作为宏实现的库函数的任何引用应扩展成代码以计算它的每一个实参但只需计算一次必要时用括号把实参完全保护起来这样用任意的表达式作为实参通常是安全的假若一个库函数能不涉及在前导文卷中定义的任何类型而被声明那么也允许显式地或隐式地声明函数并在不包含相联系的前导文卷的情况下使用它如果接受可变的实参个数的函数未被声明显式地或通过包括与之相联系的前导文卷方式则行为是未定

18、义的其他语言相关的规格说明本标准当前按语言标准定义的语言的术语规定对其他编程语言的协约正在开发中若遵循本标准被宣称为由任何编程语言实现的则此语言的实现应支持在源文卷中使用的外部符号此符号至少个字节是可区别的即标识符至少在第个字节或个字节之前是可以区分的如果国家或国际标准控制定义一种语言的最大长度而此长度小于个字节那么此语言所定义的最大长度应是可区分的只有在所用的字符集区分大小写而且语言允许或要求在外部符号上区分大小写时使用大小写的外部符号才是不同的本标准的后续章条只涉及语言定义和通用要求约定本标准使用下列的印刷约定黑体字用在全部由大写字母构成的词中例如正如在条中描述的表示环境变量它还用于术语指

19、针由许多函数作为出错号返回的符号常量表示成见条在某些前导文卷中定义的符号常量或限定值表示成见和条在某些情形下表格信息就在行文中表示在另一些情形下又用标了号的表格来表示这种安排纯粹是为了方便排字两者之间没有任何本质的区别以上列出的约定仅是为了方便阅读由于印刷而导致的编辑的不一致性在本标准中没有任何正式的含意数字常量是用国际单位制表示的用作为一个十进制符号和单位的逗号来自于国际单位制定义术语本标准使用下列专用术语遵从性文档象在条中描述的那样由实现者提供的包含实现细节的文档实现定义的实现应定义和说明如何用正确的程序结构和正确的数据以产生一个值或行为的一种指示可以对一种可选特性的一个指示对实现而言词可

20、以解释为在本标准中不要求但可提供的可选特性而对严格遵循本标准的应用程序而言不应使用词可以所表明的可选特性逐渐废弃的本标准的将来版本中一些可能被撤销的特性的一种指示在本版本中还保留这种逐渐废弃的特性是因为它们还在广泛使用不鼓励在新的应用程序中使用这种特性应是对于实现或对于严格遵循本标准的应用程序的要求的一种指示最好对实现而言是一种实现推荐的而不是要求的指示对应用程序而言是对应用程序所推荐的编程实践而对于严格遵循本标准的应用程序来说则是要求的一种指示支持有关可选功能的一种条件本标准的某些功能是可选的但这些功能的界面则总是要求的如支持这样的功能则界面按本标准的规定进行工作不返回由未支持的情况所指明的

21、出错条件除外如果不支持这样的功能则界面总是返回为这种状况所规定的指示系统文档除了遵从性文档之外随实现所提供的所有文档对于一个实现来说电子发行文档被认为是系统文档的一部分未定义的本标准对于应用程序使用了一个具有错误的程序结构或错误的数据的不确定的值或它的行为没有可移植的要求的一种指示实现或其他的标准可以规定使用该值或导致该行为的结果使用这种行为的应用程序就是使用了本标准没有定义的扩展功能如条中所定义未规定的本标准对于应用程序中的正确的程序结构或正确的数据所产生的一个值或行为没有可移植的要求的一种指示实现或其他标准可规定使用该值或导致该行为的结果一种应用程序它需要使用某个函数的特定的行为而不是容许

22、使用该函数的任何行为这种应用程序就是使用了本标准未规定的扩展功能如条中所定义通用术语下列为本标准的通用术语定义绝对路径名见条路径名分解访问方式所允许的对于文卷的一种访问格式地址空间可由进程使用的存储区域适当的特权一种实现定义的方法它把特权与进程联系起来把特权与在本标准中定义的需要一定特权的函数和函数可选项的调用联系起来这种方法可能不用也可能有若干个后台进程作为后台进程组中的一个成员的进程后台进程组已与控制终端建立连接的会晤期的成员但又不是前台进程组的任何进程组块特别文卷涉及设备的文卷块特别文卷通常以设备硬件特性不可见的方式对设备进行访问而与字符特别文卷相区别字符代表单一图形符号的一个字节的或多

23、个字节的序列注这个术语在语言标准中对应于多字节字符注意单字节字符是多字节字符的特殊情况与语言标准中的用法不同这里的字符和存储空间没有任何必然的联系在讨论存储空间时使用字节字符特别文卷涉及设备的文卷字符特别文卷的一种特殊类型是终端设备文卷对它的访问在条中定义在本标准中未对其他的字符特别文卷定义结构也未规定它们的使用子进程见条中的进程时钟嘀嗒时间的一个间隔每秒中出现一定数量的时钟嘀嗒时钟嘀嗒是用来表示在类型中找到的值的单位之一控制进程与控制终端建立了连接的会晤期主席如果终端以后不再是该会晤期的控制终端那么该会晤期主席就不再是控制进程控制终端与会晤期相联系的终端每个会晤期最多有一个控制终端与其相联系

24、而且一个控制终端也只与一个会晤期相联系来自控制终端的一定的输入序列见条导致将信号发送到与控制终端相联系的进程组中的所有进程当前工作目录见条中的工作目录设备计算机的外设或者出现在应用程序中如同外设的实体目录含有目录项的文卷在同一目录中不会有两个具有相同名字的目录项目录项或链接把文卷名与文卷联系起来的实体几个目录项可把多个文卷名与同一文卷相联系点由单个圆点字符组成的文卷名见条中的路径名分解点点仅由两个圆点字符组成的文卷名见条中的路径名分解有效组进程的一种属性它用于确定各种权限包括在条中描述的文卷访问权限见组如及条中所述该值在进程生命期内是可以改变的有效用户进程的一种属性它用于确定各种权限包括文卷的

25、访问权限见用户如及条中所述该值在进程生命期内是可以改变的空目录只含有点目录项及点点目录项的目录空字符串或字符串第一个字符是空字符的字符数组纪元即世界协调时年月日时分秒见从纪元算起的秒数特征测试宏一个符号用于确定前导文卷中是否包含一组特定的特征见条先进先出特别文卷一种文卷类型写入到这种文卷中的数据在读出时按先写入先读出的顺序进行的其他特点在及条中描述文卷可向其写入或从中读出或既写入又读出的对象文卷有一定的属性包括访问权限及类型文卷类型包括普通文卷字符特别文卷块特别文卷先进先出特别文卷及目录其他文卷类型可由实现定义文卷说明见条中的打开的文卷说明文卷描述字每个进程唯一的非负整数用于标识一个为了访问目

26、的而打开的文卷文卷组类文卷的一种特性它指示一种与进程组标识相关的进程的访问权限如果进程不在该文卷的属主类中但进程的有效组或进程的某个附加组与文卷的组相匹配则该进程在文卷的文卷组类中类的其他成员可由实现定义文卷方式包含文卷权限位及在条中描述的其他文卷特性的实体文卷名包含个至个字节用作对文卷命名的名字组成名字的字符可从除了斜线字符及空字符外的整个字符集中选择使用文卷名及有特定的含义见条中的路径名分解文卷名有时也称为路径名分量文卷偏移量文卷中下次操作开始的字节位置每一个与普通文卷块特别文卷或目录相联系的打开的文卷说明有文卷偏移量不涉及终端设备的字符特别文卷也可以有文卷偏移量而对管道或先进先出文卷则不

27、规定文卷偏移量文卷其他类文卷的一种特性它指示一种与进程的用户标识及组标识相关的进程的访问权限如果进程不在文卷属主类也不在文卷组类内则该进程在文卷的文卷其他类中文卷属主类文卷的一种特性它指示一种与进程的用户标识相关的进程的访问权限如果进程的有效用户与文卷的属主相匹配则进程在文卷的文卷属主类中文卷权限位有关所使用文卷的一种信息它与其他信息一起用以决定进程是否有对文卷进行读写执行搜索的权限权限位分为三部分属主组及其他每个部分与对应的进程文卷类一起使用如在条中所述权限位包含在文卷方式中文卷权限位在文卷访问时的详细用法在条文卷访问权限中描述文卷序号每一个文卷系统中表示一个文卷的唯一标识符文卷序号在文卷系

28、统中是唯一的文卷系统文卷及其属性的集合它为涉及文卷的文卷序号提供名字空间前台进程作为前台进程组中一个成员的进程前台进程组一种进程组它的成员进程在访问它们的控制终端时具有后台进程组的进程得不到的一定特权每个与控制终端建立了连接的会晤期仅有一个进程组作为那个控制终端的前台进程组见条前台进程组前台进程组的进程组组一个非负整数它能被包含在类型为的实体中用以标识系统用户的一个组每一个系统用户至少是一个组的成员当组的标识与进程相联系时组的值可以被称作实际组有效组或附加组之一任选或保存的调整组任选作业控制一种允许用户有选择地暂停挂起进程的执行及在其后继续恢复其执行的设施典型的是用户借助于终端驱动程序及命令解

29、释程序联合提供的交互界面使用这种设施遵循本标准的实现可以可选地支持作业控制设施本可选项是否存在由符号的定义在编译或运行时指示给应用程序见条链接见条中的目录项链接计数涉及一个特定文卷的目录项的项数注册未规定的活动通过它用户获准访问系统每次注册都与一个确定的注册名相联系注册名与注册相联系的用户名方式规定文卷类型及其访问权限的属性集合见条中的文卷访问权限字符串见条中的空字符串打开的文卷当前与文卷描述字相联系的文卷打开文卷说明进程或进程组正以何种方式访问文卷的记录每个文卷描述字应只引用一个打开文卷说明但是一个打开文卷说明可以被多个文卷描述字引用文卷偏移量文卷状态见表及文卷访问方式见表是打开文卷说明的属

30、性孤儿进程组一种进程组组中每个成员的父进程或者是本进程组的一个成员或者不是本进程组的会晤期的成员父目录当讨论一个给定的目录时为包含有所讨论目录的目录项又由该给定目录的路径名所表示的目录当讨论其他类型的文卷时为包含有所讨论文卷的目录项的目录此概念不适用于及目录项父进程见条中的进程父进程由当前活动的进程创建的新进程的一种属性进程的父进程是其创建者在创建者的生命期内的进程在创建者的生命期完结以后进程的父进程是实现定义的系统进程的进程路径前缀带有可选的结尾斜线涉及一个目录的路径名路径名用于标识一个文卷的字符串它最多包含个字节其中包括作为结束符的空字符路径名开始的斜线是可选的紧接着有零个或多个由斜线隔开

31、的文卷名如果路径名涉及一个目录那么它也可以有一个或多个结尾斜线多个连续的斜线与单个斜线等效虽然多于两个前导斜线只按单个斜线处理但以两个连续的斜线开始的路径名可以以实现定义的方式解释路径名解释在条中描述路径名分量见条中的文卷名管道用一对由函数创建的文卷描述字之一进行访问的对象管道一旦创建文卷描述字就可用来操作此管道并且在以这种方式进行访问时其行为等同于特别文卷管道在文卷层次结构中没有名字可移植文卷名字符集用以构造可移植文卷名的字符的集合对于要在遵循本标准的各实现之间移植的文卷名它应只包含如下字符最后的三个字符分别是圆点下划线及连字符连字符不应用来作为可移植文卷名的开头字符遵循本标准的实现中应保持

32、大小写字母的独特的身份在可移植路径名中还可以使用斜线字符特权见条中的适当的特权进程一个地址空间和在此地址空间内执行的单个线程及其所需的系统资源进程由另外的进程发出函数调用而创建发出函数的进程称为父进程由函数创建的新进程称为子进程进程组允许相关的进程互相发信号的进程的集合在系统中的每一个进程是由进程组所标识的进程组的一个成员新创建的进程加入到它的创建者的进程组中进程组在其生命期内代表进程组的唯一标识符一个进程组是一个能被包含在中的正整数进程组在进程组生命期结束之前不可以被系统重新使用进程组组长其进程与进程组相同的进程进程组生命期一段持续时间它从进程组创建开始到组中最后留下的进程由于进程终止或由于

33、调用函数或调用函数而离开该组为止进程代表一个进程的唯一标识符一个进程是一个可被包含在中的正整数进程在进程生命期结束之前不可以被系统重新使用此外如果有一个进程组其进程组等于进程则此进程在进程组生命期结束之前不可以被系统重新使用不是系统进程的进程其进程不应为进程生命期由进程被创建开始到它的进程返回给系统为止的持续时间进程由函数创建以后该进程就被认为是活动的进程其控制线程及地址空间在进程结束前一直存在其后进程进入非活动态这时虽然某些资源例如进程仍在使用中但有些资源则可能返回给了系统当另外的进程对不活动的进程执行函数或时则余下的资源被返回给系统返回给系统的最后一个资源是进程这时进程的生命期即告完结只读

34、文卷系统具有实现定义的限制修改特性的文卷系统实际组进程的一种属性用来在创建进程时标识创建该进程的用户组见条中的组如条中所述该值在进程生命期内是可以改变的实际用户进程的一种属性用来在创建进程时标识创建该进程的用户见条中的用户如条中所述该值在进程生命期内是可以改变的普通文卷一种文卷不需要系统重新组织就可随机访问的字节序列相对路径名见条路径名分解根目录一个与进程相联系的目录用于以斜线开始的路径名的分解已保存的调整组进程的一种属性当可选的已保存的调整用户被设置时已保存的调整组允许在有效组属性的分配中有某些灵活性如及条中所述已保存的调整用户进程的一种属性当可选的已保存的调整用户被设置时允许在有效用户属性

35、的分配中有某些灵活性如及条中所述从纪元算起的秒数解释为在指定的时间与纪元之间的秒数的一个值世界协调时名由秒分小时当年月日算起的天数及从年算起的年数规定相对于从纪元算起以秒数表示的时间它按下面的表达式计算如果年或者值为负则关系是未定义的如果年而且值为非负则世界协调时名的值为会晤期为作业控制目的建立的进程组的集合每个进程组是会晤期的一个成员若一个进程的进程组是会晤期的一个成员则该进程就被认为是会晤期的成员新创建的进程加入其创建者的会晤期进程可以改变它的会晤期成员资格见条支持见条的实现可以在同一会晤期中有多个进程组会晤期主席创建会晤期的进程见条会晤期生命期从一个会晤期被创建到作为其成员的所有进程组的

36、生命期结束为止这之间的持续时间信号一种机制通过这种机制进程可以得到系统中发生的事件的通知或受其影响这样的事件包括硬件异常及进程的特别动作术语信号也用于表示事件本身斜线文字字符附加组用于确定文卷访问权限的进程的一种属性除了有效组外进程有零个到个决定文卷访问权限的附加组进程的附加组在进程被创建时设置为其父进程的附加组进程的有效组是否包括在进程的附加组清单中未作规定系统本标准的一个实现系统进程由系统定义的并具有进程的实体而非执行应用程序的进程终端或终端设备遵循条规格说明的字符特别文卷用户用于标识系统用户的一个非负整数它可包含在类型为的实体中当某个用户的身份与一个进程相联系时用户值被称作为实际用户有效

37、用户或已保存的调整用户可选用户名如条所述用于标识一个用户的字符串工作目录或当前工作目录与一个进程相联系的目录用于不以斜线开始的路径名的分解简称本标准使用下列简称语言标准信息技术编程语言在中描述的编码字符集的基准版本本标准即等同采用或或制定的本国家标准一般概念扩展的保密性控制访问控制见文卷访问权限及特权见条适当的特权机制已被定义以便允许由实现定义的扩展的保密性控制这就允许实现提供保密性机制以完成不同于本标准所描述的保密性策略这些机制不应改变或超越本标准中任何函数定义的语义文卷访问权限本标准的文卷访问控制机制使用如下所述的文卷权限位这些位由函数及在文卷创建时设置由函数改变由函数或读取实现可以提供附

38、加的或可替代的或两者都提供的文卷访问控制机制附加的访问控制机制应仅仅进一步限制由文卷权限位所定义的访问权限可替代的访问控制机制应按照或返回的访问权限规定文卷的文卷属主类文卷组类和文卷其他类的文卷权限位仅由文卷属主或具有适当特权的用户在逐个文卷的基础上通过明显的用户操作来启用在文卷的权限位用改变以后被禁用对这种替代机制的禁用并不需要禁用由实现定义的任何附加的机制每当进程请求进行文卷的读写或执行搜索的访问权限时如果没有附加机制拒绝这种访问则访问按下列情况决定进程具有适当的特权如果请求读写或搜索目录权限则允许访问如果请求执行权限在执行权限由文卷权限位或替代的访问控制机制对至少一个用户启用时则允许访问

39、否则访问被拒绝进程不具有适当的特权文卷的文卷权限位包含对于文卷属主类文卷组类及文卷其他类的读写及执行搜索权限如果替代访问控制机制未被启用并且所请求的访问权限位已为进程所属类文卷属主类文卷组类或文卷其他类设置或者替代访问控制机制被启用并且允许所请求的访问则允许访问否则访问被拒绝文卷层次系统中的文卷被组织成层次结构在此层次结构中所有非终结结点是目录而所有终结结点是任何其他类型的文卷由于多个目录项可以引用同一文卷因此该层次称为有向图文卷名可移植性文卷名最好由可移植文卷名字符集构成这是因为使用其他字符会在某些上下文中造成混淆及歧义文卷时间更新每个文卷有三个不同的与时间相联系的值它们是字段与文卷的数据被

40、访问的时间相联系字段与文卷被修改的时间相联系而字段与文卷的状态被改变的时间相联系如条中所描述这些值在文卷特征结构中返回本标准中任何一个要求读或写文卷数据或改变文卷状态的函数都指出哪一个与时间相联系的字段要做更新标记如果这样一个标记与时间相联系字段作更新的函数其实现不是本标准所规定的则应在文档中说明由路径名分解而引起的改变除外对于本标准中的别的函数这些函数并没有明显地要求读或写数据或改变文卷状态但某些实现可能恰好要这样做其作用是未规定的实现可以对这些做标记的字段立即更新或周期性地更新当字段更新时它们被置为当前时间并清除更新标记当文卷不再被任一进程打开或对文卷执行或操作所有标记为要更新的字段都要作

41、更新其他作更新的时间未做规定对于只读文卷系统中的文卷不作更新路径名分解路径名分解是为进程将路径名分解成文卷层次结构中的特定的文卷可以有多个路径名分解成同一文卷路径名中的每个文卷名处在它的前一个文卷名规定的目录中例如在路径名中文卷处在目录中如果这种定位不能完成则路径名分解失败如果路径名以斜线开始则路径名中第一个文卷名的前级是进程的根目录这样的路径名称为绝对路径名如果路径名不以斜线开始则路径名中第一个文卷名的前级是进程的当前工作目录这样的路径名称为相对路径名路径名分量的解释取决于与该分量的路径前缀相联系的及的值如果路径名分量比长而且对于该分量的路径前缀有效见条则实现应认为这是一种出错条件否则实现应

42、使用路径名分量的前个字节特别文卷名代表本目录特别文卷名代表父目录作为特例在根目录中代表根目录本身只包含单个斜线的路径名分解成进程的根目录路径名是无效的出错号大部分函数在外部变量中提供一个出错号它定义为这一变量的值仅当调用函数后该变量被显式说明要设置时才被定义而且该值保持到下一次函数调用时才会改变变量仅当由函数的返回值表示它有效时才被考查没有任何本标准定义的函数以将置为来表示出错如果函数调用的处理过程中如发生多个错误本标准未定义检测这些错误的次序因此任何一种可能发生的错误都可能被返回实际可以支持未在本条列出的另外的错误可以在不同于这里所描述的环境下产生如下所列的错误或者包含避免发生某些错误的扩展

43、或限制在每个函数说明的有关出错条中规定何种出错条件应由所有实现检测何种出错条件可以由实现可选择地检测每个实现都须在遵从性文档中说明每一个可选项的检测条件若没有检测到出错条件则所请求的动作应成功实现可以包含为避免某些指定的错误发生的扩展或限制实现可以在不同于本条所描述的环境下产生本条中所列的出错号但这只能在也只有在这些出错条件始终能被认为与本标准中所描述的出错条件相同的情况下实现可以支持不在本条所列的另外的出错情况但不应产生一个不同于针对本标准中所描述的出错条件由本标准所要求的出错号本标准中专门定义的函数的上下文中下面的符号名标识可能的出错号这些通用描述在返回该错误的函数的出错条中有更精确的定义

44、由于出错号的实际值未作规定所以在程序中只能使用符号名所有列在本条中的值是唯一的这些符号名的实现定义值必须能在前导文卷中找到本标准对实际值未作规定实参表太长新进程映象的实参表及环境表使用的字节数总和大于系统规定的个字节的限制权限不允许以文卷访问权限所禁止的方式访问文卷暂时得不到资源这是一种临时条件在以后对于同一例程的调用中有可能正常完成不正确的文卷描述字文卷描述字超出范围或指向未打开的文卷或对仅以写读方式打开的文卷进行读写操作资源忙试图使用在当时得不到的系统资源因为该资源正由别的进程以与本进程所请求相冲突的方式使用没有子进程进程执行了函数或函数而没有存在的子进程或只有非等待的子进程避免资源死锁试

45、图锁住会导致死锁情况的系统资源定义域错在语言标准中定义输入实参超出了数学函数的定义域文卷存在在不适当的上下文中规定已存在的文卷例如在函数中将已存在的文卷名作为新的链接名地址错在使用调用函数的实参时系统检测到无效地址这种错误的可靠检测是实现定义的然而完成这种条件检测的实现应使用该值文卷超长文卷长度超过了实现定义的最大文卷长度函数调用被中断在可被中断函数的执行期间进程捕获到异步信号例如或见条前导文卷的描述如果信号处理程序正常返回则被中断的函数调用可能返回此出错条件无效实参供给无效的实参例如对函数或函数规定未定义的信号输入输出错发生某些物理输入或输出错这种错误可能在同一文卷描述字的后续操作中报告对于

46、同一文卷描述字的任何其他引起错误的操作可能引起出错指示的丢失是一个目录试图以写方式打开目录打开文卷太多试图打开比进程允许的文卷描述字最大值更多的文卷链接太多单个文卷的链接计数超过文卷名太长路径名字符串的长度超过或者路径名分量比长而且对该文卷有效系统中打开文卷太多系统中当前打开的文卷太多达到了预先定义的同时打开文卷的限定值而且暂时不能接受打开其他文卷的请求没有这样的设备试图将不适当的函数用于设备例如试图读只写设备如打印机没有这样的文卷或目录指定的路径名分量不存在或者路径名为空字符串格式错调用的进程虽然有适当的权限请求执行文卷但不具有实现对可执行文卷所要求的格式无锁可用达到了系统给出的同时可用的文

47、卷及记录锁的数量限定值而且当时不再有可利用的锁空间不够新进程映象要求比硬件或系统加给存储管理的限制所允许的更多的存储空间设备上没有余留的空间当普通文卷的写函数执行期间或扩展目录时设备上没有剩余的空闲空间函数没有实现试图使用实现中没有的函数不是目录指定的路径名分量存在预期该分量是目录但实际上不是目录目录不空期望一个空目录时除了及目录项外还有别的目录项不适当的控制操作控制函数对文卷或特别文卷做不适当的操作没有这样的设备或地址在不存在的设备上进行特别文卷的输入或输出或请求进行超过设备限制的输入或输出当磁带机未联机或磁盘驱动器上未装入盘组时可能出现这样的错误操作不被允许试图执行仅限于具有适当特权的进程

48、或者只有文卷或其他资源的属主可以执行的操作管道破裂试图向没有读数据的进程的管道或文卷写入结果太大在语言标准中定义函数值的结果太大超过可利用的空间只读文卷系统试图对当时处于只读状态的文卷系统进行修改文卷或目录的操作无效寻找对管道或文卷发出函数调用没有这样的进程找不到相应于给定的进程指定的进程不适当的链接试图将文卷链接到另外的文卷系统上基本系统数据类型由各种系统函数使用的某些数据类型不是作为本标准的一部分定义的而是由实现定义的于是这些类型在前导文卷中定义该前导文卷至少应包含的类型定义项如表所示在表中列举的所有类型应是算术型的和应是带符号的算术型的类型应是能存储从到范围中的值类型和也应在前导文卷中定

49、义此外未规定类型的以结尾的符号可以在由本标准规定的任一前导文卷中定义这些符号的可见性不需要由之外的任何特征测试宏控制环境描述当进程开始时称为的字符串数组成为有效该数组由外部变量指向定义为表基本系统数据类型定义的类型说明用于设备号用于组用于文卷序号用于某些文卷属性例如文卷类型文卷访问权限用于链接计数用于文卷长度用于进程及进程组如语言标准中所定义由返回字节数存储空间或出错指示的函数使用用于用户数组中的字符串具有的形式在中不应包含字符环境中字符串的顺序是没有关系的如果进程环境中多个字符串具有相同的则结果是未定义的下列名字可以定义而且如果作了定义那么具有所指示的含义来自用户数据基的用户初始工作目录名见条前导文卷中的描述当和相应的环境变量用打头都没有规定一个地点时所用的地点类的地点名用于超越由的设置或由任一用打头的环境变量所规定的地点类别的任何值的地点名排序信息的地点名字符分类的地点名包含有关货币数字编辑信息的地点名包含数字编辑信息例如进位制基数字符的地点名日期时间格式信息的地点名与当前进程相联系的注册名其值应由可移植文卷名字符集中的字符组成注要求的字符集超出了可移植文卷名字符集的应用程序或实际使用的字符

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1