处理器管理和存储管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
处理器的管理
摘要多道程序设计、进程、进程状态、进程控制块、进程队列、可再入程序、中断及中断响应、中断优先级和中断屏蔽、进程调度。
关键词进程及转换状态、处理器管理程序的组成
1多道程序设计
1.1让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称“多道程序设计”,这种计算机系统称“多道程序设计系统” 或简称“多道系统”。
1.2多道程序基本要求
在多道程序设计的系统中,有三点基本要求:用"存储保护"的方法保证各道程序互不侵犯;用"程序浮动"技术让程序能灵活地改变存放区域且能正确执行;必须对资源按一定的策略分配和调度。
多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率。具体表现为:提高了处理器的利用率;充分利用外围设备资源:计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用;发挥了处理器与外围设备以及外围设备之间的并行工作能力;从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。
1.3多道程序设计对算题量和算题时间的影响。
采用多道程序设计能改变系统资源的使用情况,提高系统效率。但是应注意以下两个问题:可能延长程序的执行时间;并行工作道数与系统效率不成正比。从表面上看,增加并行工作道数就可提高系统重定位效率,但实际上并行工作道数与系统效率是不成正比,因为并行的道数要根据系统配置的资源和用户对资源的要求而定:主存储器的大小限制了可同时装入的程序数量;外围设备的数量也是一个制约条件;多个程序同时要求使用同一资源的情况也会经常发生。
总之,多道程序设计能提高系统资源的使用效率,增加单位时间的算题量;但是对每个计算问题来说,从算题开始到全部完成所需要的时间可能延长,另外在确定并行工作道数时应综合系统的资源配置和用户对资源的要求。
2进程
2.1进程的定义:把一个程序在一个数据集上的一次执行称为一个"进程"。
2.2进程是由程序、数据集和进程控制块三部分组成。
2.3进程与程序的区别及关系。程序是静止的,进程是动态的。进程包括程序和程序处理的对象,进程能得到程序处理的结果。进程和程序并非一一对应的,一个程序运行在不同的数据集上就构成了不同的进程。通常把进程分为“系统进程”和“用户进程”两大类,把完成操作系统功能的进程称为系统进程,而完成用户功能的进程则称为用户进程。
3进程状态
3.1通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态:等待态:等待某个事件的完成;就绪态:等待系统分配处理器以便运行;运行态:占
有处理器正在运行。
3.2进程的状态变化
运行态→等待态往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
等待态→就绪态则是等待的条件已满足,只需分配到处理器后就能运行。
运行态→就绪态不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
就绪态→运行态系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。
进程有四个基本属性:多态性从诞生、运行,直至消灭;多个不同的进程可以包括相同的程序;三种基本状态它们之间可进行转换;并发性并发执行的进程轮流占用处理器。
4进程控制块
4.1进程控制块的基本内容。通常进程控制块包含四类信息:
标志信息含唯一的进程名;说明信息有进程状态、等待原因、进程程序存放位置和进程数据存放位置;现场信息包括通用、控制和程序状态字寄存器的内容;管理信息存放程序优先数和队列指针。
4.2进程控制块的作用
进程控制块是操作系统为进程分配的用于标志进程,记录各进程执行情况的。进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。操作系统利用进程控制块对进程进行控制和管理。
进程控制块的作用有:记录进程的有关信息,以便操作系统的进程调度程序对进程进行调度。这些信息包括标志信息、说明信息、现场信息和管理信息等;标志进程的存在,进程控制块是进程存在的唯一标志
5进程队列
5.1进程队列的链接
在多道程序设计的系统中往往会同时创建多个进程。在单处理器的情况下,每次只能让一个进程运行,其他的进程处于就绪状态或等待状态。为了便于管理,经常把处于相同状态的进程链接在一起,称"进程队列",由于进程控制块能标志进程的存在和动态刻画进程的特性,因此,进程队列可以用进程控制块的连接来形成。链接的方式有两种:单向链接和双向链接。
5.2进程基本队列
就绪队列:由若干就绪进程按一定次序链接起来的队列。
等待队列:把等待资源或等待某些事件的进程排列的队列
5.3进程的入队和出队
出队和入队:当发生的某个事件使一个进程的状态发生变化时,这个进程就要退出所在的某个队列而排入到另一个队列中去。
出队:一个进程从所在的队列退出的操作称为出队
入队:一个进程排入到一个指定的队列的操作称为入队。
系统中负责进程入队和出队的工作称为队列管理。
无论单向链接还是双向链接,解决入,出队问题,都是首先找到该队列的队首指针,沿链找出要入队的进程以及它要插入的位置,或找出要出队的进程,然后修
改本进程指针和相邻进程的有关指针值即可。
6可再入程序
什么是可再入程序。一个能被多个用户同时调用的程序称做"可再入"的程序。
可再入程序的性质。可再入程序必须是纯代码,在执行时自身不改变;一个可再入程序要求调用者提供工作区,以保证程序以同样方式为各用户服务。编译程序和操作系统程序通常都是"可再入"程序,能同时被不同用户调用而构成不同的进程。
7中断及中断响应
7.1中断的定义
一个进程占有处理器运行时,由于自身或者外界的原因使运行被打断,让操作系统处理所出现的事件,到适当的时候再让被打断的进程继续运行,这个过程称为"中断"。
7.2中断的类型
从中断事件的性质出发,中断可以分为两大类:
强迫性中断事件包括硬件故障中断,程序性中断,外部中断和输入输出中断等。自愿性中断事件是由正在运行的进程执行一条访管指令用以请求系统调用而引起的中断,这种中断也称为"访管中断"。
自愿中断的断点是确定的,而强迫性中断的断点可能发生在任何位置。
7.3中断的响应和处理
中断响应
处理器每执行一条指令后,硬件的中断位置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称为"中断响应"。
中断响应过程中,中断装置要做以下三项工作:
是否有中断事件发生
判别自愿性中断,只要检查操作码是否为访管指令。
判别强迫性中断,则要检查中断寄存器内容。若为0,则无中断;若非0,则表示有中断事件发生。
若有中断发生,保护断点信息
每个程序都有一个程序状态字来反映本状态的执行状态,如基本状态、中断码和中断屏蔽位等内容。处理器设有一个"程序状态字寄存器"用来存放当前运行程序的PSW。程序状态字可分为当前PSW、旧PSW和新PSW。
当出现中断事件后,把被中断进程的PSW保存为旧PSW,即完成断点信息保护。启动操作系统的中断处理程序工作
中断装置通过"交换PSW"过程完成此项任务,即把出现的中断事件存放到当前PSW中断码位置,然后把该当前PSW保存为旧PSW,再把操作系统中断处理程序的新PSW送到程序状态字寄存器中,成为当前的PSW。
中断处理
操作系统的中断处理程序对中断事件进行处理时,大致要做三方面的工作:
保护被中断进程的现场信息,把中断时的通用寄存器,控制寄存器内容及旧PSW 保存到被中断进程的进程控制块中。
处理发生的中断事件
一般只做一些简单处理,在多数情况下把具体的处理交给其他程序模块去