POSIX标准理解Word文档下载推荐.docx

上传人:b****2 文档编号:14844796 上传时间:2022-10-25 格式:DOCX 页数:35 大小:34.39KB
下载 相关 举报
POSIX标准理解Word文档下载推荐.docx_第1页
第1页 / 共35页
POSIX标准理解Word文档下载推荐.docx_第2页
第2页 / 共35页
POSIX标准理解Word文档下载推荐.docx_第3页
第3页 / 共35页
POSIX标准理解Word文档下载推荐.docx_第4页
第4页 / 共35页
POSIX标准理解Word文档下载推荐.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

POSIX标准理解Word文档下载推荐.docx

《POSIX标准理解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《POSIX标准理解Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。

POSIX标准理解Word文档下载推荐.docx

(3)涉及资源和可移植性,而非对象;

(4)基于c语言;

(5)无超级用户,无系统管理;

(6)最小限度的接口,最小限度的定义;

(7)应用领域广泛;

(8)对以前的实现进行最小限度改变;

(9)对原有程序代码做最小的修改;

(10)实时扩展;

以下就对各个章节做简要分析。

第一章概述

1.1范围

定义范围的关键要素有:

(1)定义足够的一套功能适用于实时应用程序领域的重要部分;

(2)定义足够的实现规范和性能相关的函数,以便允许实时应用程序完成系统的确定性的响应;

1.2 

一致性

系统须支持标准中定义的接口,系统能够提供标准中没有要求到的函数和工具。

在遵循于该标准的实现中,一种一致性文档是需要用到的,它必须具有与该标准相同的结构,包含有全名,数字,和标准所指示的日期,以及头文件<

limits.h>

和<

unistd.h>

中的界限值等等。

该一致性文档详细说明了标准中定义的执行行为。

该标准要求了应用程序的一致性,所有遵循标准的应用程序都使用基于c语言的服务。

第二章术语和基本需求

2.1 

定义

(1)术语

该标准中定义了一系列术语,如一致性文档,被定义的实现,可能性,无用的特性等,还定义了一些通用名词,如绝对路径,存取模式,地址空间,适当权限,定时器,异步I/O操作,后台进程,后台进程组,块文件,阻塞进程,等等。

(2)基本概念

扩展安全控制;

文件存取允许;

文件级别;

文件名可移植性;

路径名的决定;

(3)错误号

大部分函数都在外部变量errno中提供了错误号,定义如下:

externinterrno;

(4)简单系统的数据类型

这些数据类型在头文件<

sys/types.h>

中定义,它包含了至少以下类型:

dev_t:

用于设备号;

gid_t:

用于进程标志符;

ino_t:

用于文件序列号;

inode_t:

用于一些文件参数;

nlink_t:

用于连接内容;

off_t:

用于文件大小;

pid_t:

用于进程或进程组标志符;

size_t:

在c标准

(2)中定义;

ssize_t:

用于返回字节数和错误标志的函数;

uid_t:

用于用户标志符;

(5)环境描述

当一个进程开始执行时,将调用一个表示环境的字符串数组,这个数组为外部变量environ所指向,其定义如下:

externchar**environ;

(6)其他

在该章中,标准还总体介绍了c语言定义的一些标志符,数字方面的限制,以及一些符号常量,这些在以后的章节中都会一一出现。

以下是OSE服务的简要设计描述的一个清单。

这些要求详细叙述在POSIX规范书中。

●进程源语

进程源语所涉及的函数完成了大多数简单的操作系统服务,如进程处理,进程信号,以及定时器。

一般情况下,该标准所确定的进程的所有属性都不能被一个进程源语改变,除非描述符特别指明。

●进程环境

●目录与文件

目录与文件所涉及的函数执行了一系列操作系统服务,例如文件的创建和删除,检测,修改特性。

它们提供了主要的方法,进程因为一系列 

I/O操作使用他们来存取文件和目录。

●输入输出原语

这些子文件和管道函数处理输入和输出。

功能被指定为进行文件描述符管理和I/O活动之间得平衡调节。

●设备驱动和分类函数

该章节描述了一个基本的终端接口和一些基本的终端控制函数,如果执行时被提供,所有的异步通信端口都应该支持它,接口是支持网络连接还是异步端口或者两者都支持由完成者定义,一致性文档应该描述那些设备类型被这些接口所支持。

本章的一些函数主要应用与进程的控制终端

●基于c语言得服务

●系统数据库

●数据交换格式

●异步

●内存管理

●执行调度

●时钟和定时器

●消息传递

第三章进程原语

3.1 

进程的创建和执行

1.进程创建

函数原型:

pid_t 

fork(void)

函数功能:

调用时需要引用的头文件是<

fork()创建了一个新的进程。

2.执行一个文件

intexec1(constchar*path,constchar*arg,…);

intexecv(constchar*path,const*charargv[]);

intexecle(constchar*path,constchar*arg,…);

intexecve(constchar*path,const*charargv[],char*constenvp[])

intexeclp(constchar*file,constchar*arg.…);

intexecvp(constchar*file,char*constargv[]);

exec系列的函数用一个新的进程映像替代了当前的进

程映像,这个新的进程映像创建于一个规则的,可执行文件,叫做新进程映像文件。

执行成功无返回值因为调用进程映像以为新的进程映像所覆盖。

3.2 

进程的终止

进程的终止有两种情况:

(1)从main()函数返回时或者执行exit()或_exit()函数时正常的终止;

(2)被abort()函数请求或者接受到一些信号时不正常的终止;

1.等待进程终止

函数原型:

#include<

sys/wait.h>

pid_twait(int*stat_loc);

pid_twaitpid(pid_tpid,int*stat_loc.intoptions);

wait()和waitpid()允许调用进程获得它的一个子进程的状态信息。

Wait()函数将挂起调用进程直到获得了它的子进程的状态信息,或者是直到获得一个终止进程信号;

如果pid=-1并且options=0,waitpid()函数功能将和waitpid()相同,否则它的功能将依据pid和options的值而改变。

2. 

终止一个进程

void_exit(intstatus);

_exit()函数将终止一个调用进程,该函数不能返回给其调用者

3.3 

信号

在头文件<

signal.h>

终声明了sigset_t类型和sigaction结构。

完成所定义的信号分三类:

必需的信号;

任务控制信号;

内存保护信号,分别如下表:

必需信号

符号常量

描述

SIGABRT

非正常终止信号

SIGALRM

超时信号

SIGFPE

错误运算操作

SIGHUP

为控制中断所检测到的挂断

SIGILL

无效硬件信号的检测

SIGINT

交互式信号

SIGKILL

终止信号

SIGPIPE

写信号

SIGQUIT

交互式终止信号

SIGSEGV

无效内存引用检测信号

SIGTERM

SIGUSR1

保留信号

SIGUSR2

作业控制信号

SIGCHLD

子进程终止或停止

SIGCONT

停止后继续

SIGSTOP

停止信号

SIGTSTP

交互式的停止信号

SIGTTIN

从控制终端读

SIGTTOU

写到控制终端

内存保护信号

SIGBUS

获取内存中不确定的部分

每一个进程有一个进程标记(processmask),它定义了一组产生但被阻塞传递的信号集。

Sigaction(),sigpromask(),sigsuspend()

函数控制这个进程标记的行为。

1.送一个信号到进程

#include<

intkill(pid_tpid,intsig)

该函数发送一个信号到一个由pid指明的进程或者进程组,sig标志了信号类型,其值是0或者上表中的值。

如果发送成功,返回‘0’,否则返回‘1’。

操纵信号集

intsigemptyset(sigset_t*set);

intsigfillset(sigset_t*set);

intsigaddset(sigset_t*set,intsigno);

intsigdelset(sigset_t*set,intsigno);

intsigisemeber(constsigset_t*set,intsigno);

sigsetops源语操纵信号集。

他们操作以数字为对象,这些数据由应用程序的地址所指向,而不是以系统所知的信号集为对象。

3. 

检测和更改信号的行为

intsigaction(intsig,conststructsigaction*act,structsigaction*oact);

该函数允许调用函数检查与确定的信号相联系的行为,

参数sig确定了信号,sigaction结构在头文件<

中被定义,描述了所采取的行为。

如果参数act不为null,它指向一个结构,它指定了与信号相联系的行为。

如果参数oact不为null,先前与信号相联系的行为将被存储到由oact指向的地方。

4. 

检查和改变阻塞信号

intsigprocmask(inthow,xonstsigset_t*set,sigset_t*oset);

该函数用来检查和改变调用进程的信号标记(signalmask),如果参数set不为null,它指向一个信号集的用于改变当前的阻塞集。

参数how指明了改变方式,参数oset不为null时,先前的信号标记被存储在它所指向的地方,如果参数set为null,则参数how就没有意义了,而且进程的信号标记不能随函数调用而改变。

5. 

检查未定的信号

intsigpending(sigset_t*set);

该函数存储一个信号集,这些信号是在被调用进程传输和未定的情况下阻塞的,由参数set所指向。

6.等待一个信号

函数原型

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1