DeltaCORE POSIX API实现的参考标准为:POSIX 1003.1, 1003.1b, 1003.1i, 1003.1c, 1003.1d, 1003.1j。
DeltaCORE POSIX不支持完全的进程,Cancelation-point(取消点),cond(条件变量)等概念。
- 线程thread--等同于DeltaOS中任务的概念。
- 互斥量mutex--互斥是一种简单的进行锁定的原语,其主要作用是控制对共享资源的访问,防止冲突,互斥量用于线程间的同步。
- 信号signal--用于线程间的通信,有效的信号从SIG_0到_SIG_31。
- 信号量sem--实现线程间的同步与互斥机制,功能较互斥量强大。
- 时钟clock--表示系统当前时间。
- 定时器timer--需要指定时钟。
- 消息队列mq--用于线程间的通信,在线程间传送字符串。
- 线程的关键数据pthread_key--用于存储线程的关键数据的值,可随时提取。
5.1.线程
线程部分提供POSIX线程的创建,退出和属性操作等功能。DeltaCORE POSIX支持标准的SCHED_FIFO和SCHED_RR调度策略。支持动态设置线程调度策略,设置线程inheritsched和schedpolicy属性。
线程部分的API共计16个。
5.2.互斥量
互斥量部分提供初始化,注销,锁定,解锁和属性操作等功能。DeltaCORE POSIX互斥量可以选择使用PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT优先级集成和PTHREAD_PRIO_PROTECT优先级天花板三种协议防止优先级翻转。
互斥量部分的API共计11个。
5.3.信号
信号部分提供线程间通信方法。提供的功能包括为一个信号指定某种动作;存储线程当前受阻而未交付的悬挂信号集;初始化信号集;初始化信号集使其包括所有定义的信号;将信号加入到信号集;将信号从信号集中删除和判断某信号是否为信号集的成员。
信号部分的API共计9个。
5.4.信号量
信号量部分提供线程间的同步与互斥方法。提供的操作有信号量的初始化和删除,打开和关闭以及锁定和解锁。
信号量部分的API共计6个。
5.5.时钟和定时器
时钟和定时器部分提供系统计时和软件定时器功能。调用包括获取和设置时钟,获取时钟精确度,创建和停止定时器,获取和设置定时器计数值。
时钟和定时器部分的API共计9个。
5.6.消息队列
消息队列是一种线程间通信机制。提供的操作包括消息队列的打开,关闭和删除,设置与获取消息队列属性,向消息队列发送消息和从消息队列接收消息。
消息队列部分的API共计7个。
5.7.线程数据
线程数据允许每个线程保存自己的关键数据。提供的操作包括创建和删除线程关键数据,设置线程关键数据的值和取得关键数据值。
线程数据部分的API共计4个。