操作系统教程课件:第二章处理器管理

上传人:努力****83 文档编号:190470295 上传时间:2023-02-27 格式:PPT 页数:144 大小:793.50KB
收藏 版权申诉 举报 下载
操作系统教程课件:第二章处理器管理_第1页
第1页 / 共144页
操作系统教程课件:第二章处理器管理_第2页
第2页 / 共144页
操作系统教程课件:第二章处理器管理_第3页
第3页 / 共144页
资源描述:

《操作系统教程课件:第二章处理器管理》由会员分享,可在线阅读,更多相关《操作系统教程课件:第二章处理器管理(144页珍藏版)》请在装配图网上搜索。

1、机械工业出版社操作系统教程课件 第1页第二章第二章 处理器管理处理器管理2.1 程序的顺序执行和并发执行程序的顺序执行和并发执行2.2 进程的概念进程的概念 2.3 进程控制进程控制2.4 进程调度进程调度2.5 线程线程2.6 进程互斥进程互斥 2.7 进程同步进程同步2.8管程管程2.9 进程通信进程通信 2.10 死锁死锁2.11本章小结本章小结机械工业出版社操作系统教程课件 第2页2.1 程序的顺序执行和并发执行程序的顺序执行和并发执行n2.1.1 程序的顺序执行程序的顺序执行n2.1.2 程序的并发执行程序的并发执行机械工业出版社操作系统教程课件 第3页2.1.1 程序的顺序执行程序

2、的顺序执行n 程序是指令的有序集合,是一个在时间上按严程序是指令的有序集合,是一个在时间上按严格次序前后相继的操作序列,仅当前一操作执行完格次序前后相继的操作序列,仅当前一操作执行完后,才能执行后继操作,它是一个静态的概念。显后,才能执行后继操作,它是一个静态的概念。显然,一个程序只有经过执行才能得到最终结果,且然,一个程序只有经过执行才能得到最终结果,且一般用户在编写程序时不考虑在自己的程序执行过一般用户在编写程序时不考虑在自己的程序执行过程中还有其它用户程序存在这一事实。程中还有其它用户程序存在这一事实。n 例如,在进行计算工作时,总是首先输入用户例如,在进行计算工作时,总是首先输入用户的

3、数据,然后进行计算,最后将所得的结果打印出的数据,然后进行计算,最后将所得的结果打印出来。显然,输入、计算、打印这三个程序段的执行来。显然,输入、计算、打印这三个程序段的执行只能是一个一个地顺序执行,若用结点代表各个程只能是一个一个地顺序执行,若用结点代表各个程序段的操作,用序段的操作,用I代表输入操作,代表输入操作,C代表计算操作,代表计算操作,P代表打印操作,箭头表示程序段执行的先后次序。代表打印操作,箭头表示程序段执行的先后次序。上述程序段的执行过程如上述程序段的执行过程如图图2-1所示。所示。机械工业出版社操作系统教程课件 第4页2.1.1 程序的顺序执行程序的顺序执行机械工业出版社操

4、作系统教程课件 第5页n 因此,一个程序由若干个程序段组成,而这些程序段因此,一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这个程序被称为顺序程序。的执行必须是顺序的,这个程序被称为顺序程序。n 程序的顺序执行具有如下特点:程序的顺序执行具有如下特点:n (1)顺序性)顺序性n 处理器的操作,严格按照程序规定的顺序执行。处理器的操作,严格按照程序规定的顺序执行。n (2)封闭性)封闭性n 程序在运行时,它独占整个计算机的资源,程序一旦程序在运行时,它独占整个计算机的资源,程序一旦开始运行,其执行结果不受外界因素的影响。开始运行,其执行结果不受外界因素的影响。n (3)可再现性)可

5、再现性n 程序执行的结果与它的执行速度无关(即与时间无程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关。关),而只与初始条件有关。2.1.1 程序的顺序执行程序的顺序执行机械工业出版社操作系统教程课件 第6页2.1.2 程序的并发执行程序的并发执行 n 并发执行是为了增强计算机系统的处理能力和提高资源利用率所并发执行是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行可进一步分为两种:采取的一种同时操作技术。程序的并发执行可进一步分为两种:n 第一种是多道程序系统的程序执行环境的变化所引起的多道程序第一种是多道程序系统的程序执行环境的变化所

6、引起的多道程序的并发执行。的并发执行。如如图图2-2所示。所示。机械工业出版社操作系统教程课件 第7页n 第二种并发执行是在某道程序的几个程序段中,包第二种并发执行是在某道程序的几个程序段中,包含着一部分可以同时执行或顺序颠倒执行的代码。例如含着一部分可以同时执行或顺序颠倒执行的代码。例如语句:语句:nread(a);nread(b);n它们既可以同时执行,也可颠倒次序执行。也就是说,它们既可以同时执行,也可颠倒次序执行。也就是说,对于这样的语句,同时执行不会改变顺序程序所具有的对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资逻辑性质。因此,可以

7、采用并发执行来充分利用系统资源以提高计算机的处理能力。源以提高计算机的处理能力。n n 程序的并发执行可总结为:一组在逻辑上互相独立程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中其执行时间在客观上互相的程序或程序段在执行过程中其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的执行方式。执行已经开始的执行方式。2.1.2 程序的并发执行程序的并发执行 机械工业出版社操作系统教程课件 第8页n 程序的并发执行,虽然提高了系统吞吐量,但也产程序的并发执行,虽然提高了系统吞吐量,但也产生了下述一些

8、与顺序执行不同的新特征:生了下述一些与顺序执行不同的新特征:n (1)间断性)间断性n 程序在并发执行时,由于它们共享资源或为完成同程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,致使在并发程序之间形成了相互一项任务而相互合作,致使在并发程序之间形成了相互制约的关系。相互制约将导致并发程序具有制约的关系。相互制约将导致并发程序具有“执行执行暂停暂停执行执行”这种间断性的活动规律。这种间断性的活动规律。n (2)失去封闭性)失去封闭性n 程序在并发执行时,多个程序共享系统中的各种资程序在并发执行时,多个程序共享系统中的各种资源,因此这些资源的状态将由多个程序来改变,致使程源,因此

9、这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。这样,某程序在执行时,必序的运行已失去了封闭性。这样,某程序在执行时,必然会受到其它程序的影响。然会受到其它程序的影响。2.1.2 程序的并发执行程序的并发执行 机械工业出版社操作系统教程课件 第9页n (3)不可再现性)不可再现性n 程序在并发执行时,由于失去了封闭性,也将导致程序在并发执行时,由于失去了封闭性,也将导致失去其可再现性。失去其可再现性。n 例如,有两个循环程序例如,有两个循环程序A和和B,它们共享一个变量,它们共享一个变量N。程序程序A每执行一次时,都要做每执行一次时,都要做N:=N+1操作;程序操作;程序B每每

10、执行一次时,都要执行执行一次时,都要执行print(N)操作,然后再将)操作,然后再将N置置成成“0”;程序;程序A和和B以不同的速度运行。这样,可能出现以不同的速度运行。这样,可能出现下述三种情况(假定某时刻变量下述三种情况(假定某时刻变量N的值为的值为n)。)。nN:=N+1在在print(N)和和N:=0之前,此时得到的之前,此时得到的N值值分别为分别为n+1,n+1,0。nN:=N+1在在print(N)和和N:=0之后,此时得到的之后,此时得到的N值值分别为分别为n,0,1。nN:=N+1在在print(N)和和N:=0之间,此时得到的之间,此时得到的N值值分别为分别为n,n+1,0

11、。2.1.2 程序的并发执行程序的并发执行 机械工业出版社操作系统教程课件 第10页2.2 进程的概念进程的概念n2.2.1 进程的定义进程的定义n2.2.2 进程的基本状态和转换进程的基本状态和转换n2.2.3 进程控制块进程控制块n2.2.4 进程队列进程队列机械工业出版社操作系统教程课件 第11页2.2.1 进程的定义进程的定义 n 使用程序这个概念,只能对它进行静止的、孤立的使用程序这个概念,只能对它进行静止的、孤立的研究,不能深刻地反映它们活动的规律和状态变化。因研究,不能深刻地反映它们活动的规律和状态变化。因此,人们引入了新的概念此,人们引入了新的概念进程,以便从变化的角度,进程,

12、以便从变化的角度,动态地分析研究并发程序的活动。动态地分析研究并发程序的活动。n 例如,一个编译程序怎样为多个用户服务呢?假定例如,一个编译程序怎样为多个用户服务呢?假定编译程序编译程序P从从A点开始工作,现在正在编译程序甲,当工点开始工作,现在正在编译程序甲,当工作到作到B点时需要把中间结果记录在磁盘上,于是编译程序点时需要把中间结果记录在磁盘上,于是编译程序P在在B点等待磁盘传输信息,处理器空闲。这时为了提高点等待磁盘传输信息,处理器空闲。这时为了提高效率,可以利用处理器的空闲时间让编译程序效率,可以利用处理器的空闲时间让编译程序P为源程序为源程序乙进行编译,编译程序仍从乙进行编译,编译程

13、序仍从A点开始工作。现在的问题是点开始工作。现在的问题是怎样描述编译程序怎样描述编译程序P的状态?称它为在的状态?称它为在B点等待磁盘传输,点等待磁盘传输,还是称它在还是称它在A点开始执行?所以,从程序的角度已无法正点开始执行?所以,从程序的角度已无法正确描述程序执行时的状态。确描述程序执行时的状态。机械工业出版社操作系统教程课件 第12页n 虽然编译程序虽然编译程序P只有一只有一个,但加工对象有甲、乙个,但加工对象有甲、乙两个源程序。把编译程序两个源程序。把编译程序P与服务对象联系起来,编与服务对象联系起来,编译程序译程序P为甲服务就构成了为甲服务就构成了进程进程P甲甲,编译程序,编译程序P

14、为乙为乙服务就构成进程服务就构成进程P乙乙。如。如图图2-3所示。所示。2.2.1 进程的定义进程的定义 机械工业出版社操作系统教程课件 第13页n 在操作系统中,尤其是采用多道程序设计技术的系统中,在操作系统中,尤其是采用多道程序设计技术的系统中,引入引入“进程进程”是非常必要的。是非常必要的。n 我们可以把进程定义为:可并发执行的程序在一个数我们可以把进程定义为:可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。据集上的一次执行过程,它是系统进行资源分配的基本单位。n 进程和程序是两个截然不同的概念。进程具有以下五进程和程序是两个截然不同的概念。进程具有以下五个

15、基本特征:个基本特征:n (1)动态性)动态性n 进程动态性表现为:进程动态性表现为:“它由创建而产生,由调度而执它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡行,因得不到资源而暂停执行,以及由撤销而消亡”。可见,。可见,进程有一定的生命期。进程有一定的生命期。n (2)并发性)并发性n 并发性是指多个进程实体,同存于主存中,能在一段并发性是指多个进程实体,同存于主存中,能在一段时间内同时运行。引入进程的目的也正是为了使其程序能和时间内同时运行。引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。其它进程的程序并发执行,而程序是不能并发执

16、行的。n 2.2.1 进程的定义进程的定义 机械工业出版社操作系统教程课件 第14页n (3)独立性)独立性n 独立性是指进程实体是一个能独立运行的基本单位,独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。同时也是系统中独立获得资源和独立调度的基本单位。进程与程序并非是一一对应的,一个程序运行在不同的进程与程序并非是一一对应的,一个程序运行在不同的数据集上就构成不同的进程。数据集上就构成不同的进程。n (4)异步性)异步性n 这是指进程按各自独立的、不可预知的速度向前推这是指进程按各自独立的、不可预知的速度向前推进;或者说,进程按异步方式运行。正是

17、这一特征,将进;或者说,进程按异步方式运行。正是这一特征,将导致程序执行的不可再现性。导致程序执行的不可再现性。n(5)结构特征)结构特征n 从结构上看,进程实体是由程序段、数据段及进程从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成,有人把这三部分统称为控制块三部分组成,有人把这三部分统称为“进程映进程映像像”。2.2.1 进程的定义进程的定义 机械工业出版社操作系统教程课件 第15页2.2.2 进程的基本状态和转换进程的基本状态和转换n 在一个进程的活动期间至少具备三种基本状态,它在一个进程的活动期间至少具备三种基本状态,它们是:执行状态、就绪状态和等待状态。们是:执行状态、就

18、绪状态和等待状态。n (1)就绪状态)就绪状态n 当进程已分配到除处理器以外的所有必要的资源后,当进程已分配到除处理器以外的所有必要的资源后,只要能再获得处理器,便可立即执行。这时的进程状态只要能再获得处理器,便可立即执行。这时的进程状态称为就绪状态。在一个系统中,可以有多个进程同时处称为就绪状态。在一个系统中,可以有多个进程同时处于就绪状态,通常把这些进程排成一个或多个队列,称于就绪状态,通常把这些进程排成一个或多个队列,称这些队列为就绪队列。这些队列为就绪队列。n (2)执行状态(运行状态)执行状态(运行状态)n 指进程已获得处理器,其程序正在执行。在单处理指进程已获得处理器,其程序正在执

19、行。在单处理器系统中,只能有一个进程处于执行状态。在多处理器器系统中,只能有一个进程处于执行状态。在多处理器系统中,则可能多个进程处于执行状态。系统中,则可能多个进程处于执行状态。机械工业出版社操作系统教程课件 第16页n (3)等待状态)等待状态n 进程因发生某事件(如请进程因发生某事件(如请求求I/O、申请缓冲空间等)而、申请缓冲空间等)而暂停执行时的状态,称为等待暂停执行时的状态,称为等待状态。通常将处于等待状态的状态。通常将处于等待状态的进程排成一个队列,称为等待进程排成一个队列,称为等待队列。在有的系统中,按等待队列。在有的系统中,按等待原因的不同而将处于等待状态原因的不同而将处于等

20、待状态的进程排成多个队列。的进程排成多个队列。n 进程在执行期间,可以在进程在执行期间,可以在三个基本状态之间进行多次转三个基本状态之间进行多次转换。如换。如图图2-4所示。所示。2.2.2 进程的基本状态和转换进程的基本状态和转换机械工业出版社操作系统教程课件 第17页n 在有些操作系统中,在有些操作系统中,又增加了两种基本状态:又增加了两种基本状态:新状态和终止状态。新新状态和终止状态。新状态是指一个进程刚刚状态是指一个进程刚刚建立,但还未将它送入建立,但还未将它送入就绪队列时的状态。而就绪队列时的状态。而终止状态是指一个进程终止状态是指一个进程已正常结束或异常结束,已正常结束或异常结束,

21、但尚未将它撤销时的状但尚未将它撤销时的状态。其状态转换如态。其状态转换如图图2-5所示。所示。2.2.2 进程的基本状态和转换进程的基本状态和转换机械工业出版社操作系统教程课件 第18页2.2.3 进程控制块进程控制块 n 每一个进程都有一个也只有一个进程控制块每一个进程都有一个也只有一个进程控制块(Process Control Block,简称简称 PCB),进程控制块是),进程控制块是操作系统用于记录和刻画进程状态及有关信息的数据结操作系统用于记录和刻画进程状态及有关信息的数据结构,也是操作系统控制和管理进程的主要依据。构,也是操作系统控制和管理进程的主要依据。n 进程控制块的作用,是使

22、一个在多道程序环境下不进程控制块的作用,是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,基本单位,一个能与其它进程并发执行的进程。或者说,操作系统是根据操作系统是根据PCB来对并发执行的进程进行控制和管来对并发执行的进程进行控制和管理的。理的。n 在进程的整个生命周期中,系统总是通过其在进程的整个生命周期中,系统总是通过其PCB对对进程进行控制的,亦即,系统是根据进程的进程进行控制的,亦即,系统是根据进程的PCB而不是而不是任何别的什么而感知到该进程的存在的,所以说,任何

23、别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。是进程存在的唯一标志。机械工业出版社操作系统教程课件 第19页n 当系统创建一个新进程时,就为它建立一个当系统创建一个新进程时,就为它建立一个PCB;进程结束时又回收其;进程结束时又回收其PCB,进程于是也随,进程于是也随之消亡。之消亡。PCB可以被操作系统中的多个模块读或可以被操作系统中的多个模块读或修改,如被调度程序、资源分配程序、中断处理修改,如被调度程序、资源分配程序、中断处理程序以及监督和分析程序等读或修改。程序以及监督和分析程序等读或修改。n 因为因为PCB经常被系统访问,尤其是被运行频经常被系统访问,尤其是被运行

24、频率很高的进程调度程序访问,故率很高的进程调度程序访问,故PCB应常驻主存。应常驻主存。n 系统将所有的系统将所有的PCB组织成若干个链表,存放组织成若干个链表,存放在操作系统中专门开辟的在操作系统中专门开辟的PCB区内。区内。2.2.3 进程控制块进程控制块 机械工业出版社操作系统教程课件 第20页n 在一般情况下,进程在一般情况下,进程控制块应包含四类信息,控制块应包含四类信息,如如图图2-6所示。所示。n(1)标识信息:每个进程)标识信息:每个进程都要有一个唯一的标识符,都要有一个唯一的标识符,用以标识进程的存在和区用以标识进程的存在和区分各个进程。分各个进程。n(2)说明信息:用于说明

25、)说明信息:用于说明本进程的情况。本进程的情况。n(3)现场信息:当进程由)现场信息:当进程由于某种原因让出处理器时,于某种原因让出处理器时,把与处理器有关的各种现把与处理器有关的各种现场信息保留下来。场信息保留下来。n(4)管理信息:对进程进)管理信息:对进程进行管理和调度的信息。行管理和调度的信息。2.2.3 进程控制块进程控制块 机械工业出版社操作系统教程课件 第21页2.2.4 进程队列进程队列n 在多道程序设计的系统中,往往会同时创建在多道程序设计的系统中,往往会同时创建多个进程。为了便于管理,通常把处于相同状态多个进程。为了便于管理,通常把处于相同状态的进程链接在一起,称为的进程链

26、接在一起,称为“进程队列进程队列”。n 若干个等待执行的进程(就绪进程)按一定若干个等待执行的进程(就绪进程)按一定的次序链接起来的队列称的次序链接起来的队列称“就绪队列就绪队列”。n 把等待资源或等待某些事件的进程也排成队把等待资源或等待某些事件的进程也排成队列,称为列,称为“等待队列等待队列”。有时可以把等待队列按。有时可以把等待队列按等待的原因分成若干个相应的等待队列。等待的原因分成若干个相应的等待队列。n 由于进程控制块能标识进程的存在和动态刻由于进程控制块能标识进程的存在和动态刻画进程的特性,因此,进程队列可以用进程控制画进程的特性,因此,进程队列可以用进程控制块的链接来形成。块的链

27、接来形成。机械工业出版社操作系统教程课件 第22页2.2.4 进程队列进程队列机械工业出版社操作系统教程课件 第23页2.3 进程控制进程控制n2.3.1 进程创建进程创建n2.3.2 进程撤销进程撤销n2.3.3 进程阻塞与唤醒进程阻塞与唤醒机械工业出版社操作系统教程课件 第24页2.3.1 进程创建进程创建n 进程控制的基本功能之一是能创建各种新的进程控制的基本功能之一是能创建各种新的进程,这些新进程是一个与现有进程不同的实体。进程,这些新进程是一个与现有进程不同的实体。在系统生成时,要创建一些必需的、承担系统资在系统生成时,要创建一些必需的、承担系统资源分配和管理工作的系统进程。对于用户

28、作业,源分配和管理工作的系统进程。对于用户作业,每当调入系统时,由操作系统的作业调度程序为每当调入系统时,由操作系统的作业调度程序为它创建相应的进程。它创建相应的进程。n 无论是系统或是用户创建进程都必须调用创无论是系统或是用户创建进程都必须调用创建原语来实现。创建原语的主要功能是创建一个建原语来实现。创建原语的主要功能是创建一个指定标识符的进程,主要任务是形成该进程的指定标识符的进程,主要任务是形成该进程的PCB,所以,调用者必须提供形成,所以,调用者必须提供形成PCB的有关参的有关参数,以便在创建时填入。对于较复杂的数,以便在创建时填入。对于较复杂的PCB结构,结构,还需提供资源清单等。还

29、需提供资源清单等。机械工业出版社操作系统教程课件 第25页n创建原语的实现过程创建原语的实现过程n如如图图2-9所示。所示。2.3.1 进程创建进程创建机械工业出版社操作系统教程课件 第26页2.3.2 进程撤销进程撤销n 操作系统通常提供各种撤销(或称终止)进操作系统通常提供各种撤销(或称终止)进程的方法。一个进程可能因为它完成了所指派的程的方法。一个进程可能因为它完成了所指派的工作而正常终止,或由于一个错误而非正常终止,工作而正常终止,或由于一个错误而非正常终止,它也可能由于其祖先进程的要求被终止。它也可能由于其祖先进程的要求被终止。n 当一个进程要撤销其它进程时可采用不同的当一个进程要撤

30、销其它进程时可采用不同的方式,既可撤销具有指定标识符的进程,又可撤方式,既可撤销具有指定标识符的进程,又可撤销一个优先级中的所有进程。销一个优先级中的所有进程。n 当一个进程被撤销时,它必须从系统队列中当一个进程被撤销时,它必须从系统队列中移出,释放并归还所有系统资源,同时还要审查移出,释放并归还所有系统资源,同时还要审查该进程是否有子孙进程,若有的话一起予以撤销。该进程是否有子孙进程,若有的话一起予以撤销。机械工业出版社操作系统教程课件 第27页n撤销原语的实现过程撤销原语的实现过程n如如图图2-10所示。所示。2.3.2 进程撤销进程撤销机械工业出版社操作系统教程课件 第28页2.3.3

31、进程阻塞与唤醒进程阻塞与唤醒 (1)进程阻塞)进程阻塞n 当一个进程出现等待事当一个进程出现等待事件时,该进程调用阻塞原语件时,该进程调用阻塞原语将自己阻塞。阻塞原语的功将自己阻塞。阻塞原语的功能是:由于进程正处于执行能是:由于进程正处于执行状态,故应中断处理器,把状态,故应中断处理器,把CPU现场送至该进程的现场现场送至该进程的现场保护区,置该进程的状态为保护区,置该进程的状态为“等待等待”,并插入到相应的,并插入到相应的等待队列中,然后转进程调等待队列中,然后转进程调度程序,另选一个进程投入度程序,另选一个进程投入运行。阻塞原语的实现过程运行。阻塞原语的实现过程如如图图2-11所示。所示。

32、机械工业出版社操作系统教程课件 第29页 (2)进程唤醒)进程唤醒n 处于等待状态的处于等待状态的进程要由其它进程用进程要由其它进程用唤醒原语唤醒它。唤唤醒原语唤醒它。唤醒原语的实现过程如醒原语的实现过程如图图2-12所示。所示。2.3.3 进程阻塞与唤醒进程阻塞与唤醒机械工业出版社操作系统教程课件 第30页2.4 进程调度进程调度n2.4.1 进程调度的功能进程调度的功能n2.4.2 进程调度的时机进程调度的时机n2.4.3 进程调度的算法进程调度的算法n2.4.4 进程调度算法的选择进程调度算法的选择机械工业出版社操作系统教程课件 第31页n 在多道程序设计的系统中,往往同时在多道程序设计

33、的系统中,往往同时有多个进程处于就绪状态,它们都要求占有多个进程处于就绪状态,它们都要求占用处理器执行。但是,一个处理器在每一用处理器执行。但是,一个处理器在每一时刻只能让一个进程占用。怎样解决进程时刻只能让一个进程占用。怎样解决进程竞争处理器的问题?操作系统设计了一个竞争处理器的问题?操作系统设计了一个“进程调度进程调度”程序来解决竞争处理器的问程序来解决竞争处理器的问题。进程调度程序按照某种调度算法从就题。进程调度程序按照某种调度算法从就绪队列中选择一个进程,让它占用处理器。绪队列中选择一个进程,让它占用处理器。有时也把进程调度程序称为有时也把进程调度程序称为“处理器调度处理器调度”程序。

34、程序。2.4 进程调度进程调度机械工业出版社操作系统教程课件 第32页2.4.1 进程调度的功能进程调度的功能n 进程调度的主要功能有:进程调度的主要功能有:n (1)记录系统中所有进程的执行情况)记录系统中所有进程的执行情况n 作为进程调度的准备,进程管理模块必须将系统中各作为进程调度的准备,进程管理模块必须将系统中各进程的执行情况和状态特征记录在各进程的进程控制块中。进程的执行情况和状态特征记录在各进程的进程控制块中。n (2)选择占有处理器的进程)选择占有处理器的进程n 按照一定的策略选择一个处于就绪状态的进程,使其按照一定的策略选择一个处于就绪状态的进程,使其获得处理器执行。获得处理器

35、执行。n (3)把处理器分配给进程,即进行进程上下文切换)把处理器分配给进程,即进行进程上下文切换n 把选中进程的进程控制块内有关现场的信息如程序状把选中进程的进程控制块内有关现场的信息如程序状态字、通用寄存器等内容送入处理器相应的寄存器,从而让态字、通用寄存器等内容送入处理器相应的寄存器,从而让它占用处理器运行。它占用处理器运行。n (4)收回处理器)收回处理器n 将处理器有关寄存器内容送入该进程的进程控制块内将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使进程让出处理器。的相应单元,从而使进程让出处理器。机械工业出版社操作系统教程课件 第33页2.4.2 进程调度的时机进程

36、调度的时机n 引起进程调度的原因主要有以下几类:引起进程调度的原因主要有以下几类:n (1)正在执行的进程执行完毕。)正在执行的进程执行完毕。n (2)执行中的进程自己调用阻塞原语将自己阻塞起来进)执行中的进程自己调用阻塞原语将自己阻塞起来进入等待状态。入等待状态。n (3)执行中的进程调用了)执行中的进程调用了P原语操作,从而因资源不足而原语操作,从而因资源不足而被阻塞;或调用了被阻塞;或调用了V原语操作激活了等待资源的进程队列。原语操作激活了等待资源的进程队列。n (4)执行中的进程提出)执行中的进程提出I/O请求后被阻塞。请求后被阻塞。n (5)在分时系统中时间片已经用完。)在分时系统中

37、时间片已经用完。n (6)在执行完系统调用等系统程序后返回用户进程时,)在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。程执行。n (7)在可剥夺)在可剥夺CPU执行方式时,当就绪队列中某进程的执行方式时,当就绪队列中某进程的优先级变得高于当前执行进程的优先级时,也将引发进程调度。优先级变得高于当前执行进程的优先级时,也将引发进程调度。机械工业出版社操作系统教程课件 第34页2.4.3 进程调度的算法进程调度的算法n (1)先来先服务()先来先服务(FCFS)调度算法)调度算法n 这

38、种调度算法是按照进程进入就绪队列的先后次序选这种调度算法是按照进程进入就绪队列的先后次序选择可以占用处理器的进程。当有进程就绪时,把该进程排择可以占用处理器的进程。当有进程就绪时,把该进程排入就绪队列的末尾,而进程调度总是把处理器分配给就绪入就绪队列的末尾,而进程调度总是把处理器分配给就绪队列中的第一个进程。一旦一个进程占有了处理器,它就队列中的第一个进程。一旦一个进程占有了处理器,它就一直执行下去,直到因等待某事件或进程完成了工作才让一直执行下去,直到因等待某事件或进程完成了工作才让出处理器。出处理器。n 直观看,该算法在一般意义下是公平的。不过对于那直观看,该算法在一般意义下是公平的。不过

39、对于那些执行时间较短的进程来说,如果它们在某些执行时间很些执行时间较短的进程来说,如果它们在某些执行时间很长的进程之后到达,则将等待很长的时间。长的进程之后到达,则将等待很长的时间。n 在实际操作系统中,尽管很少单独使用在实际操作系统中,尽管很少单独使用FCFS算法,但算法,但和其它一些算法配合起来,和其它一些算法配合起来,FCFS算法还是使用得相当多的。算法还是使用得相当多的。机械工业出版社操作系统教程课件 第35页n (2)优先数调度算法)优先数调度算法n对每个进程确定一个优先数,进程调度总是让具有最高对每个进程确定一个优先数,进程调度总是让具有最高优先数的进程先使用处理器。如果进程具有相

40、同的优先数,优先数的进程先使用处理器。如果进程具有相同的优先数,则对这些有相同优先数的进程再按先来先服务的次序分配处则对这些有相同优先数的进程再按先来先服务的次序分配处理器。理器。n系统或用户按某种原则为进程指定一个优先数来表示该系统或用户按某种原则为进程指定一个优先数来表示该进程所享有的调度优先权,该算法的核心是确定进程的优先进程所享有的调度优先权,该算法的核心是确定进程的优先数。如何为进程确定优先数呢?不同的系统确定优先数的方数。如何为进程确定优先数呢?不同的系统确定优先数的方法可以不同,但一般都从任务的紧迫性和系统效率等方面考法可以不同,但一般都从任务的紧迫性和系统效率等方面考虑。虑。n

41、 确定优先数的方法可分为两类。即静态法和动态法。确定优先数的方法可分为两类。即静态法和动态法。静态法根据进程的静态特性,在进程开始执行之前就确定它静态法根据进程的静态特性,在进程开始执行之前就确定它们的优先数,一旦开始执行之后就不能改变。动态法则不然,们的优先数,一旦开始执行之后就不能改变。动态法则不然,它把进程的静态特性和动态特性结合起来确定进程的优先数,它把进程的静态特性和动态特性结合起来确定进程的优先数,随着进程的执行,其优先数不断变化。随着进程的执行,其优先数不断变化。2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第36页n 进程的静态优先数确定原则是根据进程

42、的类型给予不同进程的静态优先数确定原则是根据进程的类型给予不同的优先数。例如,让系统进程的优先数大于用户进程的优先的优先数。例如,让系统进程的优先数大于用户进程的优先数,重要计算问题的进程优先数大于一般计算问题的进程优数,重要计算问题的进程优先数大于一般计算问题的进程优先数,交互式作业进程的优先数大于批处理作业进程的优先先数,交互式作业进程的优先数大于批处理作业进程的优先数等。数等。n进程的动态优先数确定原则可根据进程占有进程的动态优先数确定原则可根据进程占有CPU时间的时间的长短及就绪进程等待长短及就绪进程等待CPU时间的长短来决定。例如,提高时间的长短来决定。例如,提高经常使用外围设备的进

43、程的优先数,有利于利用处理器与外经常使用外围设备的进程的优先数,有利于利用处理器与外围设备的并行能力;提高较长时间未使用处理器的就绪进程围设备的并行能力;提高较长时间未使用处理器的就绪进程的优先数,以缩短等待处理器的平均时间。的优先数,以缩短等待处理器的平均时间。n 基于静态优先数的调度算法实现简单,系统开销小,基于静态优先数的调度算法实现简单,系统开销小,但由于静态优先数一旦确定之后,直到执行结束为止始终保但由于静态优先数一旦确定之后,直到执行结束为止始终保持不变,从而系统效率较低,调度性能不高。而动态优先数持不变,从而系统效率较低,调度性能不高。而动态优先数随时间的推移而变化,系统要经常计

44、算各进程的优先数,因随时间的推移而变化,系统要经常计算各进程的优先数,因此,系统要为此付出一定的开销。此,系统要为此付出一定的开销。2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第37页n 一个高优先数的进程占用处理器后,系统可以用两种一个高优先数的进程占用处理器后,系统可以用两种方式对待它:方式对待它:n 第一种方式是第一种方式是“非抢占式非抢占式”的,一旦有某个高优先数的,一旦有某个高优先数的进程占用了处理器,就一直让它运行下去直到该进程由于的进程占用了处理器,就一直让它运行下去直到该进程由于自身的原因主动让出处理器或进程执行结束而让出处理器。自身的原因主动让出处

45、理器或进程执行结束而让出处理器。此时,进程调度才重新按优先数选择另一个进程占用处理器。此时,进程调度才重新按优先数选择另一个进程占用处理器。n 第二种方式是第二种方式是“可抢占式可抢占式”的,这种方式是严格保证的,这种方式是严格保证任何时刻,总是让具有最高优先数的进程在处理器上运行。任何时刻,总是让具有最高优先数的进程在处理器上运行。也就是说,当某一进程在处理器上运行时,一旦有另一个更也就是说,当某一进程在处理器上运行时,一旦有另一个更高优先数的进程进入就绪队列,进程调度就要剥夺正在处理高优先数的进程进入就绪队列,进程调度就要剥夺正在处理器上运行的进程使用处理器的权力,抢回分配给它的处理器,器

46、上运行的进程使用处理器的权力,抢回分配给它的处理器,而把处理器让具有更高优先数的进程使用。而把处理器让具有更高优先数的进程使用。2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第38页n (3)时间片轮转调度算法)时间片轮转调度算法n我们把我们把CPU的处理时间分成固定大小的的处理时间分成固定大小的“时间片时间片”。时间片轮转调度算法让就绪进程按就绪的先后次序排成队时间片轮转调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个时间片。但规定只能使用一个时间片。n 如

47、果一个时间片用完,进程尚未结束,则它也必须让如果一个时间片用完,进程尚未结束,则它也必须让出处理器给其他进程使用,自己被重新排到就绪队列的末出处理器给其他进程使用,自己被重新排到就绪队列的末尾,等待再次调度。尾,等待再次调度。n 如果在一个时间片的时间内进程发生了等待事件,那如果在一个时间片的时间内进程发生了等待事件,那么也把处理器让给下一个就绪的进程使用,自己被排入等么也把处理器让给下一个就绪的进程使用,自己被排入等待队列。等待事件结束后,仍需排入就绪队列的末尾,当待队列。等待事件结束后,仍需排入就绪队列的末尾,当再次轮到运行时,重新开始使用一个时间片。再次轮到运行时,重新开始使用一个时间片

48、。n 这样,就绪队列中的进程就依次轮流地占用处理器运这样,就绪队列中的进程就依次轮流地占用处理器运行,一个时间片内未完成工作的进程可进行第二次、第三行,一个时间片内未完成工作的进程可进行第二次、第三次或更多次的轮转,直至进程完成工作。次或更多次的轮转,直至进程完成工作。2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第39页n 在轮转法中,时间片长度的选取非常重要。在轮转法中,时间片长度的选取非常重要。首先,时间片长度的选择会直接影响系统开销和首先,时间片长度的选择会直接影响系统开销和响应时间。如果时间片长度过短,则调度程序剥响应时间。如果时间片长度过短,则调度程序剥夺

49、处理器的次数增多。这将使进程上下文切换次夺处理器的次数增多。这将使进程上下文切换次数也大大增加,从而加重系统开销。反过来,如数也大大增加,从而加重系统开销。反过来,如果时间片长度选择过长,则轮转法变成了先来先果时间片长度选择过长,则轮转法变成了先来先服务法。服务法。2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第40页n (4)多级反馈队列调度算法多级反馈队列调度算法 n 多级反馈队列调度方法又称反馈循环队列策略。它设置多个就绪多级反馈队列调度方法又称反馈循环队列策略。它设置多个就绪队列,并为各个队列赋予不同的优先权。第一个队列的优先权最高,队列,并为各个队列赋予不同

50、的优先权。第一个队列的优先权最高,第二队列次之,其余队列的优先权逐个降低,见图第二队列次之,其余队列的优先权逐个降低,见图2-13。n 其次,赋予各个队列中进程执行时间片的大小也各不相同,在优其次,赋予各个队列中进程执行时间片的大小也各不相同,在优先权愈高的队列中,每个进程的执行时间片就规定得愈小。先权愈高的队列中,每个进程的执行时间片就规定得愈小。n 进程调度从第一个队列开始,每个队列的进程被依次调度,如在进程调度从第一个队列开始,每个队列的进程被依次调度,如在时间片内没运行完成,则进入下一队列末尾;仅当第一队列为空时,时间片内没运行完成,则进入下一队列末尾;仅当第一队列为空时,调度程序才调

51、度第二队列中的进程运行;仅当第调度程序才调度第二队列中的进程运行;仅当第1(i-1)队列都为空队列都为空时,才会调度第时,才会调度第i队列中的进程运行。队列中的进程运行。n 如果处理机正在第如果处理机正在第i队列中为某进程服务时,又有新进程进入优先队列中为某进程服务时,又有新进程进入优先权较高的队列权较高的队列(即第即第1(i-1)中任何一队列中任何一队列),则此时新进程将抢占正,则此时新进程将抢占正在运行的处理机,即由调度程序把正在运行的进程放回第在运行的处理机,即由调度程序把正在运行的进程放回第i队列末尾,队列末尾,重新把处理机分配给新进程。重新把处理机分配给新进程。2.4.3 进程调度的

52、算法进程调度的算法机械工业出版社操作系统教程课件 第41页2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第42页n 多级反馈队列调度算法具有较好的性能,能较多级反馈队列调度算法具有较好的性能,能较好地满足各种类型用户的需要。对分时交互型短作好地满足各种类型用户的需要。对分时交互型短作业,系统通常可在第一队列业,系统通常可在第一队列(高优先级队列高优先级队列)规定的规定的时间片内让其完成工作,使终端型用户都感到满意;时间片内让其完成工作,使终端型用户都感到满意;对短作业,通常只需在前几个队列对短作业,通常只需在前几个队列(中优先级队列中优先级队列)中各执行一个时间片就能

53、完成工作,周转时间仍然中各执行一个时间片就能完成工作,周转时间仍然很短;对于长作业,它将依次在第很短;对于长作业,它将依次在第1,2,直到第,直到第n个队列中运行,然后再轮转方式运行,用户不必个队列中运行,然后再轮转方式运行,用户不必耽心其作业长期得不到处理。耽心其作业长期得不到处理。2.4.3 进程调度的算法进程调度的算法机械工业出版社操作系统教程课件 第43页2.4.4 进程调度算法的选择进程调度算法的选择 n 一般来说,选择算法时可考虑如下一些准则:一般来说,选择算法时可考虑如下一些准则:n (1)处理器利用率。应尽可能地使处理器处于)处理器利用率。应尽可能地使处理器处于忙碌状态,提高它

54、的使用效率。忙碌状态,提高它的使用效率。n (2)吞吐量。在单位时间内让更多的进程能完)吞吐量。在单位时间内让更多的进程能完成工作,提高单位时间的处理能力。成工作,提高单位时间的处理能力。n (3)等待时间。指一段时间内进程在就绪队等待时间。指一段时间内进程在就绪队列中等待的总时间,应尽量减少在就绪队列中的等列中等待的总时间,应尽量减少在就绪队列中的等待时间。待时间。n (4)响应时间)响应时间。在交互式系统中对用户的。在交互式系统中对用户的请求应尽快地给出应答。请求应尽快地给出应答。机械工业出版社操作系统教程课件 第44页2.5 线程线程n2.5.1线程的引入线程的引入n2.5.2线程的定义

55、线程的定义n2.5.3 线程的状态线程的状态n2.5.4 线程的调度线程的调度n2.5.5 线程的特征线程的特征n2.5.6 线程的分类线程的分类n2.5.7 线程与进程结构线程与进程结构机械工业出版社操作系统教程课件 第45页2.5.1线程的引入线程的引入n 进程是实现系统并发运行的一种实体。进程既是资进程是实现系统并发运行的一种实体。进程既是资源申请及拥有的实体,同时也是调度的实体。而系统因源申请及拥有的实体,同时也是调度的实体。而系统因为创建进程、调度进程、管理进程等将付出很大的额外为创建进程、调度进程、管理进程等将付出很大的额外开销。为了保持系统的并发性,同时降低系统为此付出开销。为了

56、保持系统的并发性,同时降低系统为此付出的额外开销,现代操作系统将传统意义的进程进行分离,的额外开销,现代操作系统将传统意义的进程进行分离,即将资源申请与调度执行分开,进程作为资源的申请与即将资源申请与调度执行分开,进程作为资源的申请与拥有单位,线程作为调度的基本单位。拥有单位,线程作为调度的基本单位。n 在引入线程的操作系统中,线程是进程中的一个实在引入线程的操作系统中,线程是进程中的一个实体,是被系统独立调度的基本单位。线程自己基本上不体,是被系统独立调度的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一

57、组寄存器和栈),但它可与同属一(如程序计数器、一组寄存器和栈),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。个进程的其它线程共享进程所拥有的全部资源。机械工业出版社操作系统教程课件 第46页2.5.2线程的定义线程的定义n 线程(线程(Thread)是进程中的一个实体,是可独立参与调度的)是进程中的一个实体,是可独立参与调度的基本单位。一个进程可以有一个或多个线程,它们共享所属进程所基本单位。一个进程可以有一个或多个线程,它们共享所属进程所拥有的资源。拥有的资源。n线程具有如下属性:线程具有如下属性:n (1)多个线程可以并发执行。)多个线程可以并发执行。n (2)一个线程可以创建

58、另一个线程。)一个线程可以创建另一个线程。n (3)线程具有动态性。一个线程被创建后便开始了它的生命周)线程具有动态性。一个线程被创建后便开始了它的生命周期,可能处于不同的状态,直至衰亡。期,可能处于不同的状态,直至衰亡。n (4)每个线程同样有自己的数据结构即线程控制块()每个线程同样有自己的数据结构即线程控制块(Thread Controlling Block,TCB),其中记录了该线程的标识符、线程执行其中记录了该线程的标识符、线程执行时的寄存器和栈等现场状态信息。时的寄存器和栈等现场状态信息。n (5)在同一进程内,各线程共享同一地址空间(即所属进程的)在同一进程内,各线程共享同一地址

59、空间(即所属进程的存储空间)。存储空间)。n (6)一进程中的线程在另一进程中是不可见的。)一进程中的线程在另一进程中是不可见的。n (7)同一进程内的线程间的通信主要是基于全局变量进行的。)同一进程内的线程间的通信主要是基于全局变量进行的。机械工业出版社操作系统教程课件 第47页2.5.3 线程的状态线程的状态n 与进程类似,线程也有生命周期,因而也存在各种与进程类似,线程也有生命周期,因而也存在各种状态。线程的状态有运行、就绪和等待,线程的状态转状态。线程的状态有运行、就绪和等待,线程的状态转换也与进程类似。换也与进程类似。n 进程中可能有多个线程,当处于运行态的线程在执进程中可能有多个线

60、程,当处于运行态的线程在执行过程中要求系统服务,如执行行过程中要求系统服务,如执行I/O请求而转换为等待态请求而转换为等待态时,那么,多线程进程中是否要阻塞整个进程,对于某时,那么,多线程进程中是否要阻塞整个进程,对于某些线程实现机制,所在进程也转换为等待态;对于另外些线程实现机制,所在进程也转换为等待态;对于另外一些线程实现机制,如果存在另一个处于就绪态的线程,一些线程实现机制,如果存在另一个处于就绪态的线程,则调度此线程运行,否则进程才会转换为等待态。则调度此线程运行,否则进程才会转换为等待态。机械工业出版社操作系统教程课件 第48页2.5.4 线程的调度线程的调度n 内核支持线程的调度和

61、切换与进程的调度和切换十内核支持线程的调度和切换与进程的调度和切换十分相似。例如,在线程调度时的调度方式,同样也是抢分相似。例如,在线程调度时的调度方式,同样也是抢占方式和非抢占方式两种。占方式和非抢占方式两种。n 在线程的调度算法上,也同样可采用时间片轮转法、在线程的调度算法上,也同样可采用时间片轮转法、优先权算法等。当由线程调度选中一个线程后,再将处优先权算法等。当由线程调度选中一个线程后,再将处理机分配给它。当然,线程在调度和切换上所花费的开理机分配给它。当然,线程在调度和切换上所花费的开销要比进程小得多。对于用户级线程的切换,通常是发销要比进程小得多。对于用户级线程的切换,通常是发生在

62、一个应用进程的诸线程之间,这时,不仅无须通过生在一个应用进程的诸线程之间,这时,不仅无须通过中断进入操作系统的内核,而且切换的规则也远比进程中断进入操作系统的内核,而且切换的规则也远比进程调度和切换的规则来得简单。调度和切换的规则来得简单。机械工业出版社操作系统教程课件 第49页2.5.5 线程的特征线程的特征n 我们从以下几个方面来比较线程与进程,从中可以更清楚我们从以下几个方面来比较线程与进程,从中可以更清楚地看出线程具有的特征。地看出线程具有的特征。n (1)拥有资源方面)拥有资源方面n 不管是在以进程为基本单位的操作系统,还是在引入线程不管是在以进程为基本单位的操作系统,还是在引入线程

63、的操作系统中,进程都是独立拥有资源的一个基本单位。而线的操作系统中,进程都是独立拥有资源的一个基本单位。而线程只拥有一点在运行中必要的资源,如程序计数器、寄存器和程只拥有一点在运行中必要的资源,如程序计数器、寄存器和栈。当然,它可以访问其所属进程的资源(注意:资源仍然是栈。当然,它可以访问其所属进程的资源(注意:资源仍然是分给进程的)。分给进程的)。n (2)调度方面)调度方面n 在引入线程的操作系统中,进程作为独立拥有资源的基本在引入线程的操作系统中,进程作为独立拥有资源的基本单位,而线程是独立参与调度的基本单位。这样,引入线程的单位,而线程是独立参与调度的基本单位。这样,引入线程的操作系统

64、中存在着两级调度:同一进程内线程之间的调度、不操作系统中存在着两级调度:同一进程内线程之间的调度、不同进程之间的调度。同一个进程内的线程切换不会引起进程切同进程之间的调度。同一个进程内的线程切换不会引起进程切换;而在由一个进程内的线程切换到另一进程内的线程时,将换;而在由一个进程内的线程切换到另一进程内的线程时,将引起进程切换。引起进程切换。机械工业出版社操作系统教程课件 第50页n (3)并发性方面)并发性方面n 在引入线程的操作系统中,不仅不同进程的线程之在引入线程的操作系统中,不仅不同进程的线程之间可以并发执行,而且在同一个进程的多个线程间亦可间可以并发执行,而且在同一个进程的多个线程间

65、亦可并发执行,因而使系统具有更好的并发性。并发执行,因而使系统具有更好的并发性。n (4)系统开销方面)系统开销方面n 相比于没有引入线程的操作系统,引入线程的系统相比于没有引入线程的操作系统,引入线程的系统其系统开销将显著降低。例如,在创建或撤销线程时,其系统开销将显著降低。例如,在创建或撤销线程时,系统只需分配与回收很少的资源,而无须像进程创建或系统只需分配与回收很少的资源,而无须像进程创建或撤销那样,花费开销来分配或回收如内存空间、撤销那样,花费开销来分配或回收如内存空间、I/O设备设备等资源;又如,在线程切换时,只需保存和设置少量的等资源;又如,在线程切换时,只需保存和设置少量的寄存器

66、的内容,而无须像进程切换那样,花费开销来保寄存器的内容,而无须像进程切换那样,花费开销来保存和设置很多的现场信息。存和设置很多的现场信息。2.5.5 线程的特征线程的特征机械工业出版社操作系统教程课件 第51页2.5.6 线程的分类线程的分类n 多线程的实现分为三类:内核级线程多线程的实现分为三类:内核级线程(Kernel Level Thread,KLT);用户级线程(;用户级线程(User Level Thread,ULT);混合式线程方式,即同时支持);混合式线程方式,即同时支持ULT和和KLT两种线程。两种线程。n1、内核级线程、内核级线程n 内核级线程是指线程的管理工作由内核完成,由内内核级线程是指线程的管理工作由内核完成,由内核所提供的线程核所提供的线程API来使用线程,当任务提交给操作系统来使用线程,当任务提交给操作系统执行时,内核为其创建进程和一个基线程,线程在执行执行时,内核为其创建进程和一个基线程,线程在执行过程中可通过内核的创建线程原语来创建其他线程,应过程中可通过内核的创建线程原语来创建其他线程,应用程序的所有线程均在一个进程中获得支持。内核需要用程序的所有线程

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!