资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,二,讲,操作系统的硬件环境,讨论操作系统对运行硬件环境的要求,讨论考虑的硬件问题,操作系统运行的硬件环境组成,中央处理器(CPU),存储系统,中断机制,I/O,系统,时钟以及时钟队列,其他,9/17/2024,1,概述,任何系统软件都是硬件功能的延伸,操作系统直接依赖于硬件条件,OS的硬件环境,以较分散的形式同各种管理相结合,实现操作系统时必须理解的,计算机基本结构,操作系统管理的重要资源,9/17/2024,2,简单的个人计算机中的部件,Monitor,Bus,9/17/2024,3,一、中央处理器(CPU),专门设计了一系列基本机制:,- 具有特权级别的处理器状态,能在不同特权级运行的各种特权指令,- 硬件机制使得OS可以和普通程序隔离,实现保护和控制,9/17/2024,4,1、CPU的构成与基本工作方式,处理器由,运算器、控制器、一系列的寄存器以及高速缓存构成,运算器实现指令中的,算术和逻辑运算,,是计算机计算的核心,控制器负责控制程序运行的流程,包括,取指令、维护CPU状态、CPU与内存的交互,等等,9/17/2024,5,寄存器是指令在CPU内部作处理的过程中,暂存数据、地址以及指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度,高速缓存处于CPU和物理内存之间,一般由控制器中的,内存管理单元,(MMU:Memory Management Unit)管理,访问速度快于内存,低于寄存器,利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率,9/17/2024,6,处理器中的寄存器,寄存器提供了一定的存储能力,速度比主存快得多,造价高,容量一般都很小,两类寄存器:,用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数,控制和状态寄存器,用于控制处理器的操作,由OS,的特权代码使用, 以控制其他程序的执行,9/17/2024,7,用户可见寄存器,机器语言直接引用,包括数据寄存器、地址寄存器以及条件码寄存器,数据寄存器,(data register),又称通用寄存器,主要用于各种算术逻辑指令和访存指令,地址寄存器,(address register),用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如,index register、segment pointer、stack pointer,条件码寄存器保存,CPU,操作结果的各种标记位,如算术运算产生的溢出、符号等等,9/17/2024,8,控制和状态寄存器,用于控制处理器的操作,大部分对于用户是不可见的,一部分可以在某种特权模式(由,OS,使用)下访问,常见的控制和状态寄存器:,程序计数器,(PC:Program Counter),,记录将要取出的指令的地址,指令寄存器,(IR:Instruction Register),,包含最近取出的指令,程序状态字,(PSW:Program Status Word),,记录处理器的运行模式信息等等,9/17/2024,9,指令执行的基本过程,(1),两个步骤:,先从存储器中每次读取一条指令,然后执行这条指令,一个单条指令处理过程称为一个指令周期,程序的执行是由不断取指和执行的指令周期组成,仅当关机、出错或有停机相关指令时,程序才停止,9/17/2024,10,每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令,在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增1,取到的指令放在指令寄存器中,处理器解释并执行所要求的动作,指令执行的基本过程,(2),9/17/2024,11,5类指令,访问存储器指令:,处理器和存储器间数据传送,I/O,指令:,处理器和,I/O,模块间数据传送和命令发送,算术逻辑指令(数据处理指令):,执行数据算术和逻辑操作,控制转移指令:,指定一个新的指令的执行起点,处理器控制指令:,修改处理器状态,改变处理器工作方式,9/17/2024,12,2、特权指令和非特权指令,特权指令:只能由操作系统使用的指令,使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令,特权指令一般引起处理器状态的切换,处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态),然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为,陷入,CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识,9/17/2024,13,3、处理器的状态,根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态,多数系统将处理器工作状态划分为管态和目态,管态:,操作系统管理程序运行的状态,较高的特权级别,又称为,特权态(特态)、核心态、系统态,目态:,用户程序运行时的状态,较低的特权级别,又称为,普通态(普态)、用户态,有些系统将处理器状态划分核心状态、管理状态和用户程序状态(目标状态)三种,9/17/2024,14,实例:x86系列处理器(1),386、486、Pentium,系列都支持,4,个处理器特权级别(特权环:,R0、R1、R2,和,R3,),从,R0,到,R3,特权能力依次降低,R0,相当于双状态系统的管态,R3,相当于目态,R1,和,R2,则介于两者之间,它们能够运行的指令集合具有包含关系:,9/17/2024,15,各个级别有保护性检查(地址校验、,I/O,限制),特权级别之间的转换方式不尽相同,四个级别运行不同类别的程序:,R0,-运行操作系统核心代码,R1,-运行关键设备驱动程序和,I/O,处理例程,R2,-运行其他受保护共享代码,如语言系统运行环境,R3,-运行各种用户程序,现有基于,x86,处理器的操作系统,多数,UNIX、Linux,以及,Windows,系列大都只用了,R0和R3,两个特权级别,实例:x86系列处理器(2),9/17/2024,16,管态和目态的差别,处理器处于管态时:,全部指令(包括特权指令)可以执行,可使用所有资源,并具有改变处理器状态的能力,处理器处于目态时:,只有非特权指令能执行,特权级别不同,可运行指令集合也不同,特权级别越高,可以运行指令集合越大,高特权级别对应的可运行指令集合包含低特权级的,9/17/2024,17,4、程序状态字PSW,(Program Status Word ),在,PSW,中专门设置一位,根据运行程序使用指令的权限而设置CPU状态,CPU,的工作状态码,指明管态还是目态,用来说明当前在,CPU,上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其他的特殊权力,条件码,反映指令执行后的结果特征,中断屏蔽码,指出是否允许中断,9/17/2024,18,例:微处理器M68000的程序状态字,条件位:,C:,进位标志位,V:,溢出标志位,Z:,结果为零标志位,N:,结果为负标志位,I0 I2,:三位中断屏蔽位,S:CPU,状态标志位,为,1,处于管态,为,0,处于目态,T:,陷阱,(Trap),中断指示位为,1,,,在下一条指令执行后引起自陷中断,9/17/2024,19,CF: 进位标志位,ZF: 结果为零标志位,SF: 符号标志位,OF: 溢出标志位,标准条件位:,TF:陷阱标志位,IF:中断允许(中断屏蔽)标志位,VIF:虚拟中断标志位,VIP:虚拟中断待决标志位,IOPL:IO特权级别,例:微处理器,Pentium,的程序状态字,9/17/2024,20,CPU,状态的转换,目态,管态,唯一途径 是 中断,管态,目态,设置PSW(修改程序状态字) 可实现,9/17/2024,21,二、,存储系统,支持,OS,运行硬件环境的一个重要方面:,作业必须把它的程序和数据存放在内存中才能运行,多道程系统中,若干个程序和相关的数据要放入内存,操作系统要管理、保护程序和数据,使它们不至于受到破坏,操作系统本身也要存放在内存中并运行,9/17/2024,22,1、,存储器的类型,半导体存储器 实现 内存,存储器芯片的内部组织结构,静态存储器(SRAM),异步动态随机存储器(DRAM),同步动态随机存储器(SDRAM),双倍数据速率,SDRAM,(,DDR SDRAM,),(开放标准),Rambus,公司的,SDRAM,9/17/2024,23,只读型存储器,ROM( Read-Only Memory) :,只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法),在微机中,一些常驻内存的模块以微程序形式固化在,ROM,中,如:,PC BIOS和CBASIC解释程序被固化于ROM中,PROM:,可编程只读存储器,使用特殊,PROM,写入器写入数据,EPROM:电可擦写,可编程只读存储器,用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,再使用特殊,EPROM,写入器写入数据,闪存(flash memory),存储器的类型,9/17/2024,24,2、存储器的层次结构,存储系统设计三个问题:,容量、速度和成本,容量:需求无止境,速度:能匹配处理器的速度,成本问题:成本和其他部件相比应在合适范围之内,9/17/2024,25,容量、速度和成本,三个目标不可能同时达到最优,要作权衡,存取速度快,每比特价格高,容量大,每比特价格越低,同时存取速度也越慢,解决方案:采用层次化的存储体系结构,当沿着层次下降时,每比特的价格将下降,容量将增大,速度将变慢,处理器的访问频率也将下降,9/17/2024,26,层次化的存储体系结构,9/17/2024,27,存储访问局部性原理,提高存储系统效能关键点:程序存储访问局部性原理,程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合,对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域,处理器主要和存储器的局部打交道,在经过一段时间以后,使用的代码和数据集合会改变,9/17/2024,28,设计多级存储的体系结构,原则:级别较低存储器比率小于级别较高存储器比率,假设两级存储器:,第I级包含1KB,存取时间为0.1,s,第II级包含1MB,存取时间为1,s,存取I级中的内容,直接存取,存取II级,首先被转移到I级,然后再存取,假设确定内容所在位置时间可以忽略,若在I级存储器中发现存取对象的概率是95%,则平均访问时间为:,结果非常接近I级存储的存取时间,9/17/2024,29,T1:I级存储器的存取时间,T2:II级存储器的存取时间,一个简单二级存储系统的性能,9/17/2024,30,3、存储分块,存储最小单位:“二进位”,包含信息为0或1,最小编址单位,:字节,一个字节包含八个二进位,主流个人电脑,主存:2GB4GB之间,辅助存储器:在200GB400GB,工作站、服务器,主存:8GB 16GB之间,硬盘容量:N个数百GB,为简化分配和管理,存储器分成块,称一个物理页(Page),块的大小:512B、1K、4K、8K,9/17/2024,31,4、存储保护设施,对主存中的信息加以严格的保护,使操作系统及其他程序不被破坏,是其正确运行的基本条件之一,多用户,多任务操作系统:,OS给每个运行进程分配一个存储区域,问题:,多个程序同时在同一台机器上运行,怎样才能互不侵犯?,如何处理重定位?,9/17/2024,32,保护的硬件支持,解决方案 依赖于 配有特殊硬件的CPU,硬件可提供如下功能:,界地址寄存器(界限寄存器),存储键,地址转换机制,9/17/2024,33,界地址寄存器(界限寄存器),界地址寄存器被广泛使用的一种存储保护技术,机制比较简单,易于实现,实现方法:,在CPU中设置一对下限寄存器和上限寄存器,存放用户作业在主存中的下限和上限地址,也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度),每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界,如果未越界,则按此地址访问主存,否则将产生程序中断越界中断(存储保护中断),9/17/2024,34,界地址寄存器,存储保护技术,9/17/2024,35,存储键,每个存储块有一个由二进位组成的存储保护键,一用户作业被允许进入主存,OS分给它一个唯一的存储键号,并将分配给该作业各存储块存储键也置成同样键号,当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中,每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较,如果相匹配,则允许访问,否则,拒绝并报警,9/17/2024,36,地址转换机制,同时有多个程序在内存,程序在内存的位置不是固定的而是随机的,用户程序A,内存,用户程序B,9/17/2024,37,CPU,MMU,内存,磁盘,控制器,总线,虚拟地址,物理地址,MMU:内存管理单元,9/17/2024,38,地址转换机制,虚拟地址(逻辑地址),处理器生成的指令或数据的二进制地址,这些地址用硬件和软件结合的方法转换成物理地址,MMU:内存管理单元,一种特殊硬件,完成转换工作,9/17/2024,39,三、,中断技术,中断对于操作系统的重要性,就像机器中的驱动齿轮一样,所以有人把操作系统称为是由,“中断驱动”或者 “(中断)事件驱动”,它使得OS可以捕获用户程序发出的系统功能调用,及时处理设备的中断请求,防止用户程序中破坏性的活动等等,9/17/2024,40,1、中断的概念,CPU对系统发生的某个事件作出的一种反应,CPU暂停正在执行的程序,保留现场后,自动,转去,执行相应事件的处理程序,,处理完成后返回断点,继续执行被打断的程序,特点:,1) 中断随机的,2) 中断是可恢复的,3) 中断是自动处理的,引入中断的目的,解决主机与外设的并行工作问题,实现实时控制,9/17/2024,41,中断/异常:,指系统发生某个异步/同步事件后,处理机暂停正在执行的程序,转去执行处理该事件程序的过程,中断的引入:,为了开发CPU和通道(或设备)之间的并行操作,当CPU启动通道(或设备)进行输入/输出后,通道便(或设备)可以独立工作了,CPU也可以转去做与此次输入/输出不相关的事情,那么通道(或设备) 输入/输出完成后,还必须告诉CPU继续输入/输出以后的事情,通道(或设备)通过向CPU发中断告诉CPU此次输入/输出结束,中断的概念,9/17/2024,42,异常引入:,用于表示CPU执行指令时本身出现算术溢出、零做除数、取数时的奇偶错,访存指令越界或就是执行了一条所谓“异常指令”(用于实现系统调用)等情况,这时中断当前的执行流程,转到相应的错误处理程序或异常处理程序,注意:,最早中断和异常并没有区分,都把它们叫做中断。随着它们的发生原因和处理方式的差别愈发明显,才有了以后的中断和异常,中断的概念,9/17/2024,43,中断(外中断),异常(内中断),例外,I/O中断,时钟中断,系统调用,缺页异常,断点指令,其他程序性异常,(如算术溢出等),中断(狭义)与异常的区别:,中断:,与正执行指令无关,可以屏蔽,异常:,与正执行指令有关,不可屏蔽,广义中断,中断的概念,9/17/2024,44,2、中断系统,中断系统是现代计算机系统的核心机制之一,硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力的计算模式,中断系统的两大组成部分:硬件中断装置和软件中断处理程序,中断系统的硬件中断装置-中断系统的机制部分,负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序,软件中断处理程序-中断系统的策略部分,负责辨别中断类型并做出相应的操作,9/17/2024,45,中断源:引起中断发生的事件,中断寄存器:记录中断,中断字:中断寄存器的内容,系统堆栈,: 在内存开辟的一块区域,用于,临时保存现场,中断系统中的相关概念,9/17/2024,46,中断优先级设计原则:,一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。因为高速设备的中断被处理机优先响应时,可以让处理机尽快地向它发出下一个I/O请求,提高高速设备的利用率,如PDP-11机上的UNIX系统把中断级别分为:,时钟中断中断优先级6级,磁盘中断中断优先级5级,终端等其他外设中断中断优先级4级,3、中断优先级和中断屏蔽,9/17/2024,47,处理机优先级:,指出处理机正运行程序的中断响应级别。即当处理机处于某一优先级时,只允许处理机去响应比该优先级高的中断,而屏蔽低于或等于该优先级的中断。可以通过置处理机优先级来通知硬件:屏蔽优先级小于等于处理机优先级的中断,中断屏蔽:,指禁止处理机响应中断或禁止中断出现,中断优先级和中断屏蔽,9/17/2024,48,中断屏蔽有两种方法,:,硬件实现,由软件置处理机优先级,硬件按系统设计时的约定,屏蔽那些低优先级中断,软件实现,由软件按操作系统优先级约定,设置屏蔽寄存器,中断优先级和中断屏蔽,9/17/2024,49,4、中断类型,强迫性中断,正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的,自愿性中断,用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生,9/17/2024,50,中断类型,强迫性中断,输入/输出(I/O)中断:主要来自外部设备通道,程序性中断:运行程序中本身的中断,(如溢出,缺页中断,缺段中断,地址越界),时钟中断,控制台中断,硬件故障,9/17/2024,51,中断类型,自愿性中断,执行I/O,创建进程,分配内存,信号量操作,发送/接收消息,9/17/2024,52,微机中的中断,1.可屏蔽中断(IO中断),2.不可屏蔽中断(机器内部故障、掉电中断),3.程序错误中断(溢出、除法错等中断),4.软件中断(Trap指令或中断指令INT),9/17/2024,53,IBM370中的中断,1. 机器故障中断:如电源故障,机器电路检验错等,2. 输入输出中断:输入输出设备和通道数据传输状态),3. 外部中断:时钟中断,操作员控制台中断,多机系统中其他机器的通信要求中断,各种外设或传感器发来的实时中断等,4. 程序中断:程序中的问题引起的中断,如错误地使用指令或数据、溢出等问题,存储保护等,5. 访管中断:访管指令或陷阱指令(Trap指令)中的操作数规定了要求服务的类型。每当CPU执行访管指令或陷阱指令时,即引起中断并调用操作系统相应的功能模块为其服务,9/17/2024,54,5、,中断响应,CPU如何响应中断, 两个问题:,CPU何时响应中断?,通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器,如何知道提出中断请求的设备或中断源?,因为只有知道中断源或中断设备,才能调用相应的中断处理程序,9/17/2024,55,处理器如何发现中断信号?,处理器的控制部件中设一个能检测中断的机构,称为中断扫描机构,在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号,若无中断信号,继续执行下一条指令,若有中断,中断硬件将该中断触发器内容按规定编码送入PSW的相应位,称为中断码,通过交换中断向量引出中断处理程序,中断响应,9/17/2024,56,开始,取下一条指令,执行指令,检查指令,处理中断,停止,取周期,执行周期,中断周期,不允许中断,允许,中断,9/17/2024,57,用软件指令去查询各设备接口,这种方法比较费时,多数微型机对此问题的解决方法:,使用一种“向量中断”的硬件设施,“中断向量”:,当CPU接受某中断请求时,该设备接口给处理器发送具有唯一性的“中断向量”,以标识该设备,“中断向量”在各计算机上实现方法差别比较大,两种解决方法,9/17/2024,58,中断向量:,一个存放中断处理程序入口地址和程序运行所需处理机状态字的内存单元,硬件按中断号、异常类型的不同通过中断向量表转移,9/17/2024,59,中断向量表,在有的机器中:,将主存最低位128个字保留作为中断向量表,每个中断向量占两个字,中断请求的设备接口为了标识自己,向处理器发送一个该设备在中断向量表中表目的地址指针,9/17/2024,60,中断响应,9/17/2024,61,6、中断处理,简单的中断处理 -,典型的处理过程:,(1)设备给处理器发一个中断信号,(2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断),(3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断信号恢复到一般状态,(4)处理器开始为软件处理中断做准备:,保存中断点的程序执行上下文环境,这通常包括程 序状态字PSW,程序计数器PC中的下一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中,处理器状态被切换到管态,9/17/2024,62,(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序,(6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或者在设备和主存之间传送数据等等,(7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复,处理器状态恢复成原来的状态。,(8)PSW和PC被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束,中断处理,9/17/2024,63,简单的中断处理过程,9/17/2024,64,多个中断的处理,若中断处理过程中又发生中断,引起多中断处理问题,两种策略方法:,第一种:,处理一个中断时禁止中断,对任何新中断置之不理,在这期间发生的中断将保持挂起状态,当再次允许中断时,新中断信号被处理器检测到,软件实现方法:,在任何中断处理前使用禁止中断指令,在处理结束后开放中断指令,所有中断严格按照发生顺序处理,不考虑中断紧急程度,无法达到较严格时间要求,9/17/2024,65,多中断处理第一种策略方法,9/17/2024,66,第二种:,中断按照优先度分级,允许优先级高中断打断优先级低的中断处理过程,这样中断优先级技术将引起中断处理的嵌套,只要合适地定义中断的优先级别,方法一的弊端大都可以克服,多个中断的处理,9/17/2024,67,多中断处理第二种策略方法,9/17/2024,68,典型的中断处理(1):,I/O,中断,由I/O设备的控制器或者通道发出,两类I/O中断:,I/O操作正常结束,如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒,I/O异常,需要重新执行失败的I/O操作,重试次数有上限,次数过大,系统将判定硬件故障,9/17/2024,69,系统多道能力的重要推动力量,,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,,包括:,维护软件时钟:系统有,若干个软件时钟,,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟,处理器时间调度:维护当前进程时间片软件时钟,并在当前进程时间片到时以后运行调度程序选择下一个被调度的进程,控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系统审计等,实时处理,典型的中断处理,(2),:,时钟中断,9/17/2024,70,典型的中断处理(,3),:,硬件故障中断,硬件故障中断处理程序一般需要做的工作:,保存现场,使用一定警告手段,提供些辅助诊断信息,在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统,如Windows 2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故障诊断,9/17/2024,71,程序指令出错、指令越权或者指令寻址越界而引发,两类处理方法:,只能由操作系统的相关扩展功能模块完成,多为程序试图作不能做的操作引起的系统保护,如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发OS虚存模块作一个页面换入,可由程序自己完成,如一些算术运算错误,不同程序可有不同处理方法,所以很多OS提供由用户自己处理这类中断的“绿色通道”,系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支持各种程序调试,典型的中断处理(,4,):,程序性中断,9/17/2024,72,典型的中断处理(5):系统服务请求(自愿性中断),系统服务请求由处理器专用指令(访管指令)激发,如x86处理器提供,int,指令,用来激发软件中断,其他不少处理器则提供系统调用指令,syscall,执行专用指令的结果是系统被切换到管态,并且转移到一段专门,OS,程序处开始执行,指令格式通常是指令名加请求服务识别号(中断号),OS,利用处理器提供的这种接口建立系统服务体系,处理器一般不负责定义系统调用所传递的参数格式,9/17/2024,73,DOS:21h,号中断的系统服务功能以及参数列表,现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口API),从应用层面重新封装系统调用,屏蔽复杂的系统调用传参问题,高级语言接口,有助于快速开发,有的系统在更高层面提供系统程序设计模板库和类库,如Windows 2000/XP提供封装系统用Win32 API和高层编程机制MFC以及ATL,Linux提供封装系统调用、符合POSIX标准 API和C运行库,典型的中断处理(,6,):,系统服务请求实例,9/17/2024,74,设备控制器或其他系统硬件发出中断,处理器完成当前指令的执行,处理器接受中断,处理器将PSW和PC推入系统堆栈,处理器根据中断类型读入新的PC值,中断系统硬件完成的工作,9/17/2024,75,保存进程状态的其余信息,进程中断,恢复进程状态信息,从系统堆栈恢复原PSW和PC,中断系统软件完成的工作,9/17/2024,76,强迫性中断事件,自愿性中断事件,保存现场信息,保存现场信息,取出中断码,取出访管号,分析中断原因,分析何种系统调用,转相应处理程序,是否中断嵌套,由系统恢复现场,由系统恢复现场,转低级调度程序,返回上层中断,返回目态程序,需要切换进程,T,F,F,T,9/17/2024,77,四、I/O技术,I/O,控制使用下面几种技术:,程序控制,中断驱动,直接存储器存取,(DMA),通道,9/17/2024,78,1、程序控制I/O技术,由处理器提供I/O相关指令来实现,I/O,处理单元处理请求并设置,I/O,状态寄存器相关位,不中断处理器,也不给处理器警告信息,处理器定期轮询,I/O,单元的状态,直到处理完毕,I/O,软件包含直接操纵,I/O,的指令,控制指令: 用于激活外设,并告诉它做什么,状态指令: 用于测试I/O控制中的各种状态和条件,数据传送指令: 用于在设备和主存之间来回传送数据,主要缺陷:处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能,9/17/2024,79,2、中断驱动I/O技术,为了解决程序控制,I/O,方法的主要问题,应该让处理器从轮询任务中解放出来,使,I/O,操作和指令执行并行起来,具体作法:,当,I/O,处理单元准备好与设备交互的时候,通过物理信号通知处理器,即中断处理器,9/17/2024,80,3、DMA技术(1),中断的引入大大地提高了处理器处理,I/O的,效率,当处理器和,I/O间,传送数据时,效率仍旧不高,解决方法:,直接存储器访问,(DMA:Direct Memory Access),通过系统总线中一独立控制单元,DMA,控制器,自动控制成块数据在内存和,I/O,单元间的传送,大大提高处理,I/O,的效能,9/17/2024,81,DMA技术,(2),当处理器需要读写一整块数据时,给,DMA,控制单元发送一条命令,包含:是否请求一次读或写,,I/O,设备的编址,开始读或写的主存编址,需要传送的数据长度等信息,处理器发送完命令后就可处理其他事情,DMA控制器将自动管理数据的传送,当这个过程完成后,它会给处理器发一个中断,处理器只在开始传送和传送结束时关注一下就可,9/17/2024,82,处理器和,DMA,传送不完全并行,有时会有总线竞争的情况发生,处理器用总线时可能稍作等待,不会引起中断,不引起程序上下文的保存,通常过程只有一个总线周期,在,DMA传送,时,处理器访问总线速度会变慢,对于大量数据,I/O传送,DMA,技术是很有价值,DMA技术,(3),9/17/2024,83,4、通道,独立于中央处理器,专门负责数据,I/O传输,的,处理机,它对外设实现统一管理,代替,CPU对I/O,操作进行控制,使,CPU和,外设可以并行工作,通道又称为,I/O,处理机,引入通道的目的:,为了使,CPU从I/O,事务中解脱出来,同时为了提高,CPU,与设备、设备与设备之间的并行度,9/17/2024,84,五、时钟(1),时钟为计算机完成以下必不可少的工作:,在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费,在分时系统中,间隔时钟实现作业间按时间片轮转,在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如,AD、D/A,转换设备),定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等),记录用户使用设备时间和记录某外部事件发生时间,记录用户和系统所需要的绝对时间,即年、月、日,9/17/2024,85,时钟是操作系统运行的必不可少的硬件设施,时钟,实际上都是硬件时钟寄存器,按时钟电路所产生的脉冲数对时钟寄存器进行加1或减1的工作,绝对时钟:记录当时时间(年、月、日、时、分、秒),一般来说,绝对时钟准确,当停机时,绝对时钟值仍然自动修改,间隔时钟(相对时钟):通过时钟寄存器实现,置上时间间隔初值,每经过一个单位时间,时钟值减1,直到该值为负时,则触发时钟中断,并进行相应中断处理,时钟(2),9/17/2024,86,每个脉冲使计数器减1,用来装入计数器初值,9/17/2024,87,硬件时钟:,某个寄存器来模拟,(根据脉冲频率定时加1,减1),软件时钟:,用作相对时钟,用内存单元来模拟时钟,CPU,保护:防止进程得到,CPU,后不放弃控制权,解决:分配给每个进程一段时间(时间片),时间片到,发时钟中断,控制权交给操作系统,9/17/2024,88,六、,缓冲技术,缓冲区是硬件设备之间进行数据传输时,用来暂存数据的一个存储区域,缓冲技术三种用途:,处理器与主存储器之间,处理器和其他外部设备之间,设备与设备之间的通信,目的:解决部件之间速度不匹配的问题,9/17/2024,89,多缓冲区(Cache)技术,单缓冲区:,设备向缓冲区输入数据直到装满后,必须等待CPU将其取完,才能继续向其中输入数据,为了提高设备利用率,单缓冲区不够,多缓冲区(Cache)技术:,Cache:离CPU最近,使CPU快速访问常使用的数据,CPU首先到一级Cache中找,如果没有,CPU到二级Cache中找,如果没有,CPU到系统内存中找,9/17/2024,90,一级Cache,CPU先访问,性能对系统性能作用很大,Cache与主存储器,9/17/2024,91,七、其他问题,例如:总线,八种总线:,缓存,局部,内存,PCI,SCSI,USB,IDE,ISA,传输速度和功能,9/17/2024,92,总线,9/17/2024,93,
展开阅读全文