当前位置:Linux教程 - Linux文化 - OSKit的线程机制 目录

OSKit的线程机制 目录


前 言

第一章 绪 论
 § 1.1 简介
 § 1.2 安装与配置OSKIT
 § 1.3 使用OSKIT
 § 1.4 OSKIT 导航图
    1.4.1 接口
    1.4.2 函数库
    1.4.3 部件库
    1.4.4 执行环境

第二章 线程初始化
 § 2.1 线程初始化分析
    2.1.1 线程的创建
    2.1.2 线程的存储
    2.1.3 线程的数据结构
 § 2.2 PTHREADS/PTHREAD_CREATE.C
    2.2.1 创建线程
    2.2.2 创建内部线程
    2.2.3 为主进程创建一个备份线程
    2.2.4 初始化创建线程的线程
    2.2.5 为等待和休眠的线程创建一个等待时间
 § 2.3 PTHREADS/PTHREAD_ATTR.C
    2.3.1 线程初始化的数据结构
    2.3.2 线程属性的撤销
    2.3.3 设置线程的警戒堆栈大小
    2.3.4 得到警戒堆栈的大小
    2.3.5 设置线程的分离状态
    2.3.6 得到线程的分离状态
    2.3.7 设置线程的继承关系
    2.3.8 得到线程的继承状态
    2.3.9 设置线程的调度参数
    2.3.10 得到线程调度的参数
    2.3.11 设置线程调度策略
    2.3.12 得到线程调度策略
    2.3.13 设置堆栈地址
    2.3.14 得到堆栈的地址
    2.3.15 设置堆栈的大小
    2.3.16 得到堆栈的大小
    2.3.17 设置线程的优先级
    2.3.18 准备接受调度
    2.3.19 声明要进行调度的线程
    2.3.20 设置mutex的属性
    2.3.21 撤销mutex的属性
    2.3.22 设置muxtex的协议
    2.3.23 得到线程调度的mutex协议
    2.3.24 设置mutex的种类
    2.3.25得到mutex的类型
 本 章 小 结

第三章 线程通信分析
 § 3.1 线程间通信
    3.1.1消息队列
    3.1.2信号
 § 3.2 PTHREADS/PTHREAD_IPC.C
    3.2.1 消息发送:
    3.2.2 send的算法
    3.2.3 消息接收
    3.2.4 receive的算法
 § 3.3 PTHREADS/PTHREAD_SIGNAL.C
    3.3.1 检测并更改阻塞的信号
    3.3.2杀线程信号
    3.3.3 关线程锁
    3.3.4 在目标线程的信号等待队列中加一个信号
    3.3.5 信号完成的动作
    3.3.6 测试或改变(或两者兼有)主调进程的信号掩码
    3.3.7 杀线程
    3.3.8 等待信号的线程队列
    3.3.9 等待内部信号
    3.3.10 线程等待信号
    3.3.11 线程等待信号(一般指内部信号)
    3.3.12 线程等待信号(有时间限制)
    3.3.13 线程等待信号,如果无信号发给它,则无限期等待
    3.3.14 从一个陷入发送信号给线程
    3.3.15 发出线程阻塞信号
    3.3.16 不会被阻塞的信号发送
    3.3.17 信号初始化
 § 3.4 PTHREADS/PTHREAD_COND.C
    3.4.1条件变量的初始化数据结构
    3.4.2撤销条件变量
    3.4.3 线程等待条件变量
    3.4.4 安全的等待
    3.4.5 等待条件变量,但有时间限制
    3.4.6 等待捐赠条件
    3.4.7 等待条件超时
    3.4.8 线程发送信号条件
    3.4.9 线程广播条件
 本 章 小 结

第四章 线程调度
 § 4.1 线程调度算法分析
    4.1.1 线程调度算法的总体描述
    4.1.2 优先级逆转法
 § 4.2 PTHREAD/PTHREAD_SCHEDULER.C
    4.2.1清空等待调度的线程队列
    4.2.2得到等待队列中优先级最高的线程的优先级
    4.2.3得到指向下一个要执行线程的指针
    4.2.4在线程的执行队列的队尾追加一个线程
    4.2.5在线程的执行队列的队头追加一个线程
    4.2.6将等待队列中优先级最高的线程提出队列执行
    4.2.7从等待队列中删除独占资源的线程
    4.2.8此时用到的调度算法
    4.2.9将一个线程变为运行态
    4.2.10终止该线程目前的调度算法
    4.2.11为一个新的线程创建调度参数
    4.2.12改变线程的调度状态
    4.2.13优先级迁移
    4.2.14基于某种原因,线程被送回等待队列
    4.2.15返回优先级最高的处于等待状态的线程
    4.2.16改变线程的优先级
    4.2.17优先级继承
    4.2.18不继承优先级
    4.2.19优先级递减
 本 章 小 结

第五章 OSKIT的应用实例 一个简单系统的设计与实现
 5.1设计目的
 5.2系统的功能
 5.3 我们自己所完成的工作:
    5.3.1 系统的启动
    5.3.2 线程管理
    5.3.3 外设(串口)
 5.4 用户手册
    5.4.1 安装
    5.4.2 用户编程接口
    5.4.3 应用程序示例
 本 章 小 结

第六章 结束语

后 记