主页 文档 下载 莱特 沙龙 English

RTESM文档
RTEMS精彩应用
RTEMS版权说明
其他RTOS
ARM/DSP专区
AVR/FPGA/PCB
嵌入式文件系统
ARM AVR仿真器DIY
莱特电子工作室
联系我们
 


任务管理:POSIX API

作者 Ray

RTEMS版权所有,转载请注明来源www.rtems.net,作者Ray

对于有对应POSIX API的管理器,我会在对应的章节中介绍,由于POSIX相比RTEMS自己的API来说,不但大,而且效率也有些影响。此外POSIX毕竟是UNIX台式机的那套咚咚,对于RTOS来说,缺乏有效的实时控制。所以如果不是因为兼容性,还是不用的好。

Posix在Linux/UNIX的书中介绍的很多,我就不详细介绍了。只列出对应的函数与功能,如果需要API的详细信息,相信网上很容易找到。

此外RTEMS还提供iTRON的API,这套API是小日本嵌入式产品的标准API,我就不想多说了。

C++的API是RTEMS API的OO封装,C++和C,想用那个看个人爱好和系统资源了。

其他的API,使用的比较少,而且也不太全,我也不多结束了。

 

Posix进程接口

进程创造和执行管理器提供与创造和进程的端接有关的功能性。

由进程创造和执行管理器提供的函数是:

fork - 创建一个进程

execl- 运行一个可执行文件

execv- 运行一个可执行文件

execle- 运行一个可执行文件

execve- 运行一个可执行文件

execlp- 运行一个可执行文件

execvp- 运行一个可执行文件

pthread_atfork- 注册进程句柄

wait - 等候进程结束

waitpid- 等候进程结束

_exit - 结束一个进程

需要注意的是,在 RTEMS 中,由于系统对于 Posix 的进程接口并不完全被 RTEMS 所支持, RTEMS 只是将这些操作以合适的方式封装,让程序的移植更方便。 RTEMS 所有的应用都基于轻量级的线程,整个体系是一个进程,而其中的各个任务是该进程中的线程。

Posix线程管理

线程管理器实现对如 POSIX 1003.1 b-1996 所定义的线程管理器是必需的功能性。 该标准需要一个顺从的操作系统提供 facilties 处理控制的多样线程而且定义一定被提供的美国石油协会。

由线程管理器提供的服务是:

pthread_attr_init- 初始化一个线程属性集合

pthread_attr_destroy- 销毁一个线程属性集合

pthread_attr_setdetachstate- 设定分离状态

pthread_attr_getdetachstate- 获取分离状态

pthread_attr_setstacksize- 设定线程栈大小

pthread_attr_getstacksize- 获取线程堆栈大小

pthread_attr_setstackaddr- 设定线程栈地址

pthread_attr_getstackaddr- 获取线程堆栈地址

pthread_attr_setscope- 设定线程调度作用域

pthread_attr_getscope- 获取线程调度作用域

pthread_attr_setinheritsched- 设置调度继承标识

pthread_attr_getinheritsched- 获取调度继承标识

pthread_attr_setschedpolicy- 设定调度政策

pthread_attr_getschedpolicy- 获取调度政策

pthread_attr_setschedparam- 设定调度参数

pthread_attr_getschedparam- 获取调度参数

pthread_create- 创建一个线程

pthread_exit- 结束现在的线程

pthread_detach- 分离一个线程

pthread_join- 线程融合

pthread_self- 获取线程ID标识

pthread_equal- 比较线程ID标识

pthread_once- 动态封装初始化

pthread_setschedparam- 设定线程调度参数

pthread_getschedparam- 获取调度给线程参数

 
嵌入式软硬件设计咨询 • 8位 16位 32位 64位 RISC DSP
主页文章 方案 产品 下载反馈
 
2004 RTEMS.NET 版权所有