rtems:任务管理:POSIX API
对于有对应POSIX API的管理器,我会在对应的章节中介绍,由于POSIX相比RTEMS自己的API来说,不但大,而且效率也有些影响。此外POSIX毕竟是UNIX台式机的那套咚咚,对于RTOS来说,缺乏有效的实时控制。所以如果不是因为兼容性,还是不用的好。
%A
%A Posix在Linux/UNIX的书中介绍的很多,我就不详细介绍了。只列出对应的函数与功能,如果需要API的详细信息,相信网上很容易找到。
%A
%A 此外RTEMS还提供iTRON的API,这套API是小日本嵌入式产品的标准API,我就不想多说了。
%A
%A C++的API是RTEMS API的OO封装,C++和C,想用那个看个人爱好和系统资源了。
%A
%A 其他的API,使用的比较少,而且也不太全,我也不多结束了。
%A
%A
%A Posix进程接口
%A
%A 进程创造和执行管理器提供与创造和进程的端接有关的功能性。
%A
%A 由进程创造和执行管理器提供的函数是:
%A
%A fork - 创建一个进程
%A
%A execl- 运行一个可执行文件
%A
%A execv- 运行一个可执行文件
%A
%A execle- 运行一个可执行文件
%A
%A execve- 运行一个可执行文件
%A
%A execlp- 运行一个可执行文件
%A
%A execvp- 运行一个可执行文件
%A
%A pthread_atfork- 注册进程句柄
%A
%A wait - 等候进程结束
%A
%A waitpid- 等候进程结束
%A
%A _exit - 结束一个进程
%A
%A 需要注意的是,在 RTEMS 中,由于系统对于 Posix 的进程接口并不完全被 RTEMS 所支持, RTEMS 只是将这些操作以合适的方式封装,让程序的移植更方便。 RTEMS 所有的应用都基于轻量级的线程,整个体系是一个进程,而其中的各个任务是该进程中的线程。
%A Posix线程管理
%A
%A 线程管理器实现对如 POSIX 1003.1 b-1996 所定义的线程管理器是必需的功能性。 该标准需要一个顺从的操作系统提供 facilties 处理控制的多样线程而且定义一定被提供的美国石油协会。
%A
%A 由线程管理器提供的服务是:
%A
%A pthread_attr_init- 初始化一个线程属性集合
%A
%A pthread_attr_destroy- 销毁一个线程属性集合
%A
%A pthread_attr_setdetachstate- 设定分离状态
%A
%A pthread_attr_getdetachstate- 获取分离状态
%A
%A pthread_attr_setstacksize- 设定线程栈大小
%A
%A pthread_attr_getstacksize- 获取线程堆栈大小
%A
%A pthread_attr_setstackaddr- 设定线程栈地址
%A
%A pthread_attr_getstackaddr- 获取线程堆栈地址
%A
%A pthread_attr_setscope- 设定线程调度作用域
%A
%A pthread_attr_getscope- 获取线程调度作用域
%A
%A pthread_attr_setinheritsched- 设置调度继承标识
%A
%A pthread_attr_getinheritsched- 获取调度继承标识
%A
%A pthread_attr_setschedpolicy- 设定调度政策
%A
%A pthread_attr_getschedpolicy- 获取调度政策
%A
%A pthread_attr_setschedparam- 设定调度参数
%A
%A pthread_attr_getschedparam- 获取调度参数
%A
%A pthread_create- 创建一个线程
%A
%A pthread_exit- 结束现在的线程
%A
%A pthread_detach- 分离一个线程
%A
%A pthread_join- 线程融合
%A
%A pthread_self- 获取线程ID标识
%A
%A pthread_equal- 比较线程ID标识
%A
%A pthread_once- 动态封装初始化
%A
%A pthread_setschedparam- 设定线程调度参数
%A
%A pthread_getschedparam- 获取调度给线程参数
%A%A
%A
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。