第2章 处理器管理_第1页
第2章 处理器管理_第2页
第2章 处理器管理_第3页
第2章 处理器管理_第4页
第2章 处理器管理_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

第二章处理器管理

计算机科学与通信工程学院2023/2/31计算机科学系操作系统课程组概述操作系统的重要任务之一:是充分、有效地利用系统的各类资源

最宝贵的资源:处理器

分配调度策略、处理冲突、资源回收

引入进程:作为资源分配的基本单位和基本实体

处理器的管理→进程管理

首先要介绍中断的概念

中断是实现处理器调度不可缺少的条件2023/2/32计算机科学系操作系统课程组第二章处理器管理2.1中断系统2.2多道程序与并发执行2.3进程2.4线程2.5UNIX中的进程管理2023/2/33计算机科学系操作系统课程组2.1中断系统

中断:在执行期间,发生任何非寻常的或非预期的急需处理事件→使得CPU暂时中断当前程序的执行,而转去执行相应的事件处理程序,等到事件处理结束后又返回到原来被中断的程序继续执行的过程。中断的使用设备和CPU之间的通信:中断控制方式、DMA方式和通道方式其它特殊情况2023/2/34计算机科学系操作系统课程组2.1中断系统2.1.0中断装置2.1.1中断系统的职能2.1.2

中断的分类2.1.3

中断的优先级2.1.4中断事件处理程序2023/2/35计算机科学系操作系统课程组2.1.0中断装置定义:发现产生中断事件的硬件装置称为中断装置。2023/2/36计算机科学系操作系统课程组2.1.1中断系统的职能

主要做以下三件事:发现中断源,提出中断请求:多个中断源时,根据优先级,发出中断请求。保护现场:保存处理器中存放程序状态字的寄存器信息,以便在中断处理结束后恢复运行。启动处理事件的程序:将处理中断程序的程序状态字送入处理器的程序状态字寄存器,从而就引出了处理中断的程序。引起中断的事件2023/2/37计算机科学系操作系统课程组中断处理过程示意图存放旧程序状态字(保护现场)取出新程序状态字(引出中断处理程序)

2023/2/38计算机科学系操作系统课程组2314567发现中断源2023/2/39计算机科学系操作系统课程组2.1.2中断的分类

1.软件中断(内部中断)

-由CPU执行某些指令引起的中断;2.硬件中断-除CPU和内存以外的硬件系统发出的中断信号而引起的中断;2023/2/310计算机科学系操作系统课程组2.1.2中断的分类例:地址非法、除法出错、溢出中断

异常中断。

异常一般分为三类:失效(Faults)陷阱(Traps)中止(Abort)

软件中断:执行指令过程中产生的错误情况

2023/2/311计算机科学系操作系统课程组2.1.2中断的分类时机:某条指令在启动之后真正执行之前被检测到异常,产生中断;失效中断处理:进入相应的中断处理;在中断服务完成后返回该条指令;重新启动该指令并执行完成。

软件中断-失效:2023/2/312计算机科学系操作系统课程组2.1.2中断的分类时机:执行产生陷阱的指令而引起的。通常也称为自愿访管中断例:DOS中的INT和UNIX中Trap命令的执行。软件中断-陷阱:2023/2/313计算机科学系操作系统课程组2.1.2中断的分类时机:异常发生后无法确定造成异常指令的实际位置时,原来的程序已无法继续执行处理方式:中断服务程序往往重新启动操作系统并重建系统表格

例:硬件错误或系统表格中的错误(主存出错)

软件中断-中止2023/2/314计算机科学系操作系统课程组2.1.2中断的分类例:I/O设备发的中断、时钟中断。硬件中断的分类:非屏蔽中断:指不允许用户干预的中断;一旦发出中断信号后,CPU要立即响应。

可屏蔽中断:可通过每一类中断源设置一个中断屏蔽触发器,屏蔽它们的中断请求。(大多数硬件中断都是可屏蔽中断)硬件中断2023/2/315计算机科学系操作系统课程组2.1.3中断的优先级问题:多个中断信号同时产生时,如何进行处理有些中断服务是不允许其它中断打断有些中断要优先处理中断服务期间要响应比它更紧急的中断

2023/2/316计算机科学系操作系统课程组2.1.3中断的优先级解决方法为每个中断确定一个中断优先级定义:多个中断事件同时发生时,中断装置应按规定的顺序来响应,该顺序称为中断优先级。如何实现中断优先级-软件查询-硬件处理2023/2/317计算机科学系操作系统课程组2.1.3中断的优先级中断优先级由查询的顺序决定先被查询的中断具有高的优先级设置一个中断请求信号的寄存器将各中断信号保存下来以便查询对没有处理的中断请求作一个备忘录优点:可利用修改软件的方法来改变中断优先级,而不必要更改硬件。

不足:服务效率低(先将优先级高的设备查询一遍)软件查询2023/2/318计算机科学系操作系统课程组2.1.3中断的优先级克服软件方式的缺点采用硬件编码器来组成中断优先级电路根据编码器的编码形式确定各个中断信号的优先级优点:响应速度快,中断能及时得到处理。缺点:修改优先级困难,不灵活。

硬件处理2023/2/319计算机科学系操作系统课程组2.1.4中断事件处理程序一般分为三类:1.处理器中断事件的处理2.自愿中断事件的处理3.外部中断事件的处理2023/2/320计算机科学系操作系统课程组中断处理程序定义:处理中断事件的处理控制程序任务:处理中断事件,恢复正常操作。主要完成的工作:保护未被硬件保护的内容取出中断字分析;根据中断原因转不同处理;恢复正常操作(恢复运行某一程序、重新调度另一程序运行、重新启动OS)2023/2/321计算机科学系操作系统课程组1.处理器中断事件的处理这种事件是由硬件的故障而产生;排除这种故障必须进行人工干预;应付措施:(1)保护现场防止故障曼延(2)报告操作员并提供故障信息以便维修和校正(3)对程序中所造成的破坏进行估价和恢复

2023/2/322计算机科学系操作系统课程组例:发生电源故障中断事件的处理掉电时做以下三项工作处理器中有关寄存器内的信息送主存储器保存起来,以便在故障排除后恢复现场继续工作。停止外围设备工作;不能立即停止,将设备记录下来。停止处理器工作。故障排除后,从一个约定点启动操作系统:启动被停止的外围设备继续工作。如果发生故障时,有不能立即停止的外围设备正在工作,那么涉及这些外围设备的程序将被停止执行而等待操作员的干预命令。选择可以运行的程序继续运行。2023/2/323计算机科学系操作系统课程组2.自愿中断事件的处理由系统程序或用户程序执行访管指令而引起的(程序对操作系统功能的调用)访管指令(广义指令)包括操作码:表示这条指令是访管指令

访管参数(广义指令的操作码):表示具体的访管要求

系统调用2023/2/324计算机科学系操作系统课程组2.自愿中断事件的处理自愿中断事件处理过程:硬件在执行访管指令时:把访管参数作为中断字并入程序状态字,送入主存指定单元;转向操作系统处理。操作系统接收到后分析访管参数进行合法性检查照访管参数的要求进行相应的处理2023/2/325计算机科学系操作系统课程组2.自愿中断事件的处理访管指令的用处:向操作系统提出启动外围设备的要求控制程序的要求申请主存资源的要求申请外围设备的要求2023/2/326计算机科学系操作系统课程组3.外部中断事件的处理包括时钟的定时中断来自控制台的信息

控制台中断事件的处理使用控制台开关,就产生一个控制台中断;处理这种中断=接受一条操作命令;转向处理操作命令的执行程序。2023/2/327计算机科学系操作系统课程组3.外部中断事件的处理时钟中断事件的处理时钟可以分成绝对时钟和间隔时钟;绝对时钟中断系统有一个绝对时钟寄存器,定时加1;当寄存器溢出时,就产生一次绝对时钟中断;处理时,只要在主存的固定单元上加1。固定单元记录了绝对时钟中断的次数,绝对时间为固定单元内容与绝对时钟寄存器值的综合。2023/2/328计算机科学系操作系统课程组3.外部中断事件的处理间隔时钟中断间隔时钟寄存器中放一个预定的值;定时将一个间隔时钟寄存器的内容减1;寄存器的内容为0时,产生一个间隔时钟中断。起闹钟作用,进行控制调度。2023/2/329计算机科学系操作系统课程组2.2多道程序与并发执行本节内容:分析程序顺序执行的特点对程序顺序执行的缺点进行分析引入程序的并发执行解决问题分析程序的并发执行和特点

2.2.1程序的顺序执行和特点2.2.2程序的并发执行和特点2023/2/330计算机科学系操作系统课程组2.2.1程序的顺序执行和特点计算机上运行的是:程序程序:是指令的有序集合-它规定完成某一任务时所需做的各种操作-规定操作顺序单道程序系统:每次只允许一道程序进入计算机执行的系统。2023/2/331计算机科学系操作系统课程组2.2.1程序的顺序执行和特点单道程序系统每次只允许一道程序运行;它将独占系统资源(处理器、主存、辅存、外设、软件)系统按照程序的步骤顺序地执行。在该程序执行完之前,其它程序只能等待。

2023/2/332计算机科学系操作系统课程组2.2.1程序的顺序执行和特点例:假设有两道程序都需运行,在单道程序系统中的运行情况如下:I代表输入,用C代表计算,P代表打印程序1程序2I1C1P1I2C2P22023/2/333计算机科学系操作系统课程组2.2.1程序的顺序执行和特点顺序执行的特点:程序执行的顺序性:前一步完才做下一步;程序运行时对资源的独占性:没有其它程序与之争夺资源程序结果的可再现性:程序执行的结果与执行速度、时间无关。程序结果的封闭性:程序的运行只由初始条件和程序本身来确定。2023/2/334计算机科学系操作系统课程组2.2.1程序的顺序执行和特点优点:系统管理简单缺点:使系统的资源得不到充分的利用。中断和通道技术的引入2023/2/335计算机科学系操作系统课程组2.2.2程序的并发执行和特点程序的并发执行:一道程序不用某一系统资源,另一道程序就可以马上利用多道程序并发执行的情形:宏观:同时驻留在主存的几道程序都按照自己的程序规定动作执行;微观:是这几道程序交替执行;PQR并发执行区2023/2/336计算机科学系操作系统课程组2.2.2程序的并发执行和特点例如:I1、C1、P1的执行必须严格按照I1,C1,P1的顺序,而P1与I2,C1与I2,I3与P1是可以同时执行的。2023/2/337计算机科学系操作系统课程组2.2.2程序的并发执行和特点程序的并发执行的特点:程序执行时的资源共享性:硬资源、软件资源(系统软件、数据);程序失去了封闭性和可再现性:举例并发程序之间的相互制约性:共享系统内的资源,因此程序之间产生相互制约关系。并发程序活动规律:执行—暂停—执行程序:静态概念(难于描述动态系统)进程2023/2/338计算机科学系操作系统课程组例:Varn:integer{设置一个共享变量}

beginn:=0;{变量n初值为0}

cobegin{进入并发执行}

programA;beginL1:n:=n+1;{程序A每次对n+1}gotoL1{无限循环}

end

programB;beginL2:print(n);{程序B每次打印值}

n:=0;{并将n置为0}

gotoL2{无限循环}

endcoend{并发结束}

end2023/2/339计算机科学系操作系统课程组2.3进程2.3.1进程的概念2.3.2进程的实体2.3.3进程状态和转换2.3.4进程的控制2.3.5进程的调度进程的引入:程序的缺点:无法表示系统的动态特性,如:两个用户同时执行CC编译自己的程序,某时刻程序的执行状态难以刻画(运行、就绪、等待?)。引入进程(程序+处理对象)可表示执行动态特性。2023/2/340计算机科学系操作系统课程组2.3.1进程的概念进程的六种理解方法(任务、活动)任何一个处于执行的程序。可以和别的计算并发执行的计算。程序及其数据在处理器上顺序执行时的活动。抽象实体,当它执行一个任务时,将要分配和释放各种资源。独立的可以调度的活动。具有独立功能的程序关于某个数据集合的一次运行活动。

2023/2/341计算机科学系操作系统课程组2.3.1进程的概念进程的定义(程序段+数据)能和其它程序并行执行的程序段在某数据集合上的一次运行过程,它是系统资源分配和调度的一个独立单位。注意的问题:程序段可以并行执行。(并发性)基础是一个程序段,而不是整个程序。程序段在数据上的一次运行(某数据集合上的运行)动态的,是程序的一次执行过程。(动态性)能独立运行的基本单位。(独立性)2023/2/342计算机科学系操作系统课程组2.3.1进程的概念进程和程序的区别:进程是一段程序的一次运行活动:动态概念;有一定“生命期”。程序是一组指令的集合:静态概念程序段运行在两个不同数据集合上,就是两个不同的进程;一个程序可以对应多个进程;一个进程至少要对应一个程序,或对应多个程序,多个进程也可对应相同的程序。进程具有并行特征(独立性和异步性)进程是资源分配的基本单位例子:光盘(CD、VCD)光盘(程序)放光盘的活动(进程)2023/2/343计算机科学系操作系统课程组2.3.1进程的概念进程与作业的关系:

作业是用户向计算机提交任务的实体,进程是完成任务的实体作业可由多个进程组成(至少一个),反之不然作业主要存在于批处理系统,而进程可存在于所有形式的操作系统中。2023/2/344计算机科学系操作系统课程组2.3.2进程的实体1、进程的组成程序:进程→完整的程序、一部分程序;数据集合:运行需要的数据、工作区域;进程控制块(PCB):描述和标志进程(创建进程时,建立PCB;完成任务被撤销时,撤销PCB。)物质基础纯代码(pure)它在执行中自身不改变。也称为可重入(Reentry);享用该程序的各进程应提供工作区。2023/2/345计算机科学系操作系统课程组2.3.2进程的实体进程控制块

PCB(ProcessControlBlock)

存放进程的管理和控制信息(标识信息,说明信息,现场信息,管理信息)的数据结构称为进程控制块。在创建进程时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口表。标识说明现场2023/2/346计算机科学系操作系统课程组2.3.2进程的实体2.PCB的组织方式(为了管理上的方便)线性方式:所有的PCB组成一个数组;链接方式:运行队列、就绪队列、阻塞队列;索引方式:建立N张索引表。例如就绪索引表、阻塞索引表等。

2023/2/347计算机科学系操作系统课程组2.3.2进程的实体线性方式PCB使用一个数组来组织和保存通过下标访问PCB缺点:找到某一状态的PCB,需要扫描整个线性表;PCBPCBPCB……PCB2023/2/348计算机科学系操作系统课程组2.3.2进程的实体链接方式将具有相同状态的PCB,使用链表的形式组成一个队列;系统使用固定单元,保存各队列的第一个PCB的起始地址;队列类型:运行队列(多处理机)、就绪队列、阻塞队列;2023/2/349计算机科学系操作系统课程组2.3.2进程的实体运行队列就绪队列阻塞队列2023/2/350计算机科学系操作系统课程组2.3.2进程的实体索引方式还是使用统一的队列存放PCB;根据所有进程状态,建立N张索引表;索引表的首地址记录于内存中的专用单元中;2023/2/351计算机科学系操作系统课程组2.3.3进程状态和转换1.

进程的三种基本状态进程:动态的概念,表示了执行过程。(生命期)为了便于管理:对进程的不同时刻的不同状况,进行划分;三种基本状态(按照对资源的占用情况)就绪状态:执行状态:阻塞状态:2023/2/352计算机科学系操作系统课程组2.3.3进程状态和转换(1)就绪状态进程其它全部资源;但不能占用CPU;一旦获得CPU就可以执行;(2)执行状态已获得必要的资源并占有CPU,正在执行;单处理器系统:只能有一个进程处于执行状态多机处理系统:可能有多个进程处于执行状态(3)阻塞(等待)状态进程因等待某一事件而暂不能执行的状态;是等待除CPU外的资源或事件。CPU是一类特殊的资源2023/2/353计算机科学系操作系统课程组2.3.3进程状态和转换状态的细分(为了管理和调度的便利,如PDP11的UNIX)运行状态(执行、就绪状态):高优先级睡眠状态:低优先级睡眠状态:创建进程状态:正在被创建时等待终止处理状态:运行结束未撤消时暂停状态:被跟踪时本质:在三态的基础上再分。等待或阻塞状态2023/2/354计算机科学系操作系统课程组2.3.3进程状态和转换2.进程状态的转换(运行过程中)产生的原因:自身的进展情况与其它进程并发执行外界条件的变化2023/2/355计算机科学系操作系统课程组2.3.3进程状态和转换就绪状态执行状态阻塞状态资源满足且获得CPU(选中)

时间片用完(落选)等待事件已发生(资源得到满足)

等待事件发生(等待资源)状态转换2023/2/356计算机科学系操作系统课程组2.3.3进程状态和转换UNIX中的实际例子等待终止处理状态占有处理器

睡眠状态高优先级低优先级睡眠睡眠等待处理器暂停退出调度睡眠唤醒停止跟踪跟踪2023/2/357计算机科学系操作系统课程组2.3.4进程控制进程是有生命周期的,产生、运行、暂停、终止。对进程的这些操作叫进程控制。进程控制的职责是对系统中全部进程实施有效的管理,它是处理机管理的部分(另一部分是进程调度),当系统允许多进程并发执行时,为了实现共享、协调并发进程的关系,处理机管理必须提供对进程实行有效的管理。2023/2/358计算机科学系操作系统课程组2.3.4进程控制问题:进程的三态和转换,如何控制它们的进行:如何对进程的整个生命期进行控制:创建、撤消进程控制的主要任务:对系统中所有进程从创建到消亡的全过程实行有效地管理和控制。包括对进程状态变化加以管理和控制;创建新进程和撤消已完成任务的进程;2023/2/359计算机科学系操作系统课程组2.3.4进程控制进程控制包括:

进程创建、

进程撤消、

进程阻塞、

进程唤醒。

这些操作都要对应地执行一个特殊的程序段(操作系统核心程序),同时系统也通过系统调用给用户提供进程控制的功能。教材上叫原语(一种特殊的系统调用)。

原语:

用于完成特定功能的一段程序模块;执行期间不可分割。2023/2/360计算机科学系操作系统课程组2.3.4进程控制运行状态

等待状态

进程阻塞等待状态

就绪状态

进程唤醒新建进程置为就绪状态进程创建进程终止(消亡)

进程撤消就绪状态

运行状态

进程调度2023/2/361计算机科学系操作系统课程组2.3.4进程控制OS的内核中,用于进程控制的原语创建原语撤销原语阻塞原语唤醒原语对应进程的建立和撤消对应进程状态转换使进程在等待和就绪态之间转换2023/2/362计算机科学系操作系统课程组2.3.4进程控制1.创建原语-用于建立新的进程。建立进程的两种方式-由操作系统建立;-由其它进程创建一个新的进程;形成父子进程关系建立过程AB1B2C1C2C32023/2/363计算机科学系操作系统课程组2.3.4进程控制创建过程填写相关信息申请PCB,分配惟一的数字标示符c调入程序设置为就绪状态2023/2/364计算机科学系操作系统课程组2.3.4进程控制2.撤消原语完成任务后,释放它所占用的资源;实质:撤消进程存在标志(进程控制块PCB)并释放资源包括子孙进程2023/2/365计算机科学系操作系统课程组2.3.4进程控制进程撤销过程检索该进程PCB从相应队列删除查找所有的子孙进程释放这些进程的资源包括PCB如进程原来为执行状态重新调度进程执行2023/2/366计算机科学系操作系统课程组2.3.4进程控制3.阻塞原语使用原因:因缺乏资源、等待I/O操作(也是资源的一种形式)等,而使用;使用目的:阻塞自己,进入阻塞态,使OS可以调度别的进程进入执行态。2023/2/367计算机科学系操作系统课程组2.3.4进程控制阻塞过程保存当前进程的现场设置进程状态为等待进程进入阻塞队列转进程调度选择一个就绪态进程执行例如,进程是因等待打印机而进入阻塞状态,则该进程将加入到等待打印机的队列。进程挂起的系统调用算法和队列变化如下:2023/2/368计算机科学系操作系统课程组2.3.4进程控制4.唤醒原语使用条件:某个资源得到满足目的:唤醒所有等待该资源的进程,放入就绪队列,等待调度;唤醒过程:从等待队列中摘下进程设置进程状态为就绪进程进入就绪队列转进程调度或返回原进程2023/2/369计算机科学系操作系统课程组2.3.4进程控制注意的问题:创建原语和撤消原语阻塞原语和唤醒原语分别都是一对相对的操作原语使用时,要注意成对的使用。2023/2/370计算机科学系操作系统课程组2.3.5进程调度(处理器调度)前面:进程的三态进程操作中的几个原语控制状态转换没有解决的:就绪态→执行态按什么策略转换本节:按照什么样的策略进行就绪态→执行态的调度产生的原因:系统资源有限用户进程数往往多于处理器数目;不可能同时执行同时,处理器是计算机中的一类最特殊的资源。2023/2/371计算机科学系操作系统课程组2.3.5进程调度调度的层次(三级)高级调度(宏调度或作业调度)作业:用户在一次计算或处理过程中,要求计算机所做的一系列工作的集合。高级调度(宏调度或作业调度):按某种原则从外存的后备作业中,选一个或几个进入内存,并为其运行做好有关准备工作;将作业变为一个或一组进程,分配必要的资源,进入就绪队列。批处理系统中用分时系统不用2023/2/372计算机科学系操作系统课程组2.3.5进程调度(处理器调度)中级调度:内外存之间的进程对换,将内存中处于等待态的进程调到外存对换区,将对换区中处于就绪态的进程调到内存,解决内存紧张问题。用“挂起”和“解挂”命令调整系统负荷。低级调度:微调度或进程调度

决定就绪队列中哪个进程将获得处理器;常驻内存,执行频率很高,几十毫秒一次批处理系统分时系统都用2023/2/373计算机科学系操作系统课程组2.3.5进程调度调度的功能(由调度程序来实现)保护执行进程的现场(程序状态寄存器、指令计数器、通用寄存器)查询、登记和更新PCB的相应项,选择合适的进程执行(进入执行态)恢复被调度到的进程的原来现场;让被选中的进程继续执行。2023/2/374计算机科学系操作系统课程组2.3.5进程调度调度的方式指把CPU分配给进程后,它能占用多长时间。两种方式剥夺式(抢占式):可以强行将CPU的控制权从当前进程转给其它进程。优先级原则、短进程原则、时间片原则非剥夺式(非抢占式):只能由该进程主动出让CPU控制权;优点:简单,系统开销小。缺点:不能及时处理紧急任务。2023/2/375计算机科学系操作系统课程组2.3.5进程调度

进程调度算法直接影响到操作系统的适用环境和工作效率;对不同的系统及系统目标,有不同的调度算法;常用的算法时间片轮转法(分时系统)就绪态的进程轮流占用CPU执行一定的时间(时间片);时间片按顺序赋予就绪队列中的每一个进程;规定时间片内未执行完毕,也必须释放CPU;。。。CPU完成2023/2/376计算机科学系操作系统课程组2.3.5进程调度优先级调度(批处理系统和实时系统)处理器分配给就绪队列中最高优先级的进程;关键在于如何确定进程的优先级:静态优先级:在进程创建时即被确定的,不变化;确定优先级的依据:进程类型对资源的需求用户要求动态优先级:按某种原则不断修改进程的优先级;占用CPU时间的长短:长的优先级别低等待处理器时间的长短:长的优先级别高简单,不精确易形成独占调节性能好复杂,开销大2023/2/377计算机科学系操作系统课程组2.3.5进程调度多重队列轮换法把时间片轮转法中的单就绪队列→双就绪队列或多就绪队列,赋每个队列以不同的优先权;调度顺序:先高优先权的进程,后低优先权的进程。2023/2/378计算机科学系操作系统课程组2.3.5进程调度特点每个就绪队列按“先来先服务”的原则获得CPU;队列之间的关系:优先序数小者优先。优先序数的确定:优先权高优先序数小时间片长优先序数大进程用完时间片后未完成,排入下一级就绪队列中;阻塞的进程转为就绪状态时,安排在序数较小(优先级高)的就绪队列中;调度总是先调度序数较小队列中的进程;2023/2/379计算机科学系操作系统课程组2.4线程首先先分析进程的局限性线程的特性线程和进程的关系线程的实现2023/2/380计算机科学系操作系统课程组2.4.1线程的引入线程是对程序并发机制的进一步改善。引入的理由为:原并发机制是建立在进程基础上,当有并发进程抢占CPU时需进行进程上下文的切换,代价高。改善后并发机制是建立在线程基础上的,线程调度时不发生进程上下文的切换,可省去CPU的时间。引入线程后原有进程的两个特征分别处理——操作系统的调度分配单位用线程描述;资源的分配单位仍用进程。2023/2/381计算机科学系操作系统课程组2.4.1线程的引入线程:进程中的一个实体,比进程更小的独立运行的基本单位;(不独立拥有资源)进程内的基本调度单位。2023/2/382计算机科学系操作系统课程组2.4.1线程的引入线程的属性四部分组成:惟一的标识符、状态寄存器两个栈、私用存储器被系统独立调度和分派的基本单位;本身很小,调度开销小。线程可以创建和撤消另一个线程;同一个进程中的线程可以并发执行;不同进程中的线程也能并发执行;PCB用户地址空间用户栈核心栈进程2023/2/383计算机科学系操作系统课程组2.4.1线程的引入PCB用户地址空间线程1线程控制块用户栈核心栈线程控制块用户栈核心栈线程控制块用户栈核心栈线程控制块用户栈核心栈线程控制块用户栈核心栈线程控制块用户栈核心栈线程2线程3多线程:2023/2/384计算机科学系操作系统课程组2.4.1线程的引入引入线程后的优势:1)在已有进程中创建或终止一个线程远比控制进程来得快2)线程间的切换更容易更快捷3)线程间的通信无须内核干涉可直接进行2023/2/385计算机科学系操作系统课程组2.4.1线程的引入线程和进程的关系线程:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;进程:有自己独立的地址空间;进程:资源分配和拥有的单位;线程:同一个进程内的线程共享进程的资源;进程:不是处理器调度的基本单位;线程:成为处理器调度的基本单位;进程:之间并发执行;线程:之间并发执行;地址空间资源拥有调度单位执行方式同样有三态转换和创建和终止2023/2/386计算机科学系操作系统课程组2.4.1线程的引入进程、线程、程序、纯程序概念比较程序:静态的概念,无并发性;进程和线程:动态的概念,有并发性;进程:程序段+数据集拥有资源,有自己独立的地址空间;线程:不独占资源,共享进程资源,无独立地址空间纯程序:只有程序,本身无资源,调用程序提供数据区。2023/2/387计算机科学系操作系统课程组系统中进程与线程的表现形式可以是多样的:2023/2/388计算机科学系操作系统课程组线程的状态与管理

线程三种基本状态(1)就绪状态:表示线程已具备执行条件,等待调度程序分配CPU运行。(2)运行状态:表示线程被调度程序选中,并正占有CPU运行。(3)等待状态:表示线程正在等待某个事件发生。2023/2/389计算机科学系操作系统课程组线程的状态与操作

就绪执行阻塞结束派生调度结束阻塞激活2023/2/390计算机科学系操作系统课程组Java运行时系统(Javarun-timesystem)的线程状态及转换

Java线程的状态与操作新线程可运行阻塞死亡newstart()resume()stop()exit()sleep()suspend()I/O2023/2/391计算机科学系操作系统课程组线程的典型应用场合

前后并行工作场合:如,表处理

异步处理工作场合:如,设置一个备份线程,它每隔一分钟把RAM缓冲区的数据和信息写入磁盘

需要加快执行速度的场合:如,一个线程在计算一批数据时另一个线程可以从设备上输入下一批数据,从而加快进程的执行速度

组织复杂工作的程序:如,多个不同的任务需要处理,多线程机制可方便程序的设计和组织,且可提高整个系统效率。同时有多个用户服务请求的场合:如,文件服务器2023/2/392计算机科学系操作系统课程组2.4.2线程的实现两种方式:1.内核支持线程的实现2.用户级线程的实现1.内核支持线程的实现由OS内核管理:创建、撤消和切换内核提供相应的系统调用和API,用户程序可以创建、执行和撤消线程

内核中保留了一个线程控制块(TCB);调度算法和进程类似,抢占式和非抢占

温馨提示

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

评论

0/150

提交评论