第3章 进程与进程管理_第1页
第3章 进程与进程管理_第2页
第3章 进程与进程管理_第3页
第3章 进程与进程管理_第4页
第3章 进程与进程管理_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统操作系统 第三章第三章 进程进程 与进程管理与进程管理 第三章 进程与进程管理 3-1 3-1 进程的引入进程的引入 3-2 3-2 进程进程 3-3 3-3 进程调度进程调度 3-4 3-4 线程的基本概念线程的基本概念 3-5 Linux3-5 Linux的进程与进程管理的进程与进程管理 3.1 进程的引入 3-1-13-1-1前趋图的定义前趋图的定义 前趋图(前趋图(ProcedenceProcedence Graph Graph)是一个有向无循环图)是一个有向无循环图 (DAGDAG)。图中的每个结点可用于表示一条语句、一个程序段)。图中的每个结点可用于表示一条语句、一个程序段

2、 或进程;结点间的有向边则表示在两结点之间存在的偏序或前或进程;结点间的有向边则表示在两结点之间存在的偏序或前 趋关系趋关系“”,=(P=(Pi i,P Pj j)| P)| Pi i必须在必须在P Pj j开始前完成开始前完成 。 3.1 进程的引入 3-1-2 3-1-2 程序顺序执行程序顺序执行 定义定义 程序在执行时,必须按照某种先后次序逐个执行,仅当前程序在执行时,必须按照某种先后次序逐个执行,仅当前 一操作执行完后,才能执行后继操作。一操作执行完后,才能执行后继操作。 程序顺序执行的特征程序顺序执行的特征 程序执行的顺序性程序执行的顺序性 处理机的操作严格按程序规定的顺序执行,即只

3、有前一处理机的操作严格按程序规定的顺序执行,即只有前一 操作结束后才能执行后继操作操作结束后才能执行后继操作 。 程序执行的封闭性程序执行的封闭性 程序一旦开始运行,其执行结果不受外界因素的影响。程序一旦开始运行,其执行结果不受外界因素的影响。 3.1 进程的引入 程序执行结果的确定性程序执行结果的确定性 程序执行的结果与它的执行速度、时间无关。程序执行的结果与它的执行速度、时间无关。 程序结果的可再现性程序结果的可再现性 程序执行时的环境和初始条件相同,当程序多次重复程序执行时的环境和初始条件相同,当程序多次重复 执行时,都将获得相同的结果。执行时,都将获得相同的结果。 3-1-3 3-1-

4、3 程序并发执行程序并发执行 定义定义 图中对一个作业的输入、图中对一个作业的输入、 计算和打印三个操作必须计算和打印三个操作必须 顺序执行,但并不存在顺序执行,但并不存在P Pi iI Ii+1 i+1 关系,因而在对几批数据进行处理时,可使它们并发执行关系,因而在对几批数据进行处理时,可使它们并发执行 3.1 进程的引入 程序并发执行特征程序并发执行特征 程序执行的间断性程序执行的间断性 程序执行的相互制约将导致并发程序具有程序执行的相互制约将导致并发程序具有“执执 行行暂停执行暂停执行执行执行”这种间断性的活动规律这种间断性的活动规律 程序执行失去封闭性程序执行失去封闭性 因多个程序共享

5、系统中的资源,所以某程序在因多个程序共享系统中的资源,所以某程序在 执行时必然会受到其他程序的影响执行时必然会受到其他程序的影响 程序执行结果的不可再现性程序执行结果的不可再现性 由于失去了封闭性,也将导致失去其可再现性由于失去了封闭性,也将导致失去其可再现性 3.1 进程的引入 例如例如, ,共享变量共享变量n n a=n; b=n; a=n; b=n; a+; b+; a+; b+; n=a; n=b; n=a; n=b; 程序和计算不再一一对应程序和计算不再一一对应 程序和计算是两个不同的概念,在程序并发执程序和计算是两个不同的概念,在程序并发执 行中一个共享程序可对应多个行中一个共享程

6、序可对应多个“计算计算”,程序与,程序与“计计 算算”已不再一一对应已不再一一对应 . . 3.1 进程的引入 3-1-4 3-1-4 多道程序设计多道程序设计 定义定义 在采用多道程序设计的计算机系统中,允许多个程序同时在采用多道程序设计的计算机系统中,允许多个程序同时 进入一个计算机系统的主存储器并运行,这种让多个程序同时进入一个计算机系统的主存储器并运行,这种让多个程序同时 进入计算机计算的方法称为多道程序设计。进入计算机计算的方法称为多道程序设计。 目的目的 提高处理器的效率,从而提高整个系统的效率提高处理器的效率,从而提高整个系统的效率 必须解决的问题必须解决的问题 存储保护与程序浮

7、动存储保护与程序浮动 处理器的管理和调度处理器的管理和调度 系统资源的管理和调度系统资源的管理和调度 3.2 进程 3-2-1 3-2-1 引入进程的原因引入进程的原因 为了使程序在多道程序环境下能够并发执行,并对并发执为了使程序在多道程序环境下能够并发执行,并对并发执 行的程序加以控制和描述,引入进程的概念行的程序加以控制和描述,引入进程的概念. . 程序段、数据段及进程控制块三部分构成了一个进程的实程序段、数据段及进程控制块三部分构成了一个进程的实 体体 . . 3-2-2 3-2-2 进程的概念进程的概念 进程的定义进程的定义 进程是具有独立功能的可并发执行的程序在一个数据集进程是具有独

8、立功能的可并发执行的程序在一个数据集 合上的运行过程,是系统进行资源分配和调度的独立单位合上的运行过程,是系统进行资源分配和调度的独立单位”。 或者说,或者说,“进程进程”是进程实体的运行过程。是进程实体的运行过程。 3.2 进程 程序与进程的区别与联系程序与进程的区别与联系 进程是程序的一次执行,是一个动态的概念,程序是进程是程序的一次执行,是一个动态的概念,程序是 完成某个特定功能的指令的有序序列,是一个静态的概念完成某个特定功能的指令的有序序列,是一个静态的概念; ; 一个进程可以执行一个或几个程序,同一程序也可能一个进程可以执行一个或几个程序,同一程序也可能 由多个进程同时执行由多个进

9、程同时执行 进程是系统进行资源分配和调度的一个独立单位,程进程是系统进行资源分配和调度的一个独立单位,程 序则不是序则不是 程序可以作为一种软件资源长期保存,而进程是程序程序可以作为一种软件资源长期保存,而进程是程序 的一次执行过程,它是临时的,有生命期的的一次执行过程,它是临时的,有生命期的 进程是具有结构的进程是具有结构的 3.2 进程 进程的特征进程的特征 _ _ 动态性动态性 进程最基本的特性进程最基本的特性 _ _ 并发性并发性 进程的重要特征进程的重要特征 _ _ 独立性独立性 _ _ 异步性异步性 _ _ 结构特征结构特征 3.2.2 3.2.2 进程的基本状态及其转换进程的基本

10、状态及其转换 进程的三种基本状态进程的三种基本状态 就绪状态就绪状态 当进程已分配到除当进程已分配到除CPUCPU以外的所有必要的资源后,只要能以外的所有必要的资源后,只要能 再获得处理机便可立即执行,这时的状态称为就绪状态再获得处理机便可立即执行,这时的状态称为就绪状态 3.2 进程 执行状态执行状态 指进程已获得处理机,其程序正在执行指进程已获得处理机,其程序正在执行 阻塞状态阻塞状态 进程因发生某种事件(如进程因发生某种事件(如I/OI/O请求、申请缓冲空间等)请求、申请缓冲空间等) 而暂停执行时的状态,亦即进程的执行受到阻塞,故称这而暂停执行时的状态,亦即进程的执行受到阻塞,故称这 种

11、状态为阻塞状态,有时也称为种状态为阻塞状态,有时也称为“等待等待”状态或状态或“睡眠睡眠” 状态。状态。 进程状态的转换进程状态的转换 就绪就绪执行状态执行状态 处于就绪状态的进程,当进程调度为之分配了处理机处于就绪状态的进程,当进程调度为之分配了处理机 后后 3.2 进程 执行执行阻塞状态阻塞状态 正在执行的进程因发生某种事件而无法执行正在执行的进程因发生某种事件而无法执行 执行执行就绪状态就绪状态 正在执行的进程如因时间片用完或一个优先权高的进程到正在执行的进程如因时间片用完或一个优先权高的进程到 来而被暂停执行来而被暂停执行 阻塞阻塞就绪状态就绪状态 处于阻塞状态的进程,其等待的事件已经

12、发生处于阻塞状态的进程,其等待的事件已经发生 3.2 进程 进程的挂起状态进程的挂起状态 挂起状态的引入挂起状态的引入 终端用户的需要终端用户的需要 父进程的需要父进程的需要 操作系统的需要操作系统的需要 对换的需要对换的需要 负荷调节的需要负荷调节的需要 进程状态的转换进程状态的转换 活动就绪活动就绪静止就绪静止就绪 活动阻塞活动阻塞静止阻塞静止阻塞 静止就绪静止就绪活动就绪活动就绪 静止阻塞静止阻塞活动阻塞活动阻塞 3.2 进程 3.2 进程 3-2-3 3-2-3 进程控制块进程控制块PCBPCB 进程控制块的作用进程控制块的作用 进程控制块的作用是使一个在多道程序环境进程控制块的作用是

13、使一个在多道程序环境 下不能独立运行的程序(含数据)成为一个能独立下不能独立运行的程序(含数据)成为一个能独立 运行的基本单位,一个能与其它进程并发执行的进运行的基本单位,一个能与其它进程并发执行的进 程程 操作系统是根据进程控制块操作系统是根据进程控制块PCBPCB来对并发执行来对并发执行 的进程进行控制和管理的的进程进行控制和管理的 PCBPCB是进程存在的唯一标志是进程存在的唯一标志 3.2 进程 进程控制块中的信息进程控制块中的信息 进程标识符信息进程标识符信息 进程标识符用于唯一地标识一个进程,通常有外部标识进程标识符用于唯一地标识一个进程,通常有外部标识 符和内部标识符符和内部标识

14、符 处理机状态信息处理机状态信息 处理机状态信息主要是由处理机各种寄存器中的内容所处理机状态信息主要是由处理机各种寄存器中的内容所 组成组成 进程调度信息进程调度信息 存放了一些与进程调度和进程对换有关的信息存放了一些与进程调度和进程对换有关的信息 进程控制信息进程控制信息 3.2 进程 PCB PCB的组织方式的组织方式 - - 链接方式链接方式 思考:如何申请一个进程思考:如何申请一个进程PCBPCB,算法怎么写?,算法怎么写? 练习 进程控制块区域:进程控制块区域: struct pcbdata data; /pcb中其他信息中其他信息 int next; /指向下一个指向下一个pcb

15、pcbarean; 写出:写出: 进程控制块区域初始化;进程控制块区域初始化; pcb队列中出队和入队操作;队列中出队和入队操作; 3.2 进程 - - 索引方式索引方式 3.2 进程 3-2-4 3-2-4 进程控制进程控制 进程控制的主要任务是创建和撤消进程以及实现进程的状进程控制的主要任务是创建和撤消进程以及实现进程的状 态转换态转换 操作系统内核操作系统内核 定义定义 通常,将一些与硬件紧密相关的模块诸如中断处理程序、通常,将一些与硬件紧密相关的模块诸如中断处理程序、 各种常用设备的驱动程序以及运行频率较高的模块(诸如时钟各种常用设备的驱动程序以及运行频率较高的模块(诸如时钟 管理、进

16、程调度以及许多模块公用的一些基本操作)都安排在管理、进程调度以及许多模块公用的一些基本操作)都安排在 紧靠硬件的软件层次中并使它们常驻内存,以便提高操作系统紧靠硬件的软件层次中并使它们常驻内存,以便提高操作系统 的运行效率,并对它们加以特殊的保护,把这一部分称为操作的运行效率,并对它们加以特殊的保护,把这一部分称为操作 系统的内核系统的内核 操作系统内核的功能操作系统内核的功能 中断处理、进程管理、资源管理中的基本操作中断处理、进程管理、资源管理中的基本操作 3.2 进程 原子操作原子操作 所谓原子操作是指:一个操作中的所有动作,要么全做,所谓原子操作是指:一个操作中的所有动作,要么全做, 要

17、么全不做。换言之,原子操作是一个不可分割的操作要么全不做。换言之,原子操作是一个不可分割的操作 进程的创建进程的创建 进程图进程图 进程图是用于描述进程家族关系的树进程图是用于描述进程家族关系的树 子进程可以继承父进程所拥有的子进程可以继承父进程所拥有的 资源,当子进程撤销时,应将从父进程资源,当子进程撤销时,应将从父进程 那里获得的资源归还给父进程;在撤销那里获得的资源归还给父进程;在撤销 父进程时,也必须同时撤销其所有的子父进程时,也必须同时撤销其所有的子 进程进程 3.2 进程 引起创建进程的事件引起创建进程的事件 用户登录、作业调度、提供服务、应用请求用户登录、作业调度、提供服务、应用

18、请求 进程的创建过程进程的创建过程 调用进程创建原语调用进程创建原语create( )create( )创建进程创建进程 申请空白申请空白PCB PCB 为新进程分配资源为新进程分配资源 初始化进程控制块初始化进程控制块 将新进程插入就绪队列将新进程插入就绪队列 假如采用的是抢占调度策略假如采用的是抢占调度策略 ,检查是否要进行进程调度,检查是否要进行进程调度 进程的终止进程的终止 引起进程终止的事件引起进程终止的事件 正常结束、异常结束、外界干预正常结束、异常结束、外界干预 3.2 进程 进程的终止过程进程的终止过程 调用进程终止原语调用进程终止原语destroy( )destroy( )终

19、止进程终止进程 根据被终止进程的标识符从根据被终止进程的标识符从PCBPCB集合中检索出集合中检索出 该进程的该进程的PCBPCB,从中读出该进程的状态,从中读出该进程的状态 若被终止进程正处于执行状态,应立即终止若被终止进程正处于执行状态,应立即终止 该进程的执行并设置调度标志为真该进程的执行并设置调度标志为真 若该进程还有子孙进程,还应将其所有子孙若该进程还有子孙进程,还应将其所有子孙 进程予以终止进程予以终止 将该进程所拥有的全部资源,或者归还其父将该进程所拥有的全部资源,或者归还其父 进程或者归还给系统进程或者归还给系统 撤销进程控制块撤销进程控制块 3.2 进程 进程的阻塞与唤醒进程

20、的阻塞与唤醒 引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 请求系统服务、启动某种操作、新数据尚未到达、请求系统服务、启动某种操作、新数据尚未到达、 无新工作可作无新工作可作 进程阻塞过程进程阻塞过程 进程便通过调用阻塞原语进程便通过调用阻塞原语blockblock()把自己阻塞()把自己阻塞 立即停止当前进程的执行立即停止当前进程的执行 把进程控制块中的现行状态由把进程控制块中的现行状态由“执行执行”改为改为 “阻塞阻塞”,并把它插入到阻塞队列,并把它插入到阻塞队列 转向调度程序转向调度程序 3.2 进程 进程唤醒过程进程唤醒过程 调用唤醒原语调用唤醒原语wakeup( )wakeup(

21、 )将等待该事件的进程唤醒将等待该事件的进程唤醒 - - 把被阻塞进程从等待该事件的阻塞队列中移出把被阻塞进程从等待该事件的阻塞队列中移出 - - 将其将其PCBPCB中的现行状态由中的现行状态由“阻塞阻塞”改为改为“就绪就绪” - - 然后再将该进程插入到就绪队列中然后再将该进程插入到就绪队列中 - - 假如采用的是抢占调度策略假如采用的是抢占调度策略 ,检查是否要进行进程调,检查是否要进行进程调 度度 进程的挂起与激活进程的挂起与激活 进程的挂起过程进程的挂起过程 当出现了引起进程挂起的事件时,系统就利用挂起原语当出现了引起进程挂起的事件时,系统就利用挂起原语 suspend( )susp

22、end( )将指定进程或处于阻塞状态的进程挂起将指定进程或处于阻塞状态的进程挂起 检查被挂起进程的状态,若正处于活动就绪状态,便将检查被挂起进程的状态,若正处于活动就绪状态,便将 其改为静止就绪;对于活动阻塞状态的进程,则将其改为静止其改为静止就绪;对于活动阻塞状态的进程,则将其改为静止 阻塞阻塞 3.2 进程 如需要则进程调入外存如需要则进程调入外存 如被挂起的进程正在执行,则转调度程序重新调度如被挂起的进程正在执行,则转调度程序重新调度 进程的激活过程进程的激活过程 当发生激活进程的事件时系统将利用激活原语当发生激活进程的事件时系统将利用激活原语active( )active( ) 将指定

23、进程激活将指定进程激活 若进程在外存,则将进程从外存调入内存若进程在外存,则将进程从外存调入内存 检查该进程的现行状态:若是静止就绪,便将其改为活检查该进程的现行状态:若是静止就绪,便将其改为活 动就绪;若为静止阻塞,便将其改为活动阻塞动就绪;若为静止阻塞,便将其改为活动阻塞 假如采用的是抢占调度策略假如采用的是抢占调度策略 ,检查是否要进行重新进,检查是否要进行重新进 程调度程调度 3.3 进程调度 3-3-1 3-3-1 调度的基本概念调度的基本概念 高级、中级和低级调度高级、中级和低级调度 一个作业从提交开始直到完成,往往要经历三级调度一个作业从提交开始直到完成,往往要经历三级调度 高级

24、调度高级调度 高级调度又称为作业调度,它决定将哪些在外存上处于高级调度又称为作业调度,它决定将哪些在外存上处于 后备状态的作业调入主机内存,准备执行后备状态的作业调入主机内存,准备执行 低级调度低级调度 低级调度又称为进程调度。它决定就绪队列中哪个进程低级调度又称为进程调度。它决定就绪队列中哪个进程 将获得处理机,并实际执行将处理机分配给该进程的操作将获得处理机,并实际执行将处理机分配给该进程的操作 中级调度中级调度 在有的系统中,可能增加一中级调度,主要作用是在内在有的系统中,可能增加一中级调度,主要作用是在内 存和外存对换区之间进行进程对换,以解决内存紧张问题存和外存对换区之间进行进程对换

25、,以解决内存紧张问题 3.3 进程调度 进程调度的功能进程调度的功能 进程调度就是系统按照某种算法把进程调度就是系统按照某种算法把CPUCPU动态地分配给某一动态地分配给某一 就绪进程。进程调度工作是通过进程调度程序来完成的。就绪进程。进程调度工作是通过进程调度程序来完成的。 进程调度程序的主要功能进程调度程序的主要功能 选择占有处理机的进程选择占有处理机的进程 进行进程上下文的切换进行进程上下文的切换 调度方式调度方式 非剥夺方式非剥夺方式 该方式规定,分派程序一旦把处理机分配给某进程后便该方式规定,分派程序一旦把处理机分配给某进程后便 让它一直运行下去,直到进程完成或发生某事件(如提出让它

26、一直运行下去,直到进程完成或发生某事件(如提出I/OI/O 请求)而阻塞时才把处理机分配给另一进程请求)而阻塞时才把处理机分配给另一进程 优点:简单,系统开销小,貌似公正优点:简单,系统开销小,貌似公正 缺点:可能导致系统性能的恶化缺点:可能导致系统性能的恶化 3.3 进程调度 剥夺方式剥夺方式 该方式规定,当一个进程正在运行时,系统可以基于某该方式规定,当一个进程正在运行时,系统可以基于某 种原则,剥夺已分配给它的处理机,将之分配给其它进程种原则,剥夺已分配给它的处理机,将之分配给其它进程 剥夺原则:优先权原则、时间片原则剥夺原则:优先权原则、时间片原则 3-3-2 3-3-2 进程调度算法

27、进程调度算法 先进先出算法先进先出算法 算法:把处理机分配给最先进入就绪队列的进程算法:把处理机分配给最先进入就绪队列的进程 优点:易于实现、表面上公平优点:易于实现、表面上公平 缺点:服务质量不佳缺点:服务质量不佳 、对短进程不利、对短进程不利 3.3 进程调度 最短处理机执行期优先调度算法最短处理机执行期优先调度算法 算法:从就绪队列中选出算法:从就绪队列中选出“下一个处理机执行期下一个处理机执行期”最短最短 的进程,为之分配处理机使之执行的进程,为之分配处理机使之执行 优点:可获得较好的调度性能优点:可获得较好的调度性能 缺点:缺点: 进程的处理机执行期难以准确得到、对长进程进程的处理机

28、执行期难以准确得到、对长进程 不利,未考虑等待时间不利,未考虑等待时间 最高响应比优先调度算法最高响应比优先调度算法 算法:算法:响应比响应比= =(等待时间(等待时间+ +要求的服务时间)要求的服务时间)/ /要求的要求的 服务时间服务时间 ,每次选取响应比最高的进程调度,每次选取响应比最高的进程调度 优点:优点:对短进程有利对短进程有利,并且考虑了等待时间,并且考虑了等待时间 缺点:计算响应比有一定的系统开销,要求服务时间缺点:计算响应比有一定的系统开销,要求服务时间 难以准确估计难以准确估计 3.3 进程调度 优先级调度算法优先级调度算法 算法:将处理机分配给就绪队列中优先级最高的进程算

29、法:将处理机分配给就绪队列中优先级最高的进程 优先级优先级 静态优先级静态优先级 再进程创建时确立,确定后运行期间保持不变。确立依据再进程创建时确立,确定后运行期间保持不变。确立依据 有:进程的类型、进程对资源的需求、用户申请的优先级有:进程的类型、进程对资源的需求、用户申请的优先级 优点:简单优点:简单 缺点:不能动态反映进程特点,系统调度性能差缺点:不能动态反映进程特点,系统调度性能差 动态优先级动态优先级 进程在开始创建时,根据某种原则确定一个优先级后,进程在开始创建时,根据某种原则确定一个优先级后, 随着进程执行时间的变化,其优先级不断地进行动态调整随着进程执行时间的变化,其优先级不断

30、地进行动态调整 确定依据:根据进程占有的确定依据:根据进程占有的CPUCPU时间的长短来决定,占有时间的长短来决定,占有 时间越长优先级越低;根据进程等待时间越长优先级越低;根据进程等待CPUCPU的时间来决定,时间的时间来决定,时间 越长优先级越高越长优先级越高. . 3.3 进程调度 时间片轮转调度算法时间片轮转调度算法 算法:采用算法:采用FIFOFIFO原则依次就绪队列中进程,使就绪进程原则依次就绪队列中进程,使就绪进程 依次获得一个时间片的运行时间依次获得一个时间片的运行时间 时间片长短确定遵循原则时间片长短确定遵循原则 既要保证系统各个用户进程及时地得到响应,又不要由既要保证系统各

31、个用户进程及时地得到响应,又不要由 于时间片太短而增加调度的开销,降低系统的效率于时间片太短而增加调度的开销,降低系统的效率 进程依次执行时可能发生的三种情况进程依次执行时可能发生的三种情况 进程未用完一个时间片便结束,这时系统应提前进行调进程未用完一个时间片便结束,这时系统应提前进行调 度度 进程在执行过程中提出进程在执行过程中提出I/OI/O请求而阻塞,系统应将它放请求而阻塞,系统应将它放 入相应的阻塞队列并引起调度入相应的阻塞队列并引起调度 3.3 进程调度 进程用完一个时间片后尚未完成。系统应将它重新放到就进程用完一个时间片后尚未完成。系统应将它重新放到就 绪队列的末尾,等待下次执行绪

32、队列的末尾,等待下次执行 前后台调度算法前后台调度算法 算法:该方法用在批处理和分时相结合的系统中。将分算法:该方法用在批处理和分时相结合的系统中。将分 时用户作业放在前台,把批处理作业放在后台。系统对前台时用户作业放在前台,把批处理作业放在后台。系统对前台 作业按照时间片轮转法进行调度,仅当前台无作业时,才把作业按照时间片轮转法进行调度,仅当前台无作业时,才把 处理机分配给后台作业的进程。后台进程通常按先来先服务处理机分配给后台作业的进程。后台进程通常按先来先服务 方式运行方式运行 优点:使分时用户进程得到及时响应,又提高了系统资优点:使分时用户进程得到及时响应,又提高了系统资 源的利用率源

33、的利用率 3.3 进程调度 多级反馈队列轮转算法多级反馈队列轮转算法 算法算法 系统设置多个不同优先级的就绪队列,刚创建的进程系统设置多个不同优先级的就绪队列,刚创建的进程 处于最高优先级的就绪队列;处于最高优先级的就绪队列; 每次调度总是先调度优先级高的队列,仅当该队列空每次调度总是先调度优先级高的队列,仅当该队列空 时,才调度次高优先级队列,采用时间片轮转调度算法;时,才调度次高优先级队列,采用时间片轮转调度算法; 每个进程在一就绪队列中用完规定的时间片数量后,每个进程在一就绪队列中用完规定的时间片数量后, 进入低一级优先级就绪队列进入低一级优先级就绪队列 低优先级就绪队列时间片大于高优先

34、级就绪队列时间低优先级就绪队列时间片大于高优先级就绪队列时间 片,最低优先级队列调度算法采用先来先服务策略片,最低优先级队列调度算法采用先来先服务策略 3.3 进程调度 优点:优点: 能较好地满足各类进能较好地满足各类进 程的用户要求,既照顾程的用户要求,既照顾 了短进程又考虑了长进了短进程又考虑了长进 程程 在分时和批处理共存在分时和批处理共存 时,批处理作业进程就时,批处理作业进程就 绪后进入低优先级就绪绪后进入低优先级就绪 队列,此算法既照顾了队列,此算法既照顾了 分时进程也兼顾了批处分时进程也兼顾了批处 理作业进程理作业进程 3.3 进程调度 3-3-3 3-3-3 进程调度的时机和过

35、程进程调度的时机和过程 进程调度的时机进程调度的时机 正在执行的进程运行完毕正在执行的进程运行完毕 正在执行的进程调用阻塞原语将自己阻塞起来进入等正在执行的进程调用阻塞原语将自己阻塞起来进入等 待状态待状态 在采用抢占式优先级调度时,有优先级高于正在运行在采用抢占式优先级调度时,有优先级高于正在运行 进程的进程进入就绪队列进程的进程进入就绪队列 在分时系统中时间片已经用完在分时系统中时间片已经用完 3.4 线程的基本概念 3-4-1 3-4-1 线程的引入线程的引入 为了减少程序并发执行时所付出的时空开销,使操作系为了减少程序并发执行时所付出的时空开销,使操作系 统具有更好的并发性统具有更好的

36、并发性 3-4-2 3-4-2 线程的定义和属性线程的定义和属性 线程的定义线程的定义 - - 在引入线程的操作系统中,线程是进程的一个实体,是在引入线程的操作系统中,线程是进程的一个实体,是 被系统独立调度和分派的基本单位。被系统独立调度和分派的基本单位。 - - 线程自己基本上不拥有系统资源,只拥有一点在运行中线程自己基本上不拥有系统资源,只拥有一点在运行中 必不可少的资源(如程序计数器、一组寄存器和栈),但它必不可少的资源(如程序计数器、一组寄存器和栈),但它 可与同属一个进程的其他线程共享进程所拥有的全部资源。可与同属一个进程的其他线程共享进程所拥有的全部资源。 - - 一个线程可以创

37、建和撤销另一个线程;同一进程中的多一个线程可以创建和撤销另一个线程;同一进程中的多 个线程之间可以并发执行个线程之间可以并发执行 3.4 线程 线程的属性线程的属性 线程的状态线程的状态 由于线程之间的相互制约,致使线程在运行中也呈由于线程之间的相互制约,致使线程在运行中也呈 现出间断性。相应地,线程也同样有就绪、阻塞和执行三现出间断性。相应地,线程也同样有就绪、阻塞和执行三 种基本状态种基本状态 线程的属性线程的属性 每个线程有一个惟一的标识符和一张线程描述表,每个线程有一个惟一的标识符和一张线程描述表, 线程描述表记录了线程执行的寄存器和栈等现场状态线程描述表记录了线程执行的寄存器和栈等现

38、场状态 不同的线程可以执行相同的程序不同的线程可以执行相同的程序 同一进程中的各个线程共享该进程的内存地址空间同一进程中的各个线程共享该进程的内存地址空间 线程是处理器的独立调度单位,多个线程是可以并线程是处理器的独立调度单位,多个线程是可以并 发执行的发执行的 一个线程被创建后便开始了它的生命周期,直至终一个线程被创建后便开始了它的生命周期,直至终 止,线程在生命周期内会经历等待状态、就绪态和运行态止,线程在生命周期内会经历等待状态、就绪态和运行态 等各种状态变化等各种状态变化 3.4 线程 n引入线程的好处引入线程的好处 创建一个新线程花费时间少(结束亦如此)创建一个新线程花费时间少(结束

39、亦如此) 两个线程的切换花费时间少两个线程的切换花费时间少 由于同一进程内的线程共享内存和文件,线程之间由于同一进程内的线程共享内存和文件,线程之间 相互通信无须调用内核,故不需要额外的通信机制,使通相互通信无须调用内核,故不需要额外的通信机制,使通 信更简便,信息传送速度也快信更简便,信息传送速度也快 线程能独立执行,能充分利用和发挥处理器与外围线程能独立执行,能充分利用和发挥处理器与外围 设备并行工作能力设备并行工作能力 3.4 线程 3-3-3 3-3-3 线程与进程的比较线程与进程的比较 线程具有许多传统进程所具有的特征,故又称为轻型进线程具有许多传统进程所具有的特征,故又称为轻型进 程(程(Light-Weight ProcessLight-Weight Process)或进程元;而把传统的进程称)或进程元;而把传统的进程称 为重型进程(为重型进程(Heavy-Weight ProcessHeavy-Weight Process) 调度调度 在引入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论