📄 2.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="《良友》v2.1, 作者:安富国,http://winking.126.com">
<TITLE>OSKit</TITLE>
</HEAD>
<BODY style="font-family: 宋体; font-size: 9pt">
<CENTER><TABLE CELLSPACING=10 CELLPADDING=10 WIDTH="60%" BGCOLOR="#FFB693" >
<TR>
<TD ALIGN=CENTER><FONT SIZE=+2><!--标题由此开始-->OSKit</TD>
</TR>
</TABLE></CENTER>
<p><h3>目 录</h3>
<!--目录由此开始--><A NAME="Content" ID="Content"></A>
<OL><LI><A HREF="#I555">OSKit</A></LI>
<OL><LI><A HREF="#I556">线程机制</A></LI>
<OL><LI><A HREF="#I557">前言</A></LI>
<LI><A HREF="#I558">第一章 绪 论</A></LI>
<LI><A HREF="#I559">第二章 线程初始化</A></LI>
<LI><A HREF="#I560">第三章 线程通信分析</A></LI>
<LI><A HREF="#I561">第四章 线程调度</A></LI>
<LI><A HREF="#I562">第五章 OSKit的应用实例</A></LI>
<LI><A HREF="#I563">第六章 结束语</A></LI>
</OL><LI><A HREF="#I564">部件对象模型</A></LI>
<OL><LI><A HREF="#I565">前言</A></LI>
<LI><A HREF="#I566">第一章 OSKIT介绍</A></LI>
<LI><A HREF="#I567">第二章 COM规范介绍</A></LI>
<LI><A HREF="#I568">第三章 COM机制的实现</A></LI>
<LI><A HREF="#I569">第四章 接口注册机制</A></LI>
<LI><A HREF="#I570">第五章 启动及系统初始化</A></LI>
<LI><A HREF="#I571">第六章 应用实例</A></LI>
<LI><A HREF="#I572">第七章 结束语</A></LI>
</OL><LI><A HREF="#I573">包装系统驱动程序</A></LI>
<OL><LI><A HREF="#I574">前 言</A></LI>
<LI><A HREF="#I575">第一章 OSKit概述</A></LI>
<LI><A HREF="#I576">第二章 OS Environment概述</A></LI>
<LI><A HREF="#I577">第三章 OS Environment包装Linux驱动程序的方法分析</A></LI>
<LI><A HREF="#I578">第四章 OS Environment自行开发驱动程序的方法</A></LI>
<LI><A HREF="#I579">第五章 OSKit的应用实例</A></LI>
<LI><A HREF="#I580">第六章 结束语</A></LI></OL></OL></OL>
<hr><br><A NAME="I555" ID="I555"></A><center><b><font size=+2>OSKit</font></b></center><br>
OSKIT是美国犹它大学计算机科学系FLUX研究组编写的一套用于架构操作系统内核、服务器和其他OS级软件的框架及模块化的部件和库程序。OSKIT的编写者认为,操作系统中有很大一部分模块是系统必须的,但并不是开发者所感兴趣的,例如系统装入模块,各种标准驱动模块等。使用OSKIT的目的就是使操作系统的开发者集中精力开发他们操作系统中有特色的,或者他们感兴趣的部分,而不必考虑一些繁琐而乏味的细节。为了达到这个目的,OSKit在设计时借用了COM的思想,把操作系统的各个部分设计成尽量独立的COM模块,以方便操作系统的开发者使用或替换。因此,当开发人员使用这套工具时,可以把它当作一个完整的操作系统来使用,也可以根据需要使用其中的一部分,它还可以作为一套动态链接库,由操作系统及支持程序对它进行调用。<br>
<center><A HREF="#Content">[目录]</A></center>
<hr><br><A NAME="I556" ID="I556"></A><center><b><font size=+2>线程机制</font></b></center><br>
OSKit的线程机制 目录<br>
2000年12月12日 23:07<p>
<br>
作 者: 汤海京<p>
<br>
导师:陈朔鹰<p>
前 言<p>
第一章 绪 论<br>
§ 1.1 简介<br>
§ 1.2 安装与配置OSKIT<br>
§ 1.3 使用OSKIT<br>
§ 1.4 OSKIT 导航图<br>
1.4.1 接口<br>
1.4.2 函数库<br>
1.4.3 部件库<br>
1.4.4 执行环境<p>
第二章 线程初始化<br>
§ 2.1 线程初始化分析<br>
2.1.1 线程的创建<br>
2.1.2 线程的存储<br>
2.1.3 线程的数据结构<br>
§ 2.2 PTHREADS/PTHREAD_CREATE.C<br>
2.2.1 创建线程<br>
2.2.2 创建内部线程<br>
2.2.3 为主进程创建一个备份线程<br>
2.2.4 初始化创建线程的线程<br>
2.2.5 为等待和休眠的线程创建一个等待时间<br>
§ 2.3 PTHREADS/PTHREAD_ATTR.C<br>
2.3.1 线程初始化的数据结构<br>
2.3.2 线程属性的撤销<br>
2.3.3 设置线程的警戒堆栈大小<br>
2.3.4 得到警戒堆栈的大小<br>
2.3.5 设置线程的分离状态<br>
2.3.6 得到线程的分离状态<br>
2.3.7 设置线程的继承关系<br>
2.3.8 得到线程的继承状态<br>
2.3.9 设置线程的调度参数<br>
2.3.10 得到线程调度的参数<br>
2.3.11 设置线程调度策略<br>
2.3.12 得到线程调度策略<br>
2.3.13 设置堆栈地址<br>
2.3.14 得到堆栈的地址<br>
2.3.15 设置堆栈的大小<br>
2.3.16 得到堆栈的大小<br>
2.3.17 设置线程的优先级<br>
2.3.18 准备接受调度<br>
2.3.19 声明要进行调度的线程<br>
2.3.20 设置mutex的属性<br>
2.3.21 撤销mutex的属性<br>
2.3.22 设置muxtex的协议<br>
2.3.23 得到线程调度的mutex协议<br>
2.3.24 设置mutex的种类<br>
2.3.25得到mutex的类型<br>
本 章 小 结<p>
第三章 线程通信分析<br>
§ 3.1 线程间通信<br>
3.1.1消息队列<br>
3.1.2信号<br>
§ 3.2 PTHREADS/PTHREAD_IPC.C<br>
3.2.1 消息发送:<br>
3.2.2 send的算法<br>
3.2.3 消息接收<br>
3.2.4 receive的算法<br>
§ 3.3 PTHREADS/PTHREAD_SIGNAL.C<br>
3.3.1 检测并更改阻塞的信号<br>
3.3.2杀线程信号<br>
3.3.3 关线程锁<br>
3.3.4 在目标线程的信号等待队列中加一个信号<br>
3.3.5 信号完成的动作<br>
3.3.6 测试或改变(或两者兼有)主调进程的信号掩码<br>
3.3.7 杀线程<br>
3.3.8 等待信号的线程队列<br>
3.3.9 等待内部信号<br>
3.3.10 线程等待信号<br>
3.3.11 线程等待信号(一般指内部信号)<br>
3.3.12 线程等待信号(有时间限制)<br>
3.3.13 线程等待信号,如果无信号发给它,则无限期等待<br>
3.3.14 从一个陷入发送信号给线程<br>
3.3.15 发出线程阻塞信号<br>
3.3.16 不会被阻塞的信号发送<br>
3.3.17 信号初始化<br>
§ 3.4 PTHREADS/PTHREAD_COND.C<br>
3.4.1条件变量的初始化数据结构<br>
3.4.2撤销条件变量<br>
3.4.3 线程等待条件变量<br>
3.4.4 安全的等待<br>
3.4.5 等待条件变量,但有时间限制<br>
3.4.6 等待捐赠条件<br>
3.4.7 等待条件超时<br>
3.4.8 线程发送信号条件<br>
3.4.9 线程广播条件<br>
本 章 小 结<p>
第四章 线程调度<br>
§ 4.1 线程调度算法分析<br>
4.1.1 线程调度算法的总体描述<br>
4.1.2 优先级逆转法<br>
§ 4.2 PTHREAD/PTHREAD_SCHEDULER.C<br>
4.2.1清空等待调度的线程队列<br>
4.2.2得到等待队列中优先级最高的线程的优先级<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -