2.1中央处理器2.2中断技术2.3进程及其实现2.4线程及其实现2.5处理器调度2.6批处理作业的管理与调度2.7低级调度第2章处理器管理主要内容:单处理器系统和多处理器系统寄存器特权指令与非特权指令处理器状态程序状态字寄存器2.1中央处理器进程可以被调度在一个处理器上交替执行,或在多个处理器上同时执行。交替执行和同时执行都是并发的类型。一、单处理器系统和多处理器系统(1)计算机系统的核心是中央处理器。1.单处理器系统:一个计算机系统只包括一个运算处理器。2.多处理器系统:一个计算机系统有多个运算处理器。3.串行和并行早期计算机系统是基于单个处理器的顺序处理机器,程序员编写串行执行的代码,让其在处理器上串行执行,每条指令的执行也是串行的(取指令、取操作数、执行操作、存储结果)。提高计算机处理速度的技术:流水线技术、发射体系结构(超标量结构、超流水线结构、超长指令字结构)一、单处理器系统和多处理器系统(2)4.计算机系统结构分类目前计算机系统可以分作以下四类:单指令流单数据流(SISD)一个处理器在一个存储器中的数据上执行单条指令流。单指令流多数据流(SIMD)单条指令流控制多个处理单元同时执行,每个处理单元包括处理器和相关的数据存储,一条指令控制了不同的处理器对不同的数据进行操作。向量机和阵列机是这类计算机系统的代表。多指令流单数据流(MISD)一个数据流被传送给一组处理器,通过这一组处理器上的不同指令操作最终得到处理结果。一、单处理器系统和多处理器系统(3)多指令流多数据流(MIMD):多个处理器对各自不同的数据集同时执行不同的指令流。MIMD系统划分为:共享内存紧密耦合MIMD系统内存分布松散耦合MIMD系统1)紧密耦合MIMD系统可以分为主从式系统MSP(Main/SlaveMultiprocessor)对称式系统SMP(SymmetricMulti-Processor)主从式系统(MSP)基本思想是:在一个特别的处理器上运行操作系统内核,其他处理器上则运行用户程序和操作系统例行程序,内核负责分配和调度各个处理器,并向其他程序提供各种服务。一、单处理器系统和多处理器系统(4)对称式多处理器系统(SMP)中有两个或两个以上的处理器,操作系统内核可以运行在任意一个处理器上。每个处理器都可以自我调度运行的进程和线程,单个进程的多个线程可在不同处理器上同时运行。操作系统内核也被设计成多进程或多线程,内核的各个部分可以并行执行。2)松散耦合MIMD系统每个处理单元都有一个独立的内存储器,各个处理单元之间通过设定的线路或网络通信,多计算机系统和集群(Cluster)系统都是松散耦合MIMD系统的例子。集群(Cluster)系统是一组互连的计算机系统,属于分布式系统的一种。集群操作系统也是分布式操作系统的一种。集群系统运行时构成统一的计算资源,给人以一台机器的感觉。集群系统中的每一台计算机离开集群后自己可以独立工作。二、寄存器(1)处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。这组寄存器与程序的执行有很大关系,构成了处理器现场。这些寄存器可分成以下几类:通用寄存器:可由程序设计者指定许多功能,如存放操作数或用作寻址寄存器。数据寄存器:存放操作数,作为内存数据的高速缓存。地址寄存器:指明内存地址,如索引寄存器、段寄存器、堆栈指针寄存器等。I/O地址寄存器:指定I/O设备。I/O缓冲寄存器:用于处理器和I/O设备交换数据。二、寄存器(2)控制寄存器:存放处理器的控制和状态信息,至少包括程序计数器PC和指令寄存器IR,中断寄存器以及用于存储器和I/O模块控制的寄存器。还有存放将被访问的存储单元地址的存储器地址寄存器,以及存放从存储器读出或欲写入的数据的存储器数据寄存器。其他寄存器三、特权指令与非特权指令(1)1.程序执行的基本过程计算机的基本功能是执行程序,最终被执行的程序是存储在内存中的机器指令程序。处理器根据程序计数器(PC)从内存中取指令到指令寄存器并执行它,PC将自动增长或改变为转移地址指明下条执行的指令。2.指令功能分类机器指令的集合称指令系统。指令分为以下五类:(1)数据处理类指令:执行算术和逻辑运算。(2)转移类指令:改变指令执行序列,如无条件转移、条件转移等。(3)数据传送类指令:用于在处理器的寄存器和寄存器、寄存器和存储器单元、存储器单元和存储器之间交换数据。三、特权指令与非特权指令(2)(4)移位与字符串指令:算术、逻辑、循环移位;字符串的传送、比较、查询、转换。(5)I/O类指令:用于启动外围设备,让主存和外围设备之间交换数据。3.指令使用权限分类引入操作系统后,从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两部分:特权指令和非特权指令。特权指令是指只能提供给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW(程序状态字)等。只有操作系统才能执行指令系统中的全部指令(特权指令和非特权指令),用户程序只能执行指令系统中的非特权指令。三、特权指令与非特权指令(3)如,置程序状态字指令属于特权指令;启动外围设备进行输入/输出的指令也属于特权指令,只能在操作系统程序中执行,否则会出现多个用户程序竞争使用外围设备而导致I/O混乱。如果用户程序试图执行特权指令,将会产生保护性中断,转交给操作系统的“用户非法执行特权指令”的特殊处理程序处理。四、处理器状态(1)中央处理器怎么知道当前是操作系统还是一般用户程序在运行呢?这将依赖于处理器状态的标志。1.处理器状态分类处理器状态又称为处理器的运行模式,有些系统把处理器状态划分为核心状态、管理状态和用户状态,大多数系统把处理器状态简单划分为核心态(特权状态、系统模式、特态或管态)和用户态(目标状态、用户模式、常态或目态)。2.处理器状态与资源和机器指令使用权限的关系当处理器处于核心态时,程序可以执行全部指令,访问所有资源,并具有改变处理器状态的能力;当处理器处于用户状态时,程序只能执行非特权指令。四、处理器状态(2)3.Intelx86处理器状态Intelx86处理器状态有四种,支持4个保护级别,0级权限最高,3级权限最低。一般典型的应用把4个特权级别依次设定为:0级为操作系统内核级。处理I/O、存储管理和其他关键操作。1级为系统调用处理程序级。用户程序可以通过调用这里的过程执行系统调用,但是只有一些特定的和受保护的过程可以被调用。2级为共享库过程级。它可以被很多正在运行的程序共享,用户程序可以调用这些过程,读取它们的数据,但是不能修改它们。3级为用户程序级。受到的保护最少。四、处理器状态(3)各个操作系统在实现过程中可以根据具体策略有选择地使用硬件提供的保护级别,如运行在Intelx86上的Windows操作系统只使用了0级和3级。4.处理器模式转换(状态之间的转换)(1)用户态向核心态的转换两种情况会导致从用户状态向核心态的转换:一是程序请求操作系统服务,执行一条系统调用;二是程序运行时,产生了一个中断事件,运行程序被中断,让中断处理程序工作。这两种情况都是通过中断机构发生的。中断是用户态到核心态转换的唯一途径。四、处理器状态(4)(2)核心态向用户状态的转换每台计算机通常会提供一条特权指令称作加载程序状态字LPSW(LoadPSW),用来实现操作系统向用户程序的转换。五、程序状态字寄存器(1)计算机如何知道当前处于何种工作状态?这时能否执行特权指令?通常操作系统都引入程序状态字PSW(ProgramStatusWord)来区别不同的处理器工作状态。1.IBM360/370系列计算机程序状态字的基本格式8位系统屏蔽(0~7位):表示允许或禁止某个中断事件发生。4位保护键(8~11位):设置存储器保护时,PSW中的这4位保护键与欲访问的存储区的存储键相匹配,否则指令不能执行。4位CMWP字段(12~15位):PSW基本/扩充控制方式位、开/关中断位、运行/等待位、用户态/核心态位。16位中断码字段:与中断事件对应,记录当前产生的中断源。五、程序状态字寄存器(2)指令长(32,33位):01/10/11分别表示半字长指令、整字长指令、和一字半长指令。条件码(34,35位)4位程序屏蔽(36~39位):表示允许或禁止程序性中断。24位指令地址(40~63位)XXXXXXXXXXXXXXXX8位系统屏蔽4位CMWP字段4位程序屏蔽4位保护键16位中断码字段指令长和条件码24位指令地址五、程序状态字寄存器(3)2.PSW寄存器包括的内容每个正在执行的程序都有一个与其执行相关的PSW,而每个处理器都设置一个程序状态字寄存器。程序状态字寄存器一般包括以下内容:程序基本状态:(1)程序计数器:指明下一条执行的指令地址;(2)条件码:表示指令执行的结果状态;(3)处理器状态位:指明当前的处理器状态,如目态或管态、运行或等待。中断码。保存程序执行时当前发生的中断事件。五、程序状态字寄存器(4)中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。3.Intelx86程序状态字在Intelx86中,PSW由标志寄存器EFLAGS和指令指针寄存器EIP组成,均为32位。EFLAGS的低16位称FLAGS,标志可划分为三组:状态标志、控制标志、系统标志。•状态标志:使得一条指令的执行结果影响后面的指令。算术运算指令使用溢出标志,符号标志,结果为零标志,辅助进位标志,进位标志,奇偶校验标志;串扫描、串比较、循环指令使用ZF通知其操作结束。五、程序状态字寄存器(5)•控制标志:串指令操作方向标志。虚拟86方式标志(为1时,从保护模式进入虚拟8086模式)。步进标志(为1时,使处理器执行单步操作)。陷阱标志(为1时,允许响应中断,否则关中断)。•系统标志:与进程管理有关:I/O特权级标志、嵌套任务标志和恢复标志,被用于保护模式。指令指针寄存器低16位(保护模式使用32位)。主要内容:中断的概念中断源分类中断和异常的响应及服务中断处理程序中断事件的具体处理方法中断的优先级和多重中断2.2中断技术一、中断的概念中断技术的引入:I/O广泛的应用OS是由中断驱动的中断是指程序执行过程中,当发生某个事件时,中止CPU上现行程序的运行,引出处理该事件的程序执行的过程。中断检测:在每两条指令或某些特殊指令执行期间都检查是否有中断事件发生,若无则立即执行下一条或继续执行,否则响应并处理中断事件。中断源是引起中断的事件。中断装置是发现中断源并产生中断的硬件。中断机制的共性:当中断事件发生后,它能改变处理器内操作执行的顺序。中断是现代操作系统实现并发性的基础之一。二、中断源分类(1)1.从中断事件的性质和激活的手段来分可以分成两类:强迫性中断事件和自愿性中断事件。(1)强迫性中断事件强迫性中断事件不是正在运行的程序所期待的,而是由于随机发生的某种事故或外部请求信息所引起的。这类中断事件大致有:•机器故障中断事件如电源故障、主存储器出错等。•程序性中断事件如定点溢出、除数为0、地址越界等。又称异常•外部中断事件如时钟的定时中断、控制台发控制信息等。•输入输出中断事件如设备出错、传输结束等。二、中断源分类(2)(2)自愿性中断事件自愿性中断事件是正在运行的程序所期待的事件。这种事件是由于执行了一条访管指令而引起的,它表示正在运行的程序对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序的执行而转入访管中断处理程序处理。二、中断源分类(3)运行程序中断处理程序中断装置中断处理程序中断装置机器故障中断事件程序性中断事件外部中断事件输入输出中断事件运行程序访管指令两类中断事件二、中断源分类(4)2.按照中断信号的来源来分(由硬件产生属于硬件中断)(1)外中断(又称中断)指来自处理器和主存之外的中断。外中断包括:电源故障中断、时钟中断、控制台中断、它机中断和I/O中断等。(2)内中断(又