版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章处理器管理,1。2。3。本章讲述:过程和线程概念的介绍;过程组成和管理;处理器的调度算法;处理器的二级调度和作业管理。2.1过程,2.1.1,多通道编程,程序A,程序B,程序C,0,4,6,9,14,18,20,23,26,30 15,17,(A)单通道编程环境,(B)多通道编程环境,时间,时间,打印机输出,中央处理器执行,单通道编程环境的特征,1。资源排他性、执行顺序、结果再现性、多渠道编程环境用户进程不得干预资源管理。当需要使用资源时,必须向系统提出申请,由系统统一调度和分配。用户进程:可以同时执行的用户程序段。它们是操作系统的服务对象和系统资源的实际用户。系统进程:那些用于管理操作
2、系统中系统资源的并发程序,它们为用户提供系统服务并分配系统资源。系统进程之间的关系由操作系统协调;用户进程之间的关系是由用户自己安排的(在程序中),操作系统为用户提供一定的协调手段(以命令的形式)。2.1.2,过程的定义,1。这个过程应该从三个方面来描述,进程是程序的一个运行活动;进程的运行活动基于某个数据集;流程应该在获取资源的基础上从事自己的运行活动。2。3。过程定义,所谓“过程”是指一个程序在给定数据集上的一次性执行过程,是系统进行资源分配和操作调度的独立单元。过程分类,4。系统进程和用户进程的区别,系统进程比用户进程使用更高级别的资源。.进程将相互制约。流程是系统中资源分配和操作调度的
3、单位。因此,在资源共享和竞争的过程中,它们不可避免地会相互制约,影响各自的推进速度。进程之间存在并发性。系统中多个进程对应的多个程序同时在系统中运行,依次占用中央处理器和各种资源。每个过程都有自己的生命周期。在一个过程被创建之后,系统感知它的存在。撤销后,系统不再能够感知它。因此,从创建到撤销,这段时间是一个过程的“生命周期”。不同的进程可以执行相同的程序。根据过程定义,区分过程的条件是执行的程序和数据集。因此,即使多个进程执行同一个程序,只要它们运行在不同的数据集上,它们就是不同的进程。“过程”是一个动态的概念。过程强调程序的“执行”过程,所以它是一个动态的概念;程序是一组有序的指令,在多通
4、道编程环境中不涉及“执行”,因此它是一个静态的概念。2.1.3,过程特性,1。2。过程与程序的关系,过程与程序的区别,过程是程序的执行过程,而程序是过程存在的基础。也就是说,过程和程序之间有着必然的联系。但是过程和程序不一样,它们是两个完全不同的概念。输入/输出操作完成后,进程的状态将从阻塞状态变为就绪状态。这属于外部环境变化引起的状态变化。例如,正在运行的进程将由于输入/输出请求而将其状态更改为阻塞。这属于过程本身引起的状态变化。ready state:它具备运行的所有必要条件,但由于其他进程占用了处理器,它暂时无法运行。运行状态:获取CPU的过程处于这种状态,并且其对应的程序正在处理器上运
5、行。阻塞状态:为了等待某个外部事件(如等待输入输出操作完成,等待另一个进程发送消息),进程暂时不能运行。阻塞状态也称为等待状态或挂起状态。2.1.4,过程的基本状态,1。过程的三种基本状态。进程状态转换、运行状态、阻塞状态、就绪状态、调度进程、时间片用完、事件正在发生、等待事件发生、进程状态可以是。在进程状态转换图中,箭头指示状态转换的方向,文本是导致此状态转换的原因。字段信息:当进程暂时放弃处理器时,各种当前字段信息必须保存在印刷电路板的固定单元中。这样,当进程再次得到处理器时,它可以将信息放入处理器的相应寄存器中,并恢复到被中断时的原始状态,从而保证进程的正常执行。标识信息:表示流程的标识
6、,是区分系统内不同流程的基础。过程控制块,2.2过程控制块,2.2.1,过程的三个组成部分,程序、数据集、印刷电路板、程序、数据集、2.2.2、过程控制块的内容、管理信息:系统通过这些信息管理和调度流程,使其有序工作。为了管理和控制过程,当系统创建一个过程时,它会为其打开一个特殊的存储区域,以便随时在系统中记录其动态特性;当一个进程被撤销时,系统回收分配给它的内存区域。这个存储区域被称为过程的“过程控制块印刷电路板”。就绪队列:系统中所有处于就绪状态的进程的PCBs都排列在一个队列中,称为“就绪队列”。通常,就绪队列中有多个进程的多氯联苯,它们构成了处理器分配的候选对象。阻塞队列:处于阻塞状态
7、的所有进程的印刷电路板都应该根据阻塞原因进行排队,每个进程称为“阻塞队列”。2.2.3、进程控制块队列、pcb1、pcb2、pcb5、pcb10、pcb3、pcb7、pcb6、pcb8、在单CPU系统中,任何时候都只有一个进程在运行,因此运行队列中只能有一个pcb。A,2.3.1,进程调度算法,2.3进程调度和管理,1。先到先得的调度算法、调度、就绪队列、到达、阻塞队列、完成、I/O完成等。一旦一个进程占用了一个处理器,它将继续被使用,直到它结束或者放弃处理器来等待一个事件。2。时间片循环调度算法,基本思想:在调度期间为进程分配一个称为“时间片”的时间段,在使用时间片之后,即使进程尚未完成运行
8、,也释放处理器,让它被另一个进程使用,同时等待下一次调度。A,B,C,D,计划,就绪队列,到达,阻塞队列,完成,输入/输出完成,阻塞,CPU,输入/输出,时间片到,3.如果几个进程的优先级相同,将采用先来先服务的方式进行调度。,4。多级队列调度算法、调度、就绪队列、到达、完成、中央处理器、阻塞、就绪、时间片到、调度、完成、中央处理器、阻塞、就绪、第二级(先到先得)、第一级(先服务),基本思想:系统中有许多就绪队列,每个就绪队列有不同的调度级别,可以得到不同长度的时间片。1级就绪队列中的进程调度级别最高,可用时间片最短;第N级就绪队列中的进程调度级别最低,但可用时间片最长。当一个新的过程被创建时
9、,它的印刷电路板将首先进入1级就绪队列的末端。功能:等待事件发生后,唤醒进程原语将等待进程从相应的阻塞队列中释放出来,进入就绪队列并再次参与调度。取消流程原语,功能:为新流程申请流程控制块,将创建者提供的信息填入流程控制块,将新流程设置为就绪状态,并根据调度算法将流程控制块排队在就绪队列中。2.3.2过程管理的基本原语。原始定义,操作系统提供一些基本操作来创建、取消、阻止和唤醒进程。为了确保正确实施,要求它们作为一个整体出现并且不可分割。也就是说,一旦相应的程序被启动,它必须被完成,并且其他程序的执行序列不能被插入到中间。具有这种特征的程序被称为“原语”。为了保证原语操作的不可分割性,总是使用
10、中断屏蔽。2。过程管理的基本原语,创建进程原语、阻塞进程原语、唤醒进程原语、功能:恢复该进程占用的资源,从其队列中移除该进程的印刷电路板,并将印刷电路板占用的存储区域返回给系统。功能:将被阻塞过程的字段信息保存到印刷电路板,并将状态更改为阻塞;印刷电路板设置在相应的阻塞队列中。如果它本身被阻塞,在调用原语后,处理器将被重新分配。2.4线程,2.4.1线程概念,引入线程的原因,1。进程不仅是资源分配的单位,也是处理器调度的单位。为了提高进程的并发执行程度,降低进程切换的成本,进程只具有“资源所有者”的特征,而“调度和运行”的特征赋予了新的实体线程。2.所谓的“线程”是指在进程中实现处理器调度和分
11、配的单元。有时进程被称为“过载进程(HWP)”,线程被称为“轻载进程(LWP)”。,单进程,单线程,单进程,多线程,多进程,每个进程一个线程,多进程,每个进程多个线程,线程状态,3。创建,块,醒醒,如果进程被理解为操作系统逻辑上需要完成的任务,那么线程就是在任务完成时可以并发执行的多个子任务。如图所示,给出了进程和线程之间的各种关系。沟通关系:不同的流程使用系统提供的流程沟通机制;同一个进程的每个线程都是通过访问共享的进程地址空间直接实现的。一组寄存器(如程序计数器、状态寄存器、通用寄存器等)的内容。)描述处理器的工作条件;2.4.2过程和线程之间的关系,1。当一个线程执行时,它必须有自己的堆
12、栈(程序计数器、通用寄存器、局部变量和返回地址等)。)、优先级、标识、运行状态等。因此,系统应该为每个线程设置一个线程控制块,以实现系统对线程的管理和控制。线程TCB的四个组件,(1)唯一的线程标识;(2)、(3)、两个堆栈指针,一个指向用户堆栈,另一个指向系统堆栈;(4)私人场地保护区。、印刷电路板、数据、程序、用户堆栈、系统堆栈、寄存器、单线程进程模型、进程、印刷电路板、数据、程序、用户堆栈、系统堆栈、寄存器、TCB、用户堆栈、系统堆栈、寄存器。(b)进程和线程之间存在一些差异。(1)、地址空间:不同进程的地址空间相互独立,进程的每个线程共享一个地址空间。(2)、(3)、调度切换:不同进程
13、之间的切换需要很大的开销,而同一个进程的线程切换开销很小。资源:引入线程后,进程中的所有线程共享进程拥有的所有资源,如代码段、数据、打开的文件和输入/输出设备;线程只有少量运行时必需的资源,如程序计数器、一组寄存器和堆栈。调度:引入线程后,进程是资源的所有者,线程是处理器调度和分配的单位。因此,同一进程中线程的切换不会导致进程的切换;当一个进程中的一个线程切换到另一个进程中的一个线程时,它将导致该进程切换。在引入线程之后,有两种并发执行:一种是进程之间的并发执行,另一种是进程中线程的并发执行。因此,系统对进程和线程的管理有了新的含义。并发性:通过引入线程,不仅进程,而且一个进程中的多个线程都可
14、以并发执行,因此系统具有更好的并发性,从而大大提高了系统的资源利用率和吞吐量。(3)、(4)、开销:当创建和撤销一个进程时,系统必须做很多关于资源分配和恢复的工作;在进程间切换时,系统会将旧进程的内容调出到辅助存储器,并将新进程的内容调入到存储器中保存字段信息。由于同一进程中的线程具有相同的地址空间,在它们之间切换只需要保存和设置少量的寄存器内容,不涉及内存管理的操作。2.5作业调度,2.5.1用户和操作系统之间的两个接口,1。两个接口、程序接口,操作系统提供各种系统调用命令,以便用户在编程时可以得到所需的功能服务。这是系统在程序级别对用户的支持。命令接口,操作系统提供各种操作命令,以便用户可
15、以通过键盘控制程序的操作。这是系统在作业控制级别向用户提供的支持。一些概念,特权指令和非特权指令将CPU指令分为两类:一类是操作系统和用户都可以使用的指令,称为“非特权指令”;一种是只能由操作系统使用的指令,称为“特权指令”。管理状态和目标状态,这是中央处理器的两种工作状态:当它处于管理状态时,它可以执行所有的机器指令,包括特权指令;当处于目标状态时,只能执行非特权指令,禁止使用特权指令。在一般的过程调用中,调用者和被调用者都在相同的中央处理器状态下运行;但是,当系统调用发生时,发出调用命令的调用方在目标状态下运行,而被调用对象在托管状态下运行。系统调用命令、具有不同功能的子程序在操作系统中预先编程,用户可以在自己的程序中调用它们,以便操作系统提供功能服务。这些子程序被称为“系统函数调用”程序,简称为“系统调用”。访问命令是非特权命令,其功能是在执行时产生一个软中断,提示中央处理器从目标状态改变到管理状态,进入操作系统。用户程序只有通过访问管理指令才能从目标状态变为管理状态,从而达到调用系统调用命令的目的。访问命令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论