计算机操作系统多线程优质PPT.ppt
《计算机操作系统多线程优质PPT.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统多线程优质PPT.ppt(13页珍藏版)》请在冰豆网上搜索。
定期备份加快处理速度:
对数据的并行处理组织复杂的工作:
如DBMS对SQL语句的处理同时处理多个用户的服务请求:
如民航售票或证券交易线程的状态和线程管理线程状态:
就绪、运行、等待(p.62图4-1)几点说明:
无挂起状态;
使用I/O时是否阻塞其他线程;
进程的状态只与资源有关了线程的描述进程现场:
映象和保护体系(与资源有关)线程现场:
状态、运行现场、执行堆栈(与运行有关)用面向对象的形式表示线程控制块(TCB)对象和类的概念进程对象和线程对象:
p.65表4.1和表4.2线程的管理、线程组基本管理方式:
TCB队列线程控制原语:
创建、撤消、阻塞、挂起、解挂以线程组的形式成组管理线程多线程的实现
(1)基于线程观点的操作系统分类:
单进程单线程(MS-DOS);
多进程单线程(传统UNIX);
单进程多线程;
多进程多线程(WINDOWSNT等)p.67用户级和内核级线程:
p.70图4.4用户级线程(ULT):
定义;
实现方式线程库;
优点(开销小;
适应多类应用;
适应多种操作系统);
问题(I/O时阻塞;
时间片轮转时线程与进程状态不协调);
缺点(阻塞多个线程;
饥饿;
无法享受多处理器);
解决方案(监控程序和虚拟时钟、I/O外套程序);
其他问题(对共享存区的保护、多CPU);
实际数据多线程的实现
(2)内核级线程(KLT):
什么是KLT;
优点(多处理器并行;
阻塞时不相互牵制;
内核线程);
缺点(进出操作系统的两次模式转换的开销)KLT和ULT结合的方法:
p.70图4.4c;
四个容易混淆的术语的解释(针对线程主,还是针对线程运行的地址空间而言)线程库:
功能:
支持ULT的开发和应用所提供的过程调用实现要点:
尽量减少目态/管态间转换(每次转换都涉及在不同的地址空间之间复制数据,开销很大);
线程调度;
编程接口Solaris操作系统的线程机制Solaris的多线程结构:
有关概念及图示轻质进程UNIX和Solaris的进程表的比较:
Solaris的进程不包括处理器现场,该现场在轻质进程数据块。
轻质进程的本质是一个特殊的用户线程轻质线程的局限性:
开销大;
占用内核资源多;
仅涉及用户空间(即上层)的操作开销小,同时涉及上下层的开销大。
内核线程:
数据结构;
Solaris内核构成用户线程:
完全由线程库管理,与内核无关。
线程的执行用户线程与轻质进程多对多:
用户线程状态变化图(p.75);
LWP状态变化图(p.76)用户进程与轻质进程一对一:
走则同行;
停则同停内核中断线程中断处理由中断线程执行,并用锁或信号量互斥实现方法及其性能分析(p.77页首)Solaris多线程结构的有关概念进程;
用户级线程ULT:
通过在进程地址空间的线程库实现;
轻质进程LWP:
LWP是用户级线程与内核级线程之间的映射。
LWP被内核独立调度并可在多处理器上并行执行;
内核级线程KLT:
被调度并分派到一个处理器上执行的基本实体。
Solaris的多线程结构有关概念图示ukCPU线程库进程1uL线程库进程2uu线程库进程3uuu线程库进程4uu线程库进程5uuuLLLLLLLLkkkkkkkk线程调度程序CPUCPUCPUCPU内核硬件用户空间Mach操作系统的线程机制任务(类似进程)和线程线程的数据结构(p.77)与线程相关的系统调用:
创建、终止、挂起、恢复等线程分类:
纯内核线程;
用户任务的线程(相当于Solaris中的轻质进程)线程库线程库的实现方法基于线程(default):
每个用户线程使用一个内核用户线程(相当于轻质进程),抢占式调度基于协同例程:
多个用户线程对应一个内核用户线程,不可抢占式调度基于任务:
每个线程使用一个Mach任务(即UNIX进程)习题4.24.34.44.54.10