|
|
|
|||||
|
|
作者 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 版权所有 |
||||||||||||||||