处理器管理.ppt
- 文档编号:1726296
- 上传时间:2022-10-23
- 格式:PPT
- 页数:45
- 大小:302KB
处理器管理.ppt
《处理器管理.ppt》由会员分享,可在线阅读,更多相关《处理器管理.ppt(45页珍藏版)》请在冰豆网上搜索。
处理器管理,什么是多道程序设计,让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术称为多道程序设计。
这种计算机系统称为多道程序设计系统,简称为多道系统。
采用多道程序设计技术要注意下面三方面问题:
存储保护:
保证各道程序互不侵犯程序浮动:
程序放在主存的任意区域都能正确执行,甚至在执行过程中改变存储区都不受影响,这种技术称为程序浮动。
资源的分配和调度:
竞争处理器、外围设备,为什么要采用多道程序设计,假设一个程序由输入、处理、输出组成,分别用时t0,t1,t2,为什么要采用多道程序设计,现代计算机中的硬件使得处理机与外设具备了并行工作的能力。
输入,处理,打印,t0,t1,t2,1,1,1,2,2,2,为什么要采用多道程序设计,采用多道程序设计技术后,能提高整个系统的效率,具体表现为:
提高了处理机利用率,从而提高单位时间的算题量充分利用外设资源发挥了处理器和外围设备以及外围设备之间的并行工作能力提高资源的利用率,增加了单位时间内的算题量,从而提高了吞吐量,单道程序的顺序执行,当一个程序独占处理器顺序执行时,它具有以下特性:
顺序:
多个程序之间,同一程序内部封闭:
运行结果不受外界因素影响可再现:
只要初始条件相同,运行结果也相同,多道程序的并发执行,当多个程序并发执行时,它具有以下特性:
失去封闭:
程序执行受到外界影响失去可再现:
程序的每次运行,其执行周期、执行过程中系统资源的状态都会不同间断:
由于共享资源或相互合作,程序并发运行时相互制约,进程的定义,程序是具有独立功能的一组指令或一组语句的集合,或者说是指出处理器执行操作的步骤。
程序的执行必须依赖于一个实体-数据集。
把一个程序在一个数据集上的一次执行称为一个进程。
程序是静态的文本,进程是动态的过程,进程包括程序和程序处理的对象(数据集)。
为什么要引入进程,提高资源的利用率把一个计算问题分成n个独立执行的程序模块,例如输入进程、打印进程、处理进程,进程间可以并行工作,提高系统的利用率正确描述程序的执行情况假设有编译程序P,将c语言的源文件编译为目标文件,使用P编译a.c和b.c,两个并行,编译a.c,编译b.c,t0,t1,第1条指令,第n条指令,暂停,第1条指令,如何描述t1时刻P程序的状态呢?
正在暂停?
还是开始编译b.c?
引入进程后,P为a.c服务时的进程称为Pa,P为b.c服务时的进程称为Pb。
Pa的状态是等待I/O,Pb的状态是开始执行,进程的特性,动态性:
执行过程中状态不断发生变化并发性:
进程可同时执行,轮流占用处理器异步性:
执行速度不可预知独立性:
进程是能独立运行的基本单位,进程的基本状态,进程有三种基本调度状态就绪状态(ready):
进程已获得除处理机外的所需资源,只要分配处理器就可执行。
运行状态(running):
进程已获得处理机,正在执行。
等待/阻塞状态(blocking):
进程在运行过程中,因等待某一事件(如等待某一输入输出操作完成)而暂停的状态称为阻塞状态,,进程的创建状态和退出状态,进程的创建状态和退出状态,进程的创建当系统为一个程序分配了一个工作区和建立了一个进程控制块后就创建了一个进程。
进程控制块是进程存在的标识,一个刚被创建的进程其初始状态是就绪态。
进程的退出当一个进程完成了特定任务后,系统收回这个进程所占的工作区和取消其进程控制块。
进程的挂起状态,挂起进程在操作系统中可以定义为暂时被淘汰出内存的进程用户请求调试程序内外存对换调节负载,挂起就绪,挂起阻塞,挂起,激活,挂起,激活,进程的组成,进程由程序、数据、堆、栈和PCB组成。
程序和数据是进程的实体。
堆栈记录程序调用时的参数和调用地址信息。
PCB记录进程运行的动态信息。
进程控制块-PCB,为了标识进程,记录各个进程执行时的情况,操作系统在创建进程时为每个进程设置一个进程控制块(ProcessControlBlock,简称PCB)。
不同的操作系统,进程控制块记录信息的内容与数量是不相同的。
一般情况下,进程控制块应包含四类信息,进程和PCB的关系,系统中所有进程都有自己的PCB。
操作系统利用PCB实现进程的动态管理和并发执行。
PCB是进程存在的唯一标志。
进程队列的链接,为了便于管理,经常把处于相同状态的进程PCB链接在一起,称为进程队列。
进程队列可以用进程控制块的链接来形成,同一进程队列中,通过进程控制块中的队列指针联系起来。
链接方式有两种:
单向链接和双向链接。
进程队列的链接,向后指针,向前指针,进程队列,硬件环境硬件保护措施之特权指令,硬件把中央处理器执行的指令分成两类特权指令:
不允许用户程序中直接使用的指令,只允许操作系统使用。
例如:
“启动IO”,设置时钟,设置控制寄存器等一类可能影响系统安全的指令。
此类功能应请求操作系统代为完成。
非特权指令:
除特权指令以外的指令,硬件环境硬件保护措施之管态和目态,万一用户程序中出现了特权指令怎么办?
如何知道当前执行的指令是用户程序的还是操作系统的?
为了解决这个问题,中央处理器设置了两种工作状态:
管态和目态。
管态:
当中央处理器处于管态时可以执行包括特权指令在内的一切机器指令。
操作系统占用中央处理器时,应让处理器工作在管态。
目态:
当中央处理器处于目态时不允许执行特权指令,用户程序占用中央处理器时,应让处理器工作在目态。
在目态下,如果中央处理器取得了一条特权指令,将会拒绝指令该指令,形成“非法操作”事件,硬件识别后暂停当前程序执行,交给操作系统处理,操作系统通知用户“程序中有非法指令”必须修改,操作系统与用户的接口操作控制命令,用户通过操作系统来使用计算机系统。
操作系统为用户提供两种类型的使用接口:
操作员级接口和程序员级接口操作员级接口是一组操作控制命令从键盘输入命令,从菜单选择命令,系统调用,操作系统编制了许多不同功能的子程序(读文件、写文件、分配主存、启动I/O等)供用户程序调用。
这些操作系统提供的子程序称为系统功能调用程序,简称系统调用。
系统调用是操作系统为用户程序提供的一种服务界面,是操作系统保证程序设计语言能正常工作的一种支持。
在源程序一级,用户程序设计语言的读文件、写文件等要求的实现只有通过操作系统的系统调用才能完成。
系统调用是在管态下执行的程序。
系统调用,inta=12;a+;把a的值输出到d:
/a.txt,100100101001001011011111100100101001001010010010110111111001001010010010100100101010101010101010(访管指令)1100110011001100,CPU执行到访管指令(目态),执行操作系统相应的系统调用CPU转换为管态,源代码,系统调用是如何被调用的?
write(fd,buffer,nbytes);,系统调用,现在的计算系统硬件中都设置了“访管指令”,在目态下执行。
编译程序把源程序翻译成目标程序时,把需要调用系统功能的代码转换成一条访管指令,并设置一些参数。
处理机执行到访管指令时产生一个中断事件,中央处理器由原来目态下执行用户程序,变成在管态下执行操作系统的系统调用程序(目态和管态的转换)。
系统调用功能完成后,操作系统又使中央处理器返回目态下执行用户程序。
系统调用种类,文件操作类打开文件、新建文件、读文件、写文件、关闭文件、删除文件等资源申请类请求分配主存空间、归还主存空间、分配外设、归还外设等控制类程序正常结束、异常结束、返回断点/指定点等信息维护类设置/获取日历、时间、设置/获取文件属性等,进程的控制,操作系统中往往设计一些能完成特定功能且不可中断的过程,这些不可中断的过程称为原语。
用于进程控制的原语有:
创建原语:
为一个程序分配一个工作区和建立一个进程控制块,并设置该进程为就绪状态。
撤销原语:
一个进程完成工作后,收回它的工作区和进程控制块阻塞原语:
进程运行过程中发生等待事件,把进程改为等待态唤醒原语:
当进程等待的事件发生时,把进程的状态改为就绪态挂起原语:
挂起进程激活原语:
激活挂起的进程,线程,引入目的减少程序并发执行时所付出的时间和空间开销。
进程并发执行,OS执行的操作1)创建进程:
建立PCB,分配内存等;2)撤销进程:
回收资源,撤销PCB;3)进程切换:
保存现场,进程的缺陷,每个进程要占用一个进程控制块和一个私有的主存区域,开销较大进程之间的通信必须由通信机制来完成,速度较慢进程的增多会给调度和控制带来复杂性,增加了死锁的机会因此要避免设计过多的进程,线程的定义,线程是进程中可独立调度的执行单元,一个进程中可以有一个或多个线程,每个线程有唯一的标识符。
线程的属性每个线程有一个唯一的标识符和一张线程描述表。
不同的线程可以执行相同的程序。
线程共享分配给进程的主存地址空间。
线程是处理器调度的单位一个线程被创建后,便开始它的生命周期,直至终止。
线程的定义,线程和进程由许多相似之处,所以把线程又称为”轻型进程“。
线程和进程的根本区别是:
进程是资源分配的单位,而线程是调度和执行的单位。
线程和进程的比较,调度线程不拥有资源,在调度和切换时系统开销小。
并发性进程间可以并发,进程内部的各个线程间也可以并发,提高系统吞吐量。
拥有资源进程拥有资源,线程不拥有资源,但可以共享进程资源。
系统开销由于进程拥有资源,在进程状态转换时,需要对其资源进行处理,系统开销大。
什么是中断,一个进程占用处理机运行时,由于自身或外界的原因使运行被打断,让操作系统处理所出现的事件,到适当的时候再让被打断的进程继续运行。
称这个进程在运行中被“中断”了,引起中断的事件称为中断源,对出现的事件进行处理的程序称为中断处理程序。
中断源为了获得CPU服务而向CPU发出的请求信息,称为中断请求CPU检测到中断请求信号转向中断处理子程序的过程叫做中断响应。
被中断的主程序的位置称为断点中断处理子程序做的事情叫做中断处理。
中断处理子程序结束后返回被中断的位置的过程叫做中断返回。
中断类型,从中断事件的性质来说,可以分成以下两大类:
强迫性中断事件:
不是正在运行的程序所期待的,由于外部的请求或者意外事故而迫使正在运行的进程被打断。
自愿性中断事件:
正在运行的进程所期望的中断事件,是正在运行的进程执行一条“访管指令”请求系统调用所引起的中断。
自愿性中断也称访管中断。
中断请求,各种外部中断请求信号通过中断控制器汇集到CPU。
中断控制器就是在一个计算机系统中专门用来管理中断的器件,它的功能是接收外部中断源的中断请求中断控制器对中断请求进行处理后(排优)再向CPU发出中断请求,然后则由CPU响应中断并进行处理。
中断响应,CPU检测到中断请求信号转向中断处理子程序的过程叫做中断响应。
检查有没有中断请求若有,暂停现行进程,保护被中断进程的断点启动操作系统的中断处理程序,检查是否有中断,内部中断可以CPU由内部逻辑电路直接提出中断字寄存器中断字寄存器初值为0,有中断发生时,根据具体事件将相应的位置置1中断装置只要检查中断字寄存器就能知道是否有中断发生。
保护断点,每个处理器设置一个用来存放当前运行进程的PSW的寄存器,称为程序状态字寄存器。
程序状态字包含三部分内容程序基本状态指令地址:
下一条指令地址条件码:
条件码目态/管态等待/计算中断码中断屏蔽位,启动中断处理程序,根据中断类型码,查询中断向量表,得到中断处理程序地址。
CPU转而执行中断处理子程序。
中断过程,当前PSW,中断码:
01,中断处理,操作系统的中断处理程序对中断事件进行处理,中断处理程序主要工作有如下几方面:
保护被中断进程现场通用寄存器、控制寄存器、旧PSW内容保存到进程控制块中分析中断原因查询旧的PSW中的中断码,分析具体的中断原因处理发生的中断交给相应的子程序处理,中断优先级和中断屏蔽,中断装置按照预定的顺序响应同时出现的中断事件,这个预定的顺序称为“中断优先级”。
中断装置先响应优先级高的,再响应优先级低的。
中断处理程序在处理的过程中,又响应了另一个中断事件,会形成多重嵌套处理。
如果希望在一个中断处理程序没有结束前,不响应其他中断事件,或者只响应比当前级别高的中断事件,采用中断屏蔽技术。
有些中断是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 处理器 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)