您好,欢迎访问三七文档
第三章并发进程2.1中央处理器2.2中断技术2.3进程及其实现2.4线程及其实现2.5处理器调度2.6批处理作业的管理与调度2.7低级调度第2章处理机管理第三章并发进程2.1中央处理器2.1.1单处理器系统和多处理器系统2.1.2寄存器2.1.3特权指令与非特权指令2.1.4处理器状态2.1.5程序状态字寄存器第三章并发进程2.1.1单处理器和多处理器系统计算机系统的核心是中央处理器•处理器的任务:按照程序计数器的指向从主存读取指令,对指令进行译码,取出操作数,执行指令。–单处理器系统:一个计算机系统只包括一个运算处理器。–多处理器系统:一个计算机系统有多个运算处理器。第三章并发进程从串型到并行(1)•早期计算机系统是基于单个处理器的顺序处理机器。•程序员编写串行执行的代码,让其在处理器上串行执行,每条指令的执行也是串行的。•为了提高计算机处理速度,出现了指令并行执行问题。第三章并发进程计算机系统结构分类(1)•单指令流单数据流(SISD)•单指令流多数据流(SIMD)•多指令流单数据流(MISD)•多指令流多数据流(MIMD)第三章并发进程计算机系统结构分类(2)•单指令流单数据流:一个处理器在一个存储器中的数据上执行单条指令流。•单指令流多数据流:单条指令流控制多个处理单元同时执行,每个处理单元包括处理器和相关的数据存储,一条指令控制了不同的处理器对不同的数据进行操作。向量机和阵列机是这类计算机系统的代表。第三章并发进程计算机系统结构分类(3)•多指令流单数据流:一个数据流被传送给一组处理器,通过处理器上不同指令操作最终得到处理结果。•多指令流多数据流:多个处理器对各自不同的数据集同时执行不同的指令流。分为两类:–共享存储(紧密耦合)多处理机系统–分布存储(松散耦合)多处理机系统第三章并发进程2.1.2寄存器(1)•计算机系统的处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。第三章并发进程寄存器以intelx86为例,介绍各种寄存器:•通用寄存器--EAX,EBX,ECX和EDX•指针及变址寄存器--ESP,EBP,ESI及EDI•段选择符寄存器--CS、DS、SS、ES、FS、GS•指令指针寄存器和标志寄存器--EIP、EFLAGS•控制寄存器--CR0,CR1,CR2和CR3•外部设备使用的寄存器第三章并发进程外部设备使用的寄存器•数据寄存器或缓冲区•状态寄存器•控制寄存器每个设备控制器都有上述3类寄存器用于和CPU间的通信。第三章并发进程2.1.3特权指令与非特权指令•计算机的基本功能是执行程序,最终被执行的程序是存储在内存中的机器指令程序。•处理器根据程序计数器(PC)从内存中取指令到指令寄存器并执行它,PC将自动增长或改变为转移地址指明下条执行的指令。第三章并发进程特权指令与非特权指令•机器指令的集合称指令系统,反映了一台机器的功能和处理能力。指令分为以下五类:(1)数据处理类指令;(2)转移类指令;(3)数据传送类指令;(4)移位与字符串指令;(5)I/O类指令。第三章并发进程特权指令与非特权指令(3)•从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两部分:特权指令和非特权指令。•特权指令是指只能提供给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW等。这些指令不允许用户使用。•内核可以执行全部指令,用户只能执行非特权指令。第三章并发进程2.1.4处理器状态•中央处理器怎么知道当前是操作系统还是一般用户程序在运行呢?•处理器状态标志和设置处理器成不同状态。•核心态(特权状态、系统模式、管态)和用户态(目标状态、用户模式、目态)。第三章并发进程处理器状态•处理器处于核心态时,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力;处理器处于用户态时,程序只能执行非特权指令。•IntelX86的处理器状态有四种,支持4个保护级别,0级权限最高,3级权限最低。第三章并发进程实例:x86系列处理器•386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)•从R0到R3特权能力依次降低•R0相当于双状态系统的管态•R3相当于目态•R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:3210RRRRIIII第三章并发进程各个级别有保护性检查(地址校验、I/O限制)特权级别之间的转换方式不尽相同四个级别运行不同类别的程序:•R0-运行操作系统核心代码•R1-运行关键设备驱动程序和I/O处理例程•R2-运行其它受保护共享代码,如语言系统运行环境•R3-运行各种用户程序现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别实例:x86系列处理器-2第三章并发进程处理器模式转换•导致处理器从用户态向核心态转换:–一是程序请求操作系统服务,执行系统调用;–二是程序运行时,产生中断或异常事件,运行程序被中断,转向中断处理或异常处理程序工作。第三章并发进程处理器模式转换•两类情况都通过中断机制发生,中断和异常是用户态到内核态转换仅有的途径,当系统中产生中断或异常,处理器作出响应且交换程序状态字,会导致处理器从用户态转向核心态,处理事件的中断或异常处理程序的程序状态字中,处理器模式位一定为“核心态”。第三章并发进程处理器模式转换•如何从内核模式转向用户模式?计算机提供一条特权指令称作加载程序状态字(IBM370为loadPSW指令,Intelx86为iret指令),用来实现从系统(核心态)返回到用户态,控制权交给应用进程。第三章并发进程2.1.5程序状态字寄存器•计算机如何知道当前处于何种工作状态?这时能否执行特权指令?通常操作系统都引入程序状态字PSW(ProgramStatusWord)来区别不同的处理器工作状态。第三章并发进程程序状态字寄存器•PSW用来控制指令执行顺序并保留和指示与运行程序有关的系统状态,主要作用是实现程序状态的保护和恢复。•每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理器执行,它的PSW将占有PSW寄存器。第三章并发进程程序状态字寄存器(2)PSW寄存器包括以下内容:•程序基本状态:(1)程序计数器;(2)条件码;(3)处理器状态位。•中断码。保存程序执行时当前发生的中断事件。•中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。第三章并发进程IBM360/370系列计算机程序状态字的基本格式XXXXXXXXXXXXXXXX8位系统屏蔽4位CMWP字段4位程序屏蔽4位保护键16位中断码字段指令长和条件码24位指令地址第三章并发进程•系统屏蔽位8位(0-7位)表示允许或禁止某个中断事件发生,相应位为0或1时分别表示屏蔽或响应中断。0-7依次为通道0-6和外中断屏蔽位。•保护键4位(8-11位)当没有设置存储器保护时,该4位为0;当设置存储器保护时,PSW中的这四位保护键与欲访问的存储区的存储键相匹配,否则指令不能执行。•CMWP位(12-15位)依次为PSW基本/扩充控制方式位、开/关校验中断位、运行/等待位、目态/特态位。•中断码16位,中断码字段与中断事件对应,记录当前产生的中断源。第三章并发进程•指令长度字段2位(32-33位)01/10/11分别表示半字长指令、整字长指令和一字半长指令。•条件码2位(34-35位),用以表示各种指令执行的结果状态。•程序屏蔽4位(36-39位)表示允许(为1)或禁止(为0)程序性中断,自左向右各位体对应的程序性事件是:定点溢出、十进溢出、阶下溢、39位备用。•指令地址24位(40-63位):指明下一条执行指令的绝对地址。第三章并发进程Intelx86程序状态字•Intelx86中,PSW由标志寄存器EFLAGS和指令指针寄存器EIP组成,均为32位。•EFLAGS的低16位称FLAGS,可以当做一个单元来处理,标志可划分为三组:状态标志、控制标志、系统标志。
本文标题:操作系统
链接地址:https://www.777doc.com/doc-3356683 .html