版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章处理机管理
丰耍内容
:•中断及其功能
:•多道程序设计
:•进程
T•处理机调度
学习目标
:•了解中断的产生和功能
•理解多道程序设计和进程概念
,掌握处理机调度几种算法
•领会进程的几种状态转换
第一节中断
••中断机构对于操作系统的实现非常重要。它
:是现代计算机系统中基本设施之一,在计算
•机系统中起着通信联络作用,协调计算机系
Z统对各种异步事件(无一定时序关系的随机
■事件)的响应与处理。
:•中断是指CPU对系统中发生的异步事件的响应
Z或处理。
:•异步事件是指无一定时序关系而随机发生的
■事件。
:•中断点,读书,书签
:中断在操作系统中的作用与地位
••中断能强迫处理机去执行各中断处理程序
中断具有以下作用
z-能充分发挥处理机的使用效率
2-提高系统的实时处理能力
:•中断是CPU和外部设备并行工作的基础之
:一,是多道程序并发执行的推动力,也是
•整个操作系统的推动力一操作系统是由中
Z断驱动的。
-
中断的功能
:•发现中断源,提出中断请求
:-引起中断的事件称为“中断源”。
Z•保护现场,使得中断处理结束后能继续运行原
:程序。
X-启动并运行处理中断事件的程序
z-对中断进行处理的程序称为“中断处理程序”。
Z•中断类型
X-硬件故障中断、程序中断、外部中断、
--输入'输出中断、访管中断
中断处理
•中断概念:CPU正在执行某程序时,发生了某彳
异步事件,此时CPU打断正在执行的程序,转去
处理该异步事件,这就是所谓中断。
•处理完异步事件(执行一段处理该事件的有关市
序),被打断的程序可以继续执行。
•中断源向CPU发出的请求处理信号称为中断请求;
•发生中断时现行程序的暂停点称为断点;
•CPU暂停现行程序而转去响应中断请求的过程称
为中断响应;I
中断处理
:•CPU执行相关的中断处理程序称为中断处理;
:•CPU处理完中断事件返回断点的过程称为中断
Z返回。
Z•例如:某人(相当于CPU)正在看书,此时电
Z话(相当于中断源)铃响了(异步事件),
Z(发出了中断请求),于是标记正在看的地
一方(断点);再去接电话(中断响应);电
:话接听(中断处理)完毕,挂机,然后接着
:往下看书(中断返回)。
••在单CPU的计算机系统中,整个系统设置一个
:寄存器,即“程序状态字寄存器",用来存
•放当前执行程序的PSW。CPU按程序状态字
:寄存器中的这令地址和设置的其他状态来控
x制某个程序的执行。
:•当操作系统调度到某个程序运行时,必须把
Z该程序的PSW送入程序状态字寄存器,这时
:CPU就控制该程序的运行。
:同样,当某个程序暂时让出CPU时,也必须把
:它的PSW保存好,一旦它能继续执行时又可
•把它的PSW送入程序状态字寄存器中,再继
Z续执行。
E中断响应
:中断响应即解决发现中断和接受中断请求的
Z问题。具体工作包括交换PSW和当有多个中
:断请求同时发生时,响应中断优先级最高的
■由航请求。
:中断响应通常发生在CPU执行完一条指令后,
Z中断机构立即检测有无中断事件发生;
若有,则暂停现行程序(当前PSW)的运行,
Z并将该程序的PSW保存起来(旧PSW),将中
Z断处理程序的PSW(新PSW)装入程序状态
■字寄存器;
Z然后由中断处理程序独占CPU,这就是中断响
T应。
中断处理和中断返回
Z通常由硬件实现中断请求和中断响应;由软
:件完成中断处理和中断返回。
:•中断处理就是执行中断处理程序。中断处理
•程序的人口地址被存放在程序状态字寄存器
:中。不同的中断类型有不同的处理原则,但
一都有保护现场、分析中断事件性质等原则性
z的处理,具体的中断处理由中断处理程序来
■完成。
••中断返回即CPU转去执行前面被中断的程序,
Z通常通过执行特权指令,如iRet,将老PSW单
•元的内容送入现行程序状态字寄存器中。
E第二节多道程序设计
:•多道程序设计的提出
CPU和外设共同工作
资源的合理使用
E程序的顺序执行
:•计算机上运行的是程序,而程序是指令的集
:合,每一个程序完成预先规定的任务和操作。
:•早期的计算机系统基本上都是单处理器系统,
:即系统中只有一个处理器(CPU),只有单道
Z程序的执行功能。也就是说,每一次只允许
■一道程序运行,在这个程序运行时,它将独
:占整个计算机系统的资源,而且系统按照程
:序步骤顺序地执行,在该程序执行完之前,
Z其他程序只能等待,从而不存在共享资源的
•问题。这种程序的执行方式,称为顺序执行。
程序的顺序执行特点
:•1)顺序性(不同程序之间是按一定顺序执行的)|
Z-2)封闭性(程序在运行时独占系统资源,只有程
:序本身能改变系统资源状态(除初始状态外))1
二•3)无关性(即确定性,程序执行结果与其执行力
Z度无关)。[
4)可再现性(程序运行不受外界因素影响,只嘲
:初始条件相同,运行结果也相同)。]
:顺序执行的特点,使得系统管理简单,程序编制
:调试容易。但系统的资源利用率非常低,因为大
・部分时间,尤其是对外部设备操作时,系统CPU
:一直在等待。I
:•例如:进行计算。I:输入操作C:计
:算操作P:打印操作。在进行计算时,
一总是先输入用户的程序和数据,然后进
:行计算,最后将结果打印出来。
■•一•一•一•一•一•
••在单处理器系统中,处理器只有一个,
:每一时刻也只能执行一条指令。那么,
•如何提高单处理器系统的效率呢?能否
:在单处理器上让多个程序同时执行呢?
•这就是程序的并发执行的思想。
••多道程序设计图示。
:•http:〃www.Urtvu.edu.cn/teaching/2001b/o
:s/jiaoxue/index.htm
Z第二节多道程序设计
••多道程序的特点
:•优点:可以使CPU和输入输出设备以及
:其他系统资源得到充分利用。
:-并行性
::多道程序的并行性
Z-共享性
:共享所有的系统资源:CPU、主存
多道程序示例
:•在对一批程序进行处理时,可以并发执行。
:•例如,输入、计算、打印三个程序对一批作
2业进行处理时,存在以下的前趋关系:
三Ii-Ci,,Ci-Pi,Ci-Ci+1,
■PifPi+1
多道程序设计的特征
••不可再现性:由于程序的并发执行,打破了
z由另一程序独占系统资源的封闭性,因而破
•坏了可再现性。
:•间断性:程序并发执行时,由于它们共享资
:源或程序之间相互合作完成一项共同任务,
・因而使程序之间相互制约。
:•通信性:对于相互合作的程序,为了更有效
z地协调运行,相互之间进行通信。
z•独立性:并发程序在运行过程中,既然是作
•为一个独立的运行实体,它也必然具有作为
:一个单位去获得资源的独立性。
Z多道程序设计定义
.定义:Multiprogramming
,多道程序设计是指允许多个程序同时进入内存并运行
Z(引入目的是为了提高系统效率)
与并发不完全是一个概念,但效果相似
,考虑由素:
z♦在多道程序环境下如何向用户提供服务
■•在并发程序之间如何正确传递消息(通讯)
一•如何对CPU进行调度,保证每个用户相对公平地得到
:CPU
■如何管理其他资源
••当各用户对资源使用上发生冲突时,如何处理竞争
:对CPU只能通过调度来解决竞争问题,而对于其他资
•源通过申请一分配一使用一回收的办法进行管理,当
,且仅当占有CPU的时候才可以申请,否则要排队等候
第二节多道程序设计
:•多道程序的目标、方法和主要问题
•主要目标:充分使用系统所有资源并
尽可能地使他们并行工作。
•方法是在一个正在运行的程序不使用
某设备时,让另一程序去使用该设备。
:第二节多道程序设计
••多道程序设计的实现
2-存储保护与程序浮动
X存储器管理
2-处理机的管理和调度
Z处理机调度。运行态、就绪态、等待态
Z负责管理程序占有或释放处理机的软件模
z块称为处理机调度程序。
z-资源的管理和调度
Z资源共享
第二节多道程序设计
=•多道程序系统必须解决的问题
X-提出解决各种冲突的策略
*资源共享引起的问题。独占、死锁
:-协调并发活动的关系
*并发、制约、互斥
Z-保证数据的一致性
Z内存保护
*-实现数据的存取控制
Z文件存取权限管理
第三节进程
••计算机的处理器是重要的系统资源,如
:何充分发挥处理器的功能是历来系统设
Z计者要解决的问题。
:处理器的管理实际上是进程的管理,因
:此,首先需要对进程有一个深刻的认识
2和理解。
:•进程是操作系统中独立运行的单位,是
:程序关于某个数据集合的可并发的一次
・运行活动,是“执行中的程序”。
第三节进程
:•进程的提出
:•多道程序系统的特性
Z-并行性
:-制约性
•-动态性
:•由于程序具有以上特征,因此程序难以
;刻划和反映系统的状况。
:进程的概念
:进程的引入是为了更好地描述系统中的并发
:活动。由于并发活动的复杂性,所以各个操
•作系统中对进程的定义未能统一:
Z•1)进程是程序在处理机上的执行(Dijkstra)。
:•2)进程是可以与别的计算并发执行的计算
:(Donovan)。
:•3)进程是一个程序及其数据在处理机上顺序
Z地执行时所发生的活动(ALanShow)。
:•4)进程是系统资源和程序代码的执行位置的
:集合(Java)o
:•5)进程是进程映像的执行(Unix)。
:进程的描述
:进程是程序关于某个数据集合的可并发的一
•次运行活动。其含义是:
1•1)进程是一次运行活动,即具有动态性。
2)进程的实体是程序和数据集合,即具有结
:构性(每个进程都有相对应的数据结构,人
■们通过这些数据结构及其变化才感觉到进程
Z的存在)。
Z-3)进程是可并发的运行单位,即具有并发性
•和独立性。
••4)并发进程相互制约,呈现走走停停状态,
Z即具有异步性。
z进程具有动态性、并发性、异步性、独立性
邮韶n
••进程是一个动态的概念,程序及其相关的数据由
:合是进程存在的实体,它们均是静态文本。那4
•如何表示一个进程?又如何知道进程的存在呢?
Z在操作系统中,进程通过三个部分被感知,即走
一序、数据集合和进程控制块。
1)程序(program)o进程运行所对应的执行代
z码,一个进程可以对应一个程序,也可以只对瓜
•一个程序的一部分,多个进程也可同时对应一彳
;程序,即这个程序被多个进程所共享,可共享白
・程序代码叫纯代码(pure)或叫可重入代码
Z(reentry),在运行过程中不能被改变。
:•2)数据(data)。进程运行中必需的数据资源,
:包括对CPU的占用、存储器、堆栈、缓冲区、
:I/O通道和I/O设备等的需求信息。
:•3)进程控制块(ProcessControlBlock)。系
:统为进程定义的一种专门的数据结构,简记
■为PCB,用PCB描述进程的运动变化过程,记
Z忆进程的外部特征和与其他进程的联系。PCB
•与进程一一对应,系统创建一个进程,在系
:统区就为进程设置一个PCB,再利用PCB对进
:程进行管理和控制,进程被撤消时,系统就
:收回它的PCB,进程随之消亡。所以,PCB是
T进程存在的惟一标志。
ZPCB包含了进程的描述信息和控制信息:标识
:符二存储信息、现行状态等(不同操作系统
•中采用的PCB不一定相同)。如图所示是一种
XPCB的结构示意图。
z进程状态
Z•进程优先级
2•进程标识符
*•现场保护区
:•进程信号量
Z•进程消息
Z进程名
”•进程参数
顺序执行与并发执行的区别
■顺序执行:并发执行:
•:程序顺序执行间断执行,
三程序具有封闭性程序失去封闭性
£独享资源共享资源(互为存在条件)
:可再现性程序与“计算,,不再一一对应
:有相互制约有直接和间接的相互制约
:设备利用率不高
E为什么要引入“进程”的概念
■:关键是“共享资源”引起的,从资源观
:点看,有效管理共享资源(同步操作、
:异步操作、通信)是操作系统的重要内
:容。
二生活例子:同步:单行道公路和公共汽
二车都是共享资源。只有前面车开走,后
\面的才能开。
二互斥:交叉路口是共享资源。谁先走取
:决于交通指挥。我走时,对方不能走。
进程的定义及特征
:进程是OS动态分配和执行的基本单元
:(构件)。操作系统的五大功能是由许
Z多进程组合完成的。
••程序和进程的区别
:•进程的五个基本特征
程序和进程的区别
■程序进程
,静态的指令序列•动态的程序执行过程
;一程序可对应•一个进程对应至少有
手个进程一个程序在工作
I永久性软件资源•暂存资源,动态产生过程
进程的五个基本特征
:进程是程序在并发系统内的一次执行,
:一个进程有一个从产生到消失的生命期;
正是为了描述程序在并发系统内执行
•的动态特性才引入了进程,没有并发就没有进
•工口
L♦不王;
[Z每个进程的程序都是相对独立的顺序
,程序,可以按照自己的方向和速度独立地向前
:推进;
:进程之间的相互制约,主要表现在互
:斥地使用资源和相关进程之间必要的同步和通
I•讯;
■进程=PCB+程序+数据集合。
进程与线程
:进程是程序的一次执行过程。
I线程是由进程派生出来的一组代码
:(指令组)的执行过程。
/线程二进程优越之处是执行中占有
I
:同的内存空间。在现代操作系统
中,进程是分配单元,而线程是执
:行单元。
E进程的状态及其变化
••进程具有动态特性,各个进程在执行过
:程中交替进行,使它的执行状态不断发
:生变化,操作系统中进程的状态有许多
:种,这些状态的设置和规定与实际的操
X作系统设计有关。
••最基本也是代表进程生命周期的三种状
•态:运行(running)、就绪(ready)和
Z等待(waited或blocked)状态,如图2-3
Z所示。此外还有停止(stop)状态、死
锁(deadlock)状态等。
图2-3进程的状态及其转换
具有挂起操作的进程状态转换图
有的系统有时希望能人为地把进程挂起,使
之处于静止状态,以便研究其执行情况或对它进行
修改。下图示出了具有挂起状态的进程状态演变图。
具有挂起状态的进程状态演变图
:•运行状态:进程的物理运行。
••就绪和等待状态:进程的逻辑运行。
••运行、就绪和等待状态都是宏观上的活
Z动进程。
••停止状态:进程无需再运行。
Z•死锁状态:进程无法执行。
:•停止和死锁状态是静止的状态。
一进程在某个时刻总是处于某种状态,随着进
:程自身的推进和外界条件的变化,进程的状
:态也随之变化。
:1)就绪一运行:处于就绪状态的进程,已具备
:执行的条件,但还未能获得CPU,故还不能执
:行。当有多个进程等待分配处理器时,系统
•按照一定的策略(优先级或时间片)从多个
:处于就绪状态的进程中选择一个进程,让它
■占有CPU,被选中的进程的状态由就绪变为运
[Z行状态。
22)运行一就绪:分配给进程的CPU时间片
・用完而强迫进程让出CPU。或者当优先级高的
:进程要运行,迫使正在运行的进程让出CPU,
・于是正在运行的进程的状态由运行状态变为
Z就绪状态,等待时机再获得CPU控制权。
:•3)运行一等待:处于运行状态的进程能否继
:续运行,除了受CPU时间限制外,还受其他因
•素的影响,如在运行中启动外部设备,等待
2外设进行I/O传输。或进程申请系统资源(内
•存空间、外设)得不到满足。或进程运行中
Z出错时,都使得运行中的进程由运行状态变
■为等待彳犬态。
:4)等待一就绪:被阻塞的进程在某事件被解
Z除后,如I/O结束,或获得了等待的资源,或
一进程故障得到排除等情况下,等待的进程的
•状态由等待状态变为就绪状态,当系统再次
x分配CPU给它,它才能继续运行。
五状态进程模型
•准备退出:父进程可中止子进程
七状态进程模型
挂起
——Suspend
/■活动\调度"、工
「cad",上小唯Dispatch、/释放
Release
肝沙、飞uspend5Ready工叫Running
人挂起八超时
Event事件Event事件
Occurs发生Occurs发生/Event等待
Wait事祚
活动
Activate
<'^BIockcd、十Blocked
<Suspend
Suspend
处理机调度
•进程调度的职能
•(1)记录系统中所有进程的有关情况。
卜I
•(3)分配处理机给进程。
•(4)从进程收回处理机。
进程调度算法
,1.先来先服务
卜2.优先数法
[3.轮转调度
[4.分级轮转法
•http:〃5:7999/czxt/text/ch03/s
e04/342l.htm
:先来先服务
:•这种调度算法按照进程进入就绪队列的
・先后顺序来调度进程,到达得越早,其
一优先数越高。获得处理机的进程,未遇
:到其他情况时,一直运行下去,系统只
二需具备一个先进先出的队列,在管理优
:先数的就绪队列时,这种方法是一种最
;常见策略,并且在没有其他信息时,也
:是一种最合理的策略。
:该算法总是把处理机分配给最先进入就绪队列
Z的进程,一个进程一旦分得处理机,便执行下去,
z直到该进程完成或阻塞时,才释放处理机。
■优点:实现简单.缺点:没考虑进程的优先级
开始执带权周
进程名到达时间服务时间完成时间周转时间
行时间转时间
A010111
B11001101"1001
C21-101102,100(100
D3:100102202*1991.99
优先数法
Z•根据已占有处理机的进程是否可被剥夺而分
:为优先占有法和优先剥夺法两种。
:•优先占有法的原理是:一旦某个最高优先数
•的就绪进程分得处理机之后,只要不是其自
:身的原因被阻塞(如要求I/O操作)而不能继
・续运行时,就一直运行下去,直至运行结束。
:•优先剥夺法的原理是:当一个正在运行的进
z程即使其时间片未用完,无论什么时候,只
•要就绪队列中有一个比它的优先数高的进程,
Z优先数高的进程就可以取代以前正在运行的
・进程,投入运行
z该算法总是把处理机分配给就绪队列中具有最
:高优先权的进程。常用以下两种方法来确定进
:程的优先权(优先级根据优先数来决定)
5静态优先数法:静态优先权是在创建进程时确
:定的,在整个运行期间不再改变。依据有:进
•程类型、进程对资源的要求、用户要求的优先
:权。
5动态优先数法:在进程创建时创立一个优先数,
:但在其生命周期内优先数可以动态变化。如等
•待时间长优先数可改变
:轮转调度
:•先来先服务的一个重要变形,就是轮转规则。
:轮转调度算法是系统把所有就绪进程按先后
•次序排队,处理机总是优先分配给就绪队列
Z中的第一个就绪进程,并分配它一个固定的
•时间片(如100毫秒)。当该运行进程用完规
Z定的时间片时,被迫释放处理机给下一个处
•于就绪队列中的第一个进程,分给这个进程
Z相同的时间片,每个运行完时间片的进程,
:当未遇到任何阻塞时,就回到就绪队列的尾
•部,并等待下次转到它时再投入运行。于是,
:只要是处于就绪队列中的进程,按此种算法
♦迟早总可以分得处理机投入运行。
:把CPU划分成若干时间片,并且按顺序赋
•给就绪队列中的每一个进程,进程轮流占有
:CPU,当时间片用完时,即使进程未执行完
:毕,系统也剥夺该进程的CPU,将该进程排
•在就绪队列末尾。同时系统选择另一个进程
:运行
2简单轮转法:系统将所有就绪进程按FIFO规
•则排队,按一定的时间间隔把处理机分配给
Z队列中的进程。这样,就绪队列中所有进程
•均可获得一个时间片的处理机而运行。
二多级队列方法:将系统中所有进程分成若干
z类,每类为一级。
三分时系统中常用时间片轮转法
:时间片选择问题:
:固定时间片
•可变时间片
三与时间片大小有关的因素:
:系统响应时间
•就绪进程个数
•CPU能力
1)简单轮转法的调度模型
2•分级轮转法
:•所谓分级轮转法就是将先前的一个就绪
:队列。根据进程的优先数不同划分两个
:或两个以上的就绪队列,并赋给每个队
:列不同的优先数。以两个就绪队列为例,
:一个具有较高优先数,另一个具有较低
:优先数,前者称为前台队列,后者称为
二后台队列。
:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论