《操作系统 ---- 处理器管理》由会员分享,可在线阅读,更多相关《操作系统 ---- 处理器管理(179页珍藏版)》请在金锄头文库上搜索。
1、第二章第二章 处理器管理处理器管理1 1概述概述l l处理器管理是操作系统中最核心的部分,处理器管理是操作系统中最核心的部分, 因为它管理的也是计算机中最重要的硬件因为它管理的也是计算机中最重要的硬件l l处理器管理负责管理、调度和分配处理器处理器管理负责管理、调度和分配处理器 ,并控制程序的执行。,并控制程序的执行。l l处理器管理的优劣直接影响系统的性能处理器管理的优劣直接影响系统的性能l l操作系统中最重要的是处理器管理操作系统中最重要的是处理器管理l l处理器管理中最重要的是处理器调度处理器管理中最重要的是处理器调度l l两种并发的形式:两种并发的形式:交替执行(单交替执行(单CPUC
2、PU)并行执行(多并行执行(多CPUCPU)l l在设计一个操作系统时,既要考虑单在设计一个操作系统时,既要考虑单CPUCPU ,也要考虑多,也要考虑多CPUCPUl l或者说,在设计时,不能假设或者说,在设计时,不能假设CPUCPU的数目的数目l l对一个进程的资源,在调度时还可以进一对一个进程的资源,在调度时还可以进一 步细分,最小的调度单位称作线程步细分,最小的调度单位称作线程(Thread)(Thread)l l各种操作系统对线程的实现方式,各不相各种操作系统对线程的实现方式,各不相 同同2 2处理器硬件介绍处理器硬件介绍1.1.体系结构体系结构处理器的任务:按照程序计数器的指向,处理
3、器的任务:按照程序计数器的指向, 从主存中读取指令,对指令进行译码,取从主存中读取指令,对指令进行译码,取 出操作数,然后执行指令出操作数,然后执行指令l l根据处理器的数目,可以分为单处理器系根据处理器的数目,可以分为单处理器系 统和多处理器系统统和多处理器系统l l早期的计算机是单处理器结构,采用流水早期的计算机是单处理器结构,采用流水 线、发射体系结构等技术,加快指令的执线、发射体系结构等技术,加快指令的执 行行l l并行技术出现后,发展得比较好的一种体并行技术出现后,发展得比较好的一种体 系结构为:多指令流多数据流结构系结构为:多指令流多数据流结构l l分为两类分为两类共享存储共享存储
4、分布式存储分布式存储所谓共享式存储,是指共享所有处理器所谓共享式存储,是指共享所有处理器 ,平等地访问同一个物理内存,平等地访问同一个物理内存根据处理器分配策略,又可以分为两类:根据处理器分配策略,又可以分为两类:I. I.主从式系统(主从式系统(Main/Slave Multi-Main/Slave Multi- Processor, MSPProcessor, MSP)II.II.对称式系统(对称式系统(Symmetric Multi-Symmetric Multi- Processor, SMPProcessor, SMP)l lMSPMSP:在特别的处理器上运行内核,在其:在特别的处理
5、器上运行内核,在其 他处理器上运行系统程序和应用程序他处理器上运行系统程序和应用程序l l优点:实现简单优点:实现简单l l缺点:主缺点:主CPUCPU一旦崩溃,系统就崩溃,且一旦崩溃,系统就崩溃,且 主主CPUCPU会成为系统性能的瓶颈会成为系统性能的瓶颈l lSMPSMP:内核与应用程序可以运行在任意:内核与应用程序可以运行在任意 CPUCPUl l优点:对称性,单一地址空间,可靠性、优点:对称性,单一地址空间,可靠性、 扩充性好扩充性好l l缺点:实现复杂缺点:实现复杂分布式存储:每个处理单元有自己独立的分布式存储:每个处理单元有自己独立的 主存与通道,各个单元之间通过线路或网主存与通道
6、,各个单元之间通过线路或网 络相连络相连例如集群(例如集群(CluserCluser)就是一种典型的分布)就是一种典型的分布 式系统式系统l l现今大多数通用操作系统既支持单处理器现今大多数通用操作系统既支持单处理器 系统,也支持多处理器系统和集群系统系统,也支持多处理器系统和集群系统2.2.寄存器寄存器寄存器用于存储数据、变量和运算的中间寄存器用于存储数据、变量和运算的中间 结果,用于加快运算,保存状态结果,用于加快运算,保存状态某时刻寄存器的内容,描述了一个进程当某时刻寄存器的内容,描述了一个进程当 时的执行状态,称为处理器现场时的执行状态,称为处理器现场3.3.指令指令每台计算机的机器指
7、令的集合,称为指令每台计算机的机器指令的集合,称为指令 系统,它反映了该计算机的能力系统,它反映了该计算机的能力l l指令的分类:指令的分类:数据处理类数据处理类转移类转移类数据传送类数据传送类移位与字符串类移位与字符串类I/OI/O类类l l指令可分为特权指令和非特权指令指令可分为特权指令和非特权指令l l特权指令,是指只能被内核使用的指令,特权指令,是指只能被内核使用的指令, 比如启动设备,设置时钟,控制中断屏蔽比如启动设备,设置时钟,控制中断屏蔽 位,清空主存,建立存储键,加载位,清空主存,建立存储键,加载PSWPSW等等 关键操作关键操作l l非特权指令,是指可以被应用程序使用的非特权
8、指令,是指可以被应用程序使用的 一些指令,当然内核也可以使用一些指令,当然内核也可以使用l l即,内核可以使用全部指令(特权与非特即,内核可以使用全部指令(特权与非特 权),而应用程序只能执行非特权指令权),而应用程序只能执行非特权指令l l如果应用程序中出现了特权指令,则会产如果应用程序中出现了特权指令,则会产 生保护中断,程序会转入特定的异常处理生保护中断,程序会转入特定的异常处理 程序进行处理程序进行处理4.4.处理器状态:表明此时处理器是运行在内处理器状态:表明此时处理器是运行在内 核上还是应用程序上,即当时可以使用哪核上还是应用程序上,即当时可以使用哪 些指令些指令分为两种状态:核心
9、态(分为两种状态:核心态(Kernel ModeKernel Mode, 也叫管态),用户态(也叫管态),用户态(User ModeUser Mode,也叫,也叫 目态)目态)l l核心态:核心态:l l运行在内核上运行在内核上l l可以执行所有指令可以执行所有指令l l可以访问所有内存与其他资源可以访问所有内存与其他资源l l可以改变处理器状态可以改变处理器状态l l用户态:用户态:l l运行在一般应用程序上运行在一般应用程序上l l只能执行非特权指令只能执行非特权指令l l只能访问属于该进程的内存和其他资源只能访问属于该进程的内存和其他资源l l不能改变处理器状态,除非采用特定的方不能改变
10、处理器状态,除非采用特定的方 式式l lIntel x86Intel x86中,定义了这么几种级别中,定义了这么几种级别0 0 内核级内核级1 1 系统调用级系统调用级2 2 共享库级共享库级3 3 应用程序级应用程序级实际使用时,根据操作系统自己的策略实际使用时,根据操作系统自己的策略l l何时可由用户态转入核心态,两种途径:何时可由用户态转入核心态,两种途径:执行系统调用,申请操作系统服务执行系统调用,申请操作系统服务产生中断或异常产生中断或异常l l前者为应用程序主动发起的前者为应用程序主动发起的l l后者是由于产生了意外事件导致的后者是由于产生了意外事件导致的l l总之,应用程序需要在
11、受控制的情况下,总之,应用程序需要在受控制的情况下, 改变处理器状态,并被安排跳转到指定的改变处理器状态,并被安排跳转到指定的 地方开始执行地方开始执行5.5.程序状态字程序状态字PSWPSW(Program Status WordProgram Status Word),主要作),主要作 用是实现程序状态的保护与恢复用是实现程序状态的保护与恢复l l每个每个CPUCPU都有一个存放都有一个存放PSWPSW的硬件装置,的硬件装置, 而相应,每一个进程都有一个而相应,每一个进程都有一个PSWPSW的数据的数据 结构,当某一个进程占用结构,当某一个进程占用CPUCPU执行时,它执行时,它 把自己的
12、把自己的PSWPSW放入放入CPUCPU,当这个进程被换,当这个进程被换 出时,也更新它的出时,也更新它的PSWPSW数据结构数据结构l l注:并非每个注:并非每个CPUCPU都有一个真正的都有一个真正的PSWPSW寄寄 存器,一些存器,一些CPUCPU采用几个寄存器来实现采用几个寄存器来实现 PSWPSW寄存器的方式寄存器的方式l l如如Intel x86Intel x86中,用中,用EFLSGSEFLSGS和和EIPEIP来表示来表示 PSWPSWl l分为三类标志分为三类标志状态标志:状态标志:OFOF,SFSF,ZFZF,AFAF,CFCF,PFPF ,ACAC,串扫描,串比较等。,串
13、扫描,串比较等。控制标志:控制标志:DFDF,VMVM,IFIF位位系统标志:系统标志:IOPLIOPL,NTNT,RFRF,用户保护模,用户保护模 式式2 2中断中断l l现代的操作系统,是由中断驱动的现代的操作系统,是由中断驱动的1.1.定义(定义(interruptinterrupt):是指在程序执行过程):是指在程序执行过程 中,遇到急需处理的事件时,暂时中止现中,遇到急需处理的事件时,暂时中止现 行程序在行程序在CPUCPU上的运行,转而执行相应的上的运行,转而执行相应的 事件处理程序,待处理完成后,再返回断事件处理程序,待处理完成后,再返回断 点或调度其他程序执行点或调度其他程序执
14、行l l请大家思考下,中断有什么好处?请大家思考下,中断有什么好处?l l中断最初是用来解决中断最初是用来解决CPUCPU轮询外围设备导轮询外围设备导 致大量浪费致大量浪费CPUCPU时间的问题,后来这种机时间的问题,后来这种机 制被应用到其他各种情形中,包括系统调制被应用到其他各种情形中,包括系统调 用、异常,也出现了用软件模拟中断机制用、异常,也出现了用软件模拟中断机制 这种行为这种行为l l中断有中断源或中断装置发出,其共性:中断有中断源或中断装置发出,其共性: 改变处理器的操作执行次序,同时也是实改变处理器的操作执行次序,同时也是实 现了把控制权从应用程序转移出来的功能现了把控制权从应
15、用程序转移出来的功能 ,比如从应用程序转移到内核,比如从应用程序转移到内核2.2.分类:分类:按照中断是由硬件还是软件发出的,可分按照中断是由硬件还是软件发出的,可分 为:为:硬中断:由硬件发给硬中断:由硬件发给CPUCPU的中断的中断软中断:由软件发给软中断:由软件发给CPUCPU的中断的中断l l硬中断可以继续按照中断源硬件所处的硬中断可以继续按照中断源硬件所处的 位置,分为:位置,分为:I. I.外中断:来自处理器之外的硬件产生的外中断:来自处理器之外的硬件产生的 中断信号,比如键盘中断,设备中断中断信号,比如键盘中断,设备中断II.II.内中断:来自处理器内部的硬件产生的内中断:来自处
16、理器内部的硬件产生的 中断中断l l外中断信号,不一定是代表了一定发生了外中断信号,不一定是代表了一定发生了 需要需要CPUCPU处理的事情,很多时候,只是告处理的事情,很多时候,只是告 诉一下诉一下CPUCPU设备完成了某项工作,这个时设备完成了某项工作,这个时 候,候,CPUCPU其实并不一定要知道这个中断发其实并不一定要知道这个中断发 生了生了l l因此,外中断可以分为可屏蔽中断与不可因此,外中断可以分为可屏蔽中断与不可 屏蔽中断屏蔽中断l l有一些中断,是比较紧急的情况,是不可有一些中断,是比较紧急的情况,是不可 以忽略的,以忽略的,CPUCPU在收到这些中断信号后,在收到这些中断信号后, 必须马上进行处理,否则会引起系统的问必须马上进行处理,否则会引起系统的问 题,这些就是不可屏蔽中断题,这些就是不可屏蔽中断l l内中断:内中断:CPUCPU在运算过程中,也会出现一在运算过程中,也会出现一 些错误或者意外事件,这