没有合适的资源?快使用搜索试试~ 我知道了~
Solaris多线程体系结构研究及多线程应用
需积分: 10 0 下载量 25 浏览量
2012-09-19
15:41:34
上传
评论
收藏 136KB PDF 举报
温馨提示
试读
3页
本文介绍了从单线程向多线程操作系统过渡的原因,着重论述了Solaris双层多线程体系结构模型、多线程同步机制与函数接口。
资源推荐
资源详情
资源评论
2000年 第 2期 计算机系统应用
Solaris多线程体 系结构研 究及多线程应用
r 3I b
王 晨 张毅谨 宋俊德 ( 京邮电大学计算机 系 100084)
摘要:本文介绍 了从单线程向多线程操作 系统过渡的原 因,着重论述 了 Solaris双层 多线程体 系结构模型、多线程
’
篓Solaris线 了 。 瓶 u I7l 美键词: ——堡垒 帮 }刺 u 、
一
、
使用多线程的原 因
传统老式 UNIX操作系统的进程只有一个线程,这
时,线程指的就是程序中被执行的指令序列 ,同时还包括
程序计数器(PC]和用来保 留局部变量 和返 回地址 的堆
栈。而多线程 UNIX操作 系统 (如 SUN Sola ̄ .6、S∞
UnixW0xe7、ⅢM AIx4 1以及 Linux等 )的进程可以包括
一
个或多个相互关联的线程,而且这些线程问独立运行。
产生这种从单线程操作系统向多线程操作系统过渡 的不
外乎是下述原因。
一
是对多处理器(cpu)硬件支持的要求。例如进行
数学计算 中的矩阵乘法 ,12个处理 器上产生 n个线程 ,每
一
个线程负责计算一 列,这种 多线程 的方法 充分利用 了
系统的硬件资源,同时提高了数学运算的速度;二是对应
用程序同时性(conc ̄ y)的要求。例如:应用程序一
方面要进行长时间、大规模的计算 ,另一方面要求计算的
同时能够响应用户界面操作。利用操作系统对多线程的
支持,可以很容易地实现(即一个线程负责计算,另一线
程响应用户操作),达到了对程序同时性的要求。第三是
从节省系统资源的角度考虑 。每一个进程都有其 占用的
地址空间、全局变量 、文件标识符 、管道 等系统 资源以及
操作系统状态表项,在多线程操作系统中,一个进程内的
所有线程可 以共享该进程 占用 的系统资 源,而如 果采用
单线程的操作系统(线程将变为进程),就会占用多得多
的系统资源 ,有可能 出现 系统资源不足 ,新进程无法运行
的不 良后果,而且用于创建和维护 多进程 大量的状态表
项同多线程方法相比,时间(大约是线程刨建时间的5至
3o倍)与空间都更加昂贵,系统资源花费的代价更大。
总之+使用多线程可以提高应用程序的响应速度,充
分利用与节省系统资源 ,同时可 以改善程序 的结构 与性
能 。
二、多线程体系结构
1.双层多线程结构模型
Solaris多线程结构模型分为两个层次 (见 图 1)。第
一
层为用户级线程接 口,主要负责处理程序 员书写的多
线程程序 ;第二层 为轻量级 进程 (LWP)接 口,该层负 责
与多线程操作系统的内核进行通信。通过该接121提供了
从用户级到系统 内核级线程实现的桥梁。采用这种双层
多线程模型最大的优点在于将线程的实现同操作系统 的
内核隔离起来 ,能够使系统达到更高的效率。例如 ,当线
程读写某一文件时,由于等待文件输入/输出结束 ,轻量
级进程处于阻塞状态,此时,这种将系统内核隔离的双层
模型就允许内核进行其他事务的处理;而如果采用单层
模型,即由内核直接处理用户线程 ,内核就将频繁处于为
线程分配数据结构和线程上下文 的状态 ,系统效率就会
明显降低 。由此 可见 ,Solaris双层多线程模 型对线程 的
实现是起着重要作用的。
接
罐忙
△; 最
女 1 女 2 a
0 p—v
4
午午 仝土
L ll — l
— 』 上
图 I Solaris多线程结构模 型
2.用户级线程与轻■级进程
根据 Solaris多线程结 构模型 ,提出了用户级线程 与
轻量级进程两个概念。
用户缀线程 (即通 常所说的线程 ,thread),它通 过系
统程序库 函数来实现。用户级线程对系统 内核来说是透
明的 ,也就是说线程的创建 、销毁 、阻塞和激活都不需要
内核的参与。它仅在进程内部可见,共享进程的地址空
间 、进程指令以及某些数据 (称为共享数据)等所有资源,
维普资讯 http://www.cqvip.com
资源评论
dota_king
- 粉丝: 3
- 资源: 78
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功