湘潭大学操作系统课件第3章课件定稿汇编

上传人:我** 文档编号:116131896 上传时间:2019-11-16 格式:PPT 页数:111 大小:1.99MB
返回 下载 相关 举报
湘潭大学操作系统课件第3章课件定稿汇编_第1页
第1页 / 共111页
湘潭大学操作系统课件第3章课件定稿汇编_第2页
第2页 / 共111页
湘潭大学操作系统课件第3章课件定稿汇编_第3页
第3页 / 共111页
湘潭大学操作系统课件第3章课件定稿汇编_第4页
第4页 / 共111页
湘潭大学操作系统课件第3章课件定稿汇编_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《湘潭大学操作系统课件第3章课件定稿汇编》由会员分享,可在线阅读,更多相关《湘潭大学操作系统课件第3章课件定稿汇编(111页珍藏版)》请在金锄头文库上搜索。

1、第3章 进程与线程 3.1 进程概念 3.2 进程控制 3.3 线程 3.4 互斥和同步 1 3.1 进程概念 3.1.1 程序的顺序执行及其特征 1. 程序的顺序执行 通常可以把一个应用程序分成若干个程序段,各程 序段之间必须按照某种先后次序顺序执行,仅当前一 程序段(操作)执行完后,才能执行后继程序段(操 作)。 2 3.1.1 程序的顺序执行及其特征 1. 程序的顺序执行 3 图 3.1 多道程序的顺序执行 3.1.1 程序的顺序执行及其特征 2. 程序顺序执行的特征 (1)顺序性:处理机的操作严格按照程序所规定的顺序 执行,即每一操作必须在上一个操作结束之后开始。 (2)封闭性:程序是

2、在封闭的环境下执行的,即程序运 行时独占整个系统资源,资源的状态(除初始状态外)只 有本程序可以改变。 (3)可再现性:只要程序执行时的环境和初始条件相同 ,当程序重复执行时,不论它的执行方式如何,是连续执 行,还是“走走停停”的执行,其结果都是相同的。 4 3.1.2 程序的并发执行及其特征 1. 程序的并发执行 为了提高计算机的利用率、处理速度和系统的吞吐量, 并行处理技术和并发程序设计技术在计算机中已经得到了 广泛应用,成为了现代操作系统的基本特征之一。 5 图 3.2 多道程序并发执行 3.1.2 程序的并发执行及其特征 前趋图的引入:前趋图是一个有向无环图( Directed Acy

3、clic Graph, DAG) 考虑具有以下四条语句的一个程序段: S1: a:=x+2; S2: b:=y+4; S3: c:=a+b; S4: d:=c+b; 6 图 3.3 四条语句的前趋图 3.1.2 程序的并发执行及其特征 2. 程序并发执行的特征 (1)间断(异步)性:程序在并发执行时,由于它们共 享系统资源,以及为了完成同一任务而相互合作,致使这 些并发程序之间形成了相互制约的关系。 (2)失去封闭性:程序在并发执行时,多个程序共享系 统中的各种资源,因此,系统资源的状态将由多个程序来 改变,致使程序失去了封闭性。 (3)不可再现性:程序在并发执行时,由于失去了封闭 性,也将导

4、致其失去执行的可再现性。 7 使程序能够并发执行,并能够对并发执行的程序 进行描述和控制 进程 已有的进程定义: 进程是程序的一次执行; 进程是可以和别的计算并发执行的计算; 进程是定义在一个数据结构上,并能够在其上进行操 作的一个程序; 进程是程序在一个数据集合上运行的过程,它是系统 进行资源分配和调度的一个独立单位。 3.1.3 进程的概念及其特征 8 我们将进程定义为: 进程是进程实体的运行过程,是系统进行资源分 配和调度的一个独立单位。 3.1.3 进程的概念及其特征 9 程序和进程之间的区别与联系: 程序是完成特定任务的一组指令的结合,可以永久保 存,具有静态性; 进程是程序在某一数

5、据结构上的一次执行过程,是系 统进行资源分配和调度的基本单位,具有动态性; 一个进程可以包含多个程序,一个程序也可以被多个 进程执行。 3.1.3 进程的概念及其特征 10 1. 两状态模型 包含运行态(Running)和非运行态(Not running)两 种进程状态 创建了一个新进程之后,它会以非运行态加入到系统 中,等到操作系统为其分派处理器 当前处于运行态的进程会不时地中断,由系统中的分 派器选择处于非运行状中的某一个进程运行 3.1.4 进程状态 11 (a) 状态变迁图 3.1.4 进程状态 12 (b) 排队图 3.1.4 进程状态 13 2.五状态模型 包括就绪态(Ready)

6、、运行态(Running)、阻塞态( Blocked)、新建态(New)和终止态(Terminate) 进程状态描述: (1)新建态:刚刚创建的新进程,通常是指进程控制块 已经创建,但还没有加载到系统内存中的进程。 (2)就绪态:进程等待系统为其分派处理器,而此时处 理器被其它进程占据,所以该状态进程不能执行,但已经 具备了除处理器之外的进程执行所需要的所有条件。 3.1.4 进程状态 14 (3)运行态:进程已获得所需资源并占据处理器,处 理器正在执行该进程。 (4)阻塞态:也称为等待态、挂起态或睡眠态,进程 在等待某个事情的发生而暂时不能运行,例如等待某 个I/O操作的完成。 (5)终止态

7、:进程或者因为执行结束或者因为被撤销 而从可执行进程组中退出。 3.1.4 进程状态 15 图3.5 五状态模型 3.1.4 进程状态 16 进程状态间可能的转换及原因有: 新建就绪:系统纳入一个新进程。 就绪运行:进程被调度程序选中,占据处理器而进入运行 状态。 运行终止:进程运行结束或被撤销则退出系统进入终止态 。 运行就绪:进程分配的占据处理器的时间片已经用完,或 者是具有更高优先级的进程进入系统,当前正在运行的进程 被抢占了处理器,此时进程从运行态转换到就绪态。 运行阻塞:进程在等待系统分配资源或者等待某些事件的 发生,进程让出处理器由运行态转入阻塞态。 阻塞就绪:处于阻塞队列中的进程

8、等待的资源可用或者等 待的事件发生之后,进程从阻塞态转换到就绪态,等待处理 器选中它运行。 17 挂起状态的引入 对于内存中的多个进程,处理器依次选中运行, 当一个进程正在等待I/O事件发生时,处理器转移到另 一个进程。但是,处理器的速度比I/O要快很多,有可 能内存中所有进程都在等待I/O事件的完成,导致处理 器处于空闲状态。 引入挂起(Suspend)的概念:内存中没有就绪的进程时 ,系统将内存中处于阻塞的进程换出到外存中的挂起队列,而 将外存中的就绪进程激活,换入到内存 3.1.4 进程状态 18 图3.6 引入挂起的进程状态转换模型 3.1.4 进程状态 19 进程控制块(Proces

9、s control block, PCB)是操作系统 用来记录进程状态和相关信息,控制进程运行的数据 结构,是进程的唯一标识符 在PCB中,主要包含如下的信息: 3.1.5 进程控制块 20 进程标识 符 进程状态 调度信息 程序计数器 上下文数据 内存指针 I/O状态信息 进程控制是进程管理中最基本的功能 在操作系统中,不同功能都是通过执行各种原语( Primitive)操作实现 原语是由若干条指令构成、可完成特定功能的程序段 3.2 进程控制 21 引起进程创建的事件: (1)批处理作业 (2)用户登录 (3)提供服务 (4)进程派生 3.2.1 进程创建 22 创建一个新进程的具体步骤:

10、 (1)系统为新建进程申请一个空白的进程控制块,获 得一个唯一的进程标识符。 (2)系统为新建进程分配运行所需的资源,包括:内 存、处理器时间、I/O设备等。 (3)进程控制块(PCB)初始化。 (4)设置链接,如果就绪队列允许新进程插入,则将 新进程插入就绪队列。 3.2.1 进程创建 23 引起进程终止的事件: (1) 正常完成 (2) 运行超时 (3) 等待超时 (4) 内存不足 (5) 越界错误 (6) 保护错误 (7) 算术错误 3.2.2 进程终止 24 (8) I/O错误 (9) 无效指令 (10)特权指令 (11)操作员或操作系统干涉 (12)父进程请求 (13)父进程终止 终

11、止原语的具体步骤: (1)根据需要终止进程的进程标识符,从PCB集合中 查找对应的进程,从中读出该进程的状态。 (2)若被终止进程正处在执行状态,则应立即终止该 进程的执行,并设置相应的调度信息,用于指示该进 程被终止后应重新进行调度。 (3)将被终止进程所拥有的所有资源归还给其父进程 ,或者归还给系统。 3.2.2 进程终止 25 (3)若被终止进程还拥有子孙进程,则将其所有子孙 进程一并终止。 (4)归还PCB所占据的空间。 3.2.2 进程终止 26 1. 进程阻塞 进程阻塞是指进程在执行过程中因等待某个事件的发 生或等待某个操作的完成而不得不让出处理器。 引起进程阻塞的主要事件有: (

12、1)请求系统服务。 (2)启动某种操作。 (3)新数据尚未到达。 (4)无新工作可做。 3.2.3 进程阻塞和唤醒 27 阻塞原语(Block primitive)的具体步骤: (1)正在执行的进程立即终止执行,把PCB中的进程状态由执 行改为阻塞,并将处理机状态写入PCB中。 (2)将PCB插入阻塞队列中,等到事件的发生或操作的完成。 (3)系统将处理机重新分派给另一就绪进程,按照新进程的 处理机状态更新处理机环境,就绪进程开始执行。 (4)当被阻塞进程等待的事件发生或者等待的操作完成时, 则操作系统会通过唤醒原语将等待该事件的进程唤醒。 3.2.3 进程阻塞和唤醒 28 阻塞 3.2.3

13、进程阻塞和唤醒 29 执行态阻塞态 阻塞队列 Px Px Px Pz Py 就绪队列 调度程序 执行态Py 阻塞事件 2. 进程唤醒 当被阻塞进程等待的事件发生,如等待的I/O操作已完 成,或者等待的操作完成时,则操作系统会通过唤醒 原语将等待该事件的进程唤醒。 唤醒原语(Wakeup primitive)的具体步骤: (1)根据进程标识符从等待该事件的阻塞队列中找到 需要唤醒的进程PCB。 (2)将PCB中的进程状态阻塞改成就绪,并将该进程 插入到就绪队列中。 3.2.3 进程阻塞和唤醒 30 唤醒 3.2.3 进程阻塞和唤醒 阻塞队列 Px Pz 将PCB由现行 的阻塞态改为 就绪态 就绪

14、队列 Px Px Pa Pb 1. 进程挂起 当系统中出现了引起挂起的事件,如内存资源不足时 ,操作系统将利用挂起原语将处于阻塞状态的进程挂 起。 挂起原语(Suspend primitive)的具体步骤: (1)根据进程标示符,在PCB集合中找到需要挂起的 进程。 (2)检查挂起进程的状态。 3.2.4 进程挂起和激活 32 2. 进程激活 激活,对应于挂起,是让被挂起的进程重新活跃起来 ,也就是把进程从外存调入到内存中。当系统中出现 了引起激活的事件时,操作系统会利用激活原语将挂 起进程激活。 激活原语(Active primitive)的具体步骤: (1)根据进程标示符,在PCB集合中找

15、到需要激活的 进程。 (2)检查激活进程的状态。 3.2.4 进程挂起和激活 33 早期的计算机操作系统中,进程既是资源分配的基本 单位,又是调度的基本单位 操作系统发展至今,进程在调度中会存在许多问题, 增加了调度的难度和开销 例如:现代操作系统很重要的一方面是进程的并发执 行,然而进程的并发执行使得进程调度的开销日益增 大,系统效率明显降低 3.3 线 程 34 进程包含两方面的特点: (1)资源所有权,进程是一个可拥有资源的独立单位 。 (2)调度,进程同时又是一个可独立调度和分派的基 本单位。一个进程沿着通过一个或多个程序的一条执 行路径执行。执行中可能与其它进程的执行过程交替 进行,

16、所以,一个进程具有一个执行状态和一个分派 的优先级,同时又是一个能被操作系统调度和分派的 实体。 3.3.1 线程简介 35 在操作系统中引入进程的目的,是为了使多个程序能 并发执行,以提高资源利用率和系统吞吐量。 在操作系统中再引入线程,则是为了减少程序在并发 执行时所付出的时空开销,使操作系统具有更好的并 发性。 通常把调度和分派的基本单位称做线程或轻量级进程 (Light weight process, LWP),而把资源分配的基本单 位称做进程或者任务。 3.3.1 线程简介 36 1.多线程概念 进程在任一时刻只有一个执行控制流,通常将这种结构的 进程称为单线程进程(Single threaded process)。 多线程进程(Multiple threaded process)同一进程中设 计出多条控制流,并且满足: (1)多控制流之间可以并行执行; (2)多控制流切换不需通过进程调度; (3)多控制流之间可以通过内存直接通信联系,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号