操作系统简明教程ppt第2章

操作系统简明教程ppt第2章

ID:40216418

大小:470.50 KB

页数:59页

时间:2019-07-26

操作系统简明教程ppt第2章_第1页
操作系统简明教程ppt第2章_第2页
操作系统简明教程ppt第2章_第3页
操作系统简明教程ppt第2章_第4页
操作系统简明教程ppt第2章_第5页
资源描述:

《操作系统简明教程ppt第2章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.5线程2.5.1线程的引入进程作为一个独立运行的基本单位——只有进程可以被调度运行,只有进程才能拥有资源。分配、回收、切换——时空开销为使进程的程序充分并发执行,同时能尽量减少系统的开销,新想法——进程调度运行和拥有资源这两个基本运行单位的属性分开,让进程拥有资源,而让一个新的实体作为调度运行的基本单位。1随着并行技术、网络技术和软件设计技术的发展,给并发程序设计效率带来了一系列新的问题,主要表现在:进程时空的开销大,频繁的进程调度将耗费大量处理器时间,要为每个进程分配存储空间限制了操作系统中进程的总数。进程通信的代

2、价大,每次通信均要涉及通信进程之间或通信进程与操作系统之间的信息传递。进程之间的并发性粒度较粗,并发度不高,过多的进程切换和通信延迟使得细粒度的并发得不偿失。不适合并行计算和分布并行计算的要求,对于多处理器和分布式的计算环境来说,进程之间大量频繁的通信和切换,会大大降低并行度。不适合客户/服务器计算的要求。对于C/S结构来说,那些需要频繁输入输出并同时大量计算的服务器进程(如数据库服务器、事务监督程序)很难体现效率。2在引入线程的操作系统中,将进程看作资源集合与线程集合的复合体。进程拥有资源,属于同一个进程的所有线程可以

3、共享这些资源。此外,每个线程仅有较少的私用资源,如程序计数器、寄存器和栈等。每一个线程是一个动态对象,它表示进程中的一条控制线索,执行一系列指令操作,是一个相对独立的、可被调度运行的基本单位。3在进程的地址空间中可以有多个线程,它们可以并发执行,这就需要一张单独的表来记录线程控制与管理等信息,这张表称为线程控制表TCB。其中,每个线程占一项,以记录线程的程序计数器、寄存器的值及状态等信息。程序计数器可以使线程像进程一样被暂停执行和恢复执行,寄存器的值等可以保存线程暂停执行时的CPU状态。4线程由创建而产生,由撤消而消亡,

4、在生命期间,线程可以处于就绪状态、执行状态和阻塞状态三个基本状态中。这三个基本状态也像进程一样,会发生变迁,如就绪状态→执行状态,执行状态→阻塞状态,阻塞状态→就绪状态等。52.5.2线程的类型系统如何感知线程的存在?线程在用户空间还是在系统空间。不同类型的线程有着不同的属性和使用方法,三种主要的线程类型:1.内核线程2.轻量级进程LWP3.用户线程61.内核线程一个内核线程可以独立工作,不需要与一个用户进程联系起来。创建与回收负责共享什么,具有什么?调度与同步?开销与使用资源?运行在系统空间—线程表72.轻量级进程LW

5、P一个轻量级进程LWP是一个内核支持的用户线程,运行在用户空间。内核线程基础上的高层抽象,因此……每个进程可以有一个或多个轻量级进程LWP,用户进程通过轻量级进程LWP与内核通信,每一个轻量级进程LWP都由一个单独的内核线程支持可以被调度并且共享所属进程的地址空间和其它资源8它们可以对I/O设备或其它资源进行系统调用,同时也能在I/O操作或资源访问时被阻塞。除了内核堆栈和寄存器外,轻量级进程LWP也需要维护一些用户状态,主要包括用户寄存器上下文,当轻量级进程LWP被抢占CPU时这些内容必须保存下来,以便保证下次调度运行的

6、正确进行。为了节省系统开销,多个用户进程可以多路复用一个轻量级进程LWP,但是只有连接到轻量级进程LWP的进程,才能与内核通信。9进程、轻量级进程LWP及内核线程关系图103.用户线程用户线程运行在用户空间,内核无需也无法感知它。每个用户线程仅需一个栈和程序计数器PC,切换速度快。当一个用户线程被阻塞时,它在停止之前选择并启动它的后继线程。用户线程的实现是可能的,因为用户线程的上下文可以在没有内核干预的情况下被保存和恢复。每一个用户线程有自己的用户堆栈,一块用来保存用户级寄存器上下文以及如信号屏蔽等状态信息的内存区域。通

7、过保存当前线程的堆栈和寄存器内容,以及装入新调度线程的那些堆栈和寄存器内容,可实现用户线程间的调度和上下文的切换。11内核仍然负责进程的切换,因为只有内核具有修改内存管理寄存器的权力。用户线程不是真正地可以调度的实体,内核没有保留它们的一点信息,内核只是简单地调度它们下面的进程,这些进程再使用库函数来调度它们的线程。当进程被抢占时,它们的线程也被抢占。12普通进程上的用户线程132.5.3线程与进程的比较在引入了线程的操作系统中,一个进程除拥有资源外,还包括一个或多个线程。下面将进程与线程做一比较:1.调度拥有资源的基本

8、单位和独立调度运行的基本单位的变化?线程的调度?142.并发在引入线程的操作系统中,不仅进程之间可以并发执行,而且属于同一个进程的多个线程之间也可以并发执行,因而使系统具有更好的并发性,可以更有效地使用系统资源和提高系统的吞吐量。3.拥有资源无论是传统的操作系统,还是引入线程的操作系统,进程都是拥有资源的一个独立单位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。