资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,二,章,操作系,统,统的硬,件,件环境,讨论操,作,作系统,对,对运行,硬,硬件环,境,境的要,求,求,了解OS设计,者,者所面,对,对的硬,件,件,操作系,统,统运行,的,的硬件,环,环境组,成,成,中央处,理,理器(CPU,),),存储系,统,统,中断机,制,制,I/O,系统,时钟以,及,及时钟,队,队列,缓冲技,术,术,总线,概述,任何系,统,统软件,都,都是硬,件,件功能,的,的延伸,操作系,统,统直接,依,依赖于,硬,硬件条,件,件,OS的,硬,硬件环,境,境以较分,散,散的形,式,式同各,种,种管理,相,相结合,实现操,作,作系统,时,时必须,理,理解的,计算机,基,基本结,构,构,操作系,统,统管理,的,的重要,资,资源,简单的,个,个人计,算,算机中,的,的部件,Monitor,Bus,一、中,央,央处理,器,器(CPU),专门设,计,计了一,系,系列基,本,本机制,:,:,- 具,有,有特权,级,级别的,处,处理器,状,状态,,能,能在不,同,同特权,级,级运行,的,的各种,特,特权指,令,令,- 硬,件,件机制,使,使得OS可以,和,和普通,程,程序隔,离,离,实现保,护,护和控,制,制,1、CPU的,构,构成与,基,基本工,作,作方式,处理器,由,由运算,器,器、控,制,制器、,一,一系列,的,的寄存,器,器以及,高,高速缓,存,存构成,运算器,实,实现指,令,令中的,算,算术和,逻,逻辑运,算,算,是,计,计算机,计,计算的,核,核心,控制器,负,负责控,制,制程序,运,运行的,流,流程,,包,包括取,指,指令、,维,维护CPU状,态,态、CPU与,内,内存的,交,交互等,等,等,寄存器,是,是指令,在,在CPU内部,作,作处理,的,的过程,中,中暂存,数,数据、,地,地址以,及,及指令,信,信息的,存,存储设,备,备,在计算,机,机的存,储,储系统,中,中它具,有,有最快,的,的访问,速,速度,高速缓,存,存处于CPU,和,和物理,内,内存之,间,间,一般由,控,控制器,中,中的内,存,存管理,单,单元(MMU,:,:Memory ManagementUnit),管,管理,访问速,度,度快于,内,内存,,低,低于寄,存,存器,利用程,序,序局部,性,性原理,使,使得高,速,速指令,处,处理和,低,低速内,存,存访问,得,得以匹,配,配,从,而,而提高CPU,的,的效率,处理器,中,中的寄,存,存器,寄存器,提,提供了,一,一定的,存,存储能,力,力,速度比,主,主存快,得,得多,造价高,,,,容量,一,一般都,很,很小,两类寄,存,存器:,用户可,见,见寄存,器,器,高,级,级语言,编,编译器,通,通过算,法,法分配,并,并使用,之,之,以,减,减少程,序,序访问,主,主存次,数,数,控制和,状,状态寄,存,存器,,用,用于控,制,制处理,器,器的操,作,作,由OS,的特权,代,代码使,用,用,以,以控制,其,其它程,序,序的执,行,行,用户可,见,见寄存,器,器,机器语,言,言直接,引,引用,包括数,据,据寄存,器,器、地,址,址寄存,器,器以及,条,条件码,寄,寄存器,数据寄,存,存器,(dataregister),又称通,用,用寄存,器,器,主要用,于,于各种,算,算术逻,辑,辑指令,和,和访存,指,指令,地址寄,存,存器,(addressregister),用于存,储,储数据,及,及指令,的,的物理,地,地址、,线,线性地,址,址或者,有,有效地,址,址,用,于,于某种,特,特定方,式,式的寻,址,址。如,indexregister、segment pointer,、,、stackpointer,条件码,寄,寄存器,保,保存,CPU,操作结,果,果的各,种,种标记,位,位,如算术,运,运算产,生,生的溢,出,出、符,号,号等等,控制和,状,状态寄,存,存器,用于控,制,制处理,器,器的操,作,作,大部分,对,对于用,户,户是不,可,可见的,一部分,可,可以在,某,某种特,权,权模式,(,(由,OS,使用),下,下访问,常见的,控,控制和,状,状态寄,存,存器:,程序计,数,数器,(PC,:,:ProgramCounter),,记录,将,将要取,出,出的指,令,令的地,址,址,指令寄,存,存器,(IR,:,:InstructionRegister,),),,包含,最,最近取,出,出的指,令,令,程序状,态,态字,(PSW:ProgramStatus Word,),),,记录,处,处理器,的,的运行,模,模式信,息,息等等,指令执,行,行的基,本,本过程,(1),两个步,骤,骤:,先从存,储,储器中,每,每次读,取,取一条,指,指令,然后执,行,行这条,指,指令,一个单,条,条指令,处,处理过,程,程称为,一,一个指,令,令周期,程序的,执,执行是,由,由不断,取,取指和,执,执行的,指,指令周,期,期组成,仅当关,机,机、出,错,错或有,停,停机相,关,关指令,时,时,程,序,序才停,止,止,每个指,令,令周期,开,开始时,,,,依据,在,在程序,计,计数器,中,中的指,令,令地址,从,从存储,器,器中取,一,一条指,令,令,在取指,完,完成后,根,根据指,令,令类别,自,自动将,程,程序计,数,数器的,值,值变成,下,下条指,令,令的地,址,址,自,增,增1,取到的,指,指令放,在,在指令,寄,寄存器,中,中,处理器,解,解释并,执,执行所,要,要求的,动,动作,指令执,行,行的基,本,本过程,(2),5类指,令,令,访问存,储,储器指,令,令:,处理器,和,和存储,器,器间数,据,据传送,I/O,指令:,处理器,和,和,I/O,模块间,数,数据传,送,送和命,令,令发送,算术逻,辑,辑指令,(,(数据,处,处理指,令,令):,执行数,据,据算术,和,和逻辑,操,操作,控制转,移,移指令,:,:,指定一,个,个新的,指,指令的,执,执行起,点,点,处理器,控,控制指,令,令:,修改处,理,理器状,态,态,改,变,变处理,器,器工作,方,方式,2、特,权,权指令,和,和非特,权,权指令,特权指,令,令:只,能,能由操,作,作系统,使,使用的,指,指令,使用多,道,道程序,设,设计技,术,术的计,算,算机指,令,令系统,必,必须要,区,区分为,特,特权指,令,令和非,特,特权指,令,令,特权指,令,令一般,引,引起处,理,理器状,态,态的切,换,换,处理器,通,通过特,殊,殊的机,制,制将处,理,理器状,态,态切换,到,到操作,系,系统运,行,行的特,权,权状态,(,(管态,),),然后将,处,处理权,移,移交给,操,操作系,统,统中的,一,一段特,殊,殊代码,,,,这一,个,个过程,称,称为陷,入,入,CPU,如,如何知,道,道当前,运,运行的,是,是操作,系,系统还,是,是一般,应,应用软,件,件?有,赖,赖于处,理,理器状,态,态的标,识,识,3、处,理,理器的,状,状态,根据运,行,行程序,对,对资源,和,和机器,指,指令的,使,使用权,限,限将处,理,理器设,置,置为不,同,同状态,多数系,统,统将处,理,理器工,作,作状态,划,划分为,管,管态和,目,目态,管态:,操,操作系,统,统管理,程,程序运,行,行的状,态,态,较,高,高的特,权,权级别,,,,又称,为,为特权,态,态(特,态,态)、,系,系统态,目态:,用,用户程,序,序运行,时,时的状,态,态,较,低,低的特,权,权级别,,,,又称,为,为普通,态,态(普,态,态)、,用,用户态,有些系统将,处,处理器状态,划,划分核心状,态,态,管理状,态,态和用户程,序,序状态(目,标,标状态)三,种,种,实例:x86系列处理,器,器(1),386、486、Pentium,系列都支持,4,个处理器特,权,权级别(特,权,权环:,R0、R1,、,、R2,和,R3,),从,R0,到,R3,特权能力依,次,次降低,R0,相当于双状,态,态系统的管,态,态,R3,相当于目态,R1,和,R2,则介于两者,之,之间,它们,能,能够运行的,指,指令集合具,有,有包含关系,:,:,各个级别有,保,保护性检查,(,(地址校验,、,、,I/O,限制),特权级别之,间,间的转换方,式,式不尽相同,四个级别运,行,行不同类别,的,的程序:,R0,-运行操作,系,系统核心代,码,码,R1,-运行关键,设,设备驱动程,序,序和,I/O,处理例程,R2,-运行其它,受,受保护共享,代,代码,如语,言,言系统运行,环,环境,R3,-运行各种,用,用户程序,现有基于,x86,处理器的操,作,作系统,多,数,数,UNIX、Linux,以及,Windows,系列大都只,用,用了,R0和R3,两个特权级,别,别,实例:x86系列处理,器,器(2),管态和目态,的,的差别,处理器处于,管,管态时:,全部指令(,包,包括特权指,令,令)可以执,行,行,可使用所有,资,资源,并具有改变,处,处理器状态,的,的能力,处理器处于,目,目态时:,只有非特权,指,指令能执行,特权级别不,同,同,可运行,指,指令集合也,不,不同,特权级别越,高,高,可以运,行,行指令集合,越,越大,高特权级别,对,对应的可运,行,行指令集合,包,包含低特权,级,级的,4、程序状,态,态字PSW,在,PSW,中专门设置,一,一位,根据,运,运行程序使,用,用指令的权,限,限而设置,,PSW (Program StatusWord),:,CPU,的工作状态,码,码指明,管,管态还是目,态,态,用来说,明,明当前在,CPU,上执行的是,操,操作系统还,是,是一般用户,,,,从而决定,其,其是否可以,使,使用特权指,令,令或拥有其,它,它的特殊权,力,力,条件码,反,反映指令执,行,行后的结果,特,特征,中断屏蔽码,指出是,否,否允许中断,例:微处理,器,器M68000的程序,状,状态字,条件位:,C:,进位标志位,V:,溢出标志位,Z:,结果为零标,志,志位,N:,结果为负标,志,志位,I0 I2,:三位中断,屏,屏蔽位,S:CPU,状态标志位,,,,为,1,处于管态,,为,为,0,处于目态,T:,陷阱,(Trap,),),中断指示位,为,为,1,,,在下一条指,令,令执行后引,起,起自陷中断,CPU,状态的转换,目态-管,态,态,其转换的唯,一,一途径是通,过,过中断,管态-目,态,态,可用设置PSW(修改,程,程序状态字)可实现,二、,存储系统,支持,OS,运行硬件环,境,境的一个重,要,要方面:,作业必须把,它,它的程序和,数,数据存放在,内,内存中才能,运,运行,多道程系统,中,中,若干个,程,程序和相关,的,的数据要放,入,入主存储器,操作系统要,管,管理、保护,程,程序和数据,,,,使它们不,至,至于受到破,坏,坏,操作系统本,身,身也要存放,在,在主存储器,中,中并运行,1、,存储器的类,型,型,两类存储器,:,:读写型的,存,存储器,只读型的存,储,储器,读写型的存,储,储器,可把数据存,入,入其中任一,地,地址单元,,并,并可在以后,的,的任何时候,把,把数据读出,,,,或者重新,存,存入新的数,据,据的一种存,储,储器,常被称为随,机,机访问存储,器,器,(RAM:Random Access Memory,),),RAM,主要用作存,放,放随机存取,的,的程序的数,据,据,只读型的存,储,储器:,只能从其中,读,读取数据,,但,但不能随意,用,用普通方法,写,写入数据(,写,写入数据只,能,能用特殊方,法,法),称为只读存,储,储器,(ROM:Read-OnlyMemory),变型,:PROM,和,EPROM,PROM:,一种可编程,只,只读存储器,,,,使用特殊,PROM,写入器写入,数,数据,EPROM,:,:,用特殊的紫,外,外线光照射,此,此芯片,以,“,“擦去”信,息,息,恢复原,来,来状态,然,后,后使用特殊,EPROM,写入器写入,数,数据,在微机中,,一,一些常驻内,存,存的模块以,微,微程序形式,固,固化在,ROM,中,如:,PC BIOS和CBASIC解,释,释程序被固,化,化于ROM,中,中,2、存储器,的,的层次结构,存储系统设,计,计三个问题,:,:,容量、速度,和,和成本,容量:需求,无,无止境,速度:能匹,配,配处理器的,速,速度,成本问题:,成,成本和其它,部,部件相比应,在,在合适范围,之,之内,容量、速度,和,和成本,三个目标不,可,可能同时达,到,到最优,要,作,作权衡,存取速度快,,,,每比特价,格,格高,容量大,每,比,比特价格越,低,低,同时存,取,取速度也越,慢,慢,解决方案:,采,采用层次化,的,的存储体系,结,结构,当沿着层次,下,下降时,每比特的价,格,格将下降,,容,容量将增大,速度将变慢,,,,处理器的,访,访问频率也,将,将下降,层次化的存,储,储体系结构,存储访问局,部,部性原理,提高存储系,统,统效能关键,点,点:程序存,储,储访问局部,性,性原理,程序执行时,,,,有很多的,循,循环和子程,序,序调用,一,旦,旦进入这样,的,的程序段,,就,就会重复存,取,取相同的指,令,令集合,对数据存取,也,也有局部性,,,,在较短的,时,时间内,稳,定,定地保持在,一,一个存储器,的,的局部区域,处理器主要,和,和存储器的,局,局部打交道,在经过一段,时,时间以后,,使,使用的代码,和,和数据集合,会,会改变,设计多级存,储,储的体系结,构,构,原则:级别,较,较低存储器,比,比率小于级,别,别较高存储,器,器比率,假设两级存,储,储器:,第I级包含1KB,存,取,取时间为0.1,s,第II级包,含,含1MB,,存,存取时间为1,s,存取I级中,的,的内容,直,接,接存取,存取II级,,,,首先被转,移,移到I级,,然,然后再存取,假设确定内,容,容所在位置,时,时间可以忽,略,略,若在I级存,储,储器中发现,存,存取对象的,概,概率是95%,则平均,访,访问时间为,:,:,结果非常接,近,近I级存储,的,的存取时间,T1:I级,存,存储器的存,取,取时间,T2:II,级,级存储器的,存,存取时间,一个简单二,级,级存储系统,的,的性能,3、存储分,块,块,存储最小单,位,位:“二进,位,位”,包含,信,信息为0或1,最小编址单,位,位:字节,,一,一个字节包,含,含八个二进,位,位,主流个人电,脑,脑,主存:128MB512MB之,间,间,辅助存储器:在20GB70GB,工作站、服,务,务器,主存:512MB 4GB之,间,间,硬盘容量:,数,数百GB,为简化分配,和,和管理,存,储,储器分成块,称一个物,理,理页(Page),块的大小:512B、1K、4K,、,、8K,4、存储保,护,护设施,对主存中的,信,信息加以严,格,格的保护,,使,使操作系统,及,及其它程序,不,不被破坏,,是,是其正确运,行,行的基本条,件,件之一,多用户,多,任,任务操作系,统,统:,OS给每个,运,运行进程分,配,配一个存储,区,区域,问题:,多个程序同,时,时在同一台,机,机器上运行,怎样才能互,不,不侵犯?,保护的硬件,支,支持,为了保证软,件,件程序只影,响,响程序的内,部,部,硬件可提供,如,如下功能:,界地址寄存,器,器(界限寄,存,存器),存储键,地址转换,界地址寄存,器,器(界限寄,存,存器),界地址寄存,器,器被广泛使,用,用的一种存,储,储保护技术,机制比较简,单,单,易于实,现,现,实现方法:,在CPU中,设,设置一对下,限,限寄存器和,上,上限寄存器,存放用户作,业,业在主存中,的,的下限和上,限,限地址,也可将一个,寄,寄存器作为,基,基址寄存器,,,,另一寄存,器,器作为限长,寄,寄存器(指,示,示存储区长,度,度),每当CPU,要,要访问主存,,,,硬件自动,将,将被访问的,主,主存地址与,界,界限寄存器,的,的内容进行,比,比较,以判,断,断是否越界,如果未越界,,,,则按此地,址,址访问主存,,,,否则将产,生,生程序中断,越界中,断,断(存储保,护,护中断),界地址寄存,器,器,存储保护技,术,术,存储键,每个存储块,有,有一个由二,进,进位组成的,存,存储保护键,一用户作业,被,被允许进入,主,主存,OS,分,分给它一个,唯,唯一的存储,键,键号,并将分配给,该,该作业各存,储,储块存储键,也,也置成同样,键,键号,当OS挑选,该,该作业运行,时,时,OS将,它,它的存储键,号,号放入程序,状,状态字PSW存储键(,“,“钥匙”),域,域中,每当CPU,访,访问主存时,,,,都将该主,存,存块的存储,键,键与PSW,中,中的“钥匙,”,”进行比较,如果相匹配,,,,则允许访,问,问,否则,,拒,拒绝并报警,地址转换,同时有多个,程,程序在内存,程序在内存,的,的位置不是,固,固定的而是,随,随机的,CPU,Translation,Box,(MMU),虚拟地址,物理地址,物理空间,数据读或写,(不需转换,),),现代体系结,构,构中的地址,转,转换,code,data,heap,stack,程序2,虚地址空间,data2,stack1,code1,heap1,code2,stack2,data1,heap2,OS code,OS data,OS heap,& stacks,程序 1,虚地址空间,code,data,heap,stack,内存,地址转换,三、,中断技术,中断对于操,作,作系统的重,要,要性,就像机器中,的,的驱动齿轮,一,一样,所以有人把,操,操作系统称,为,为是由,“中断驱动,”,”或者 “,(,(中断)事,件,件驱动”,中断机制,中断机制是操作系统,得,得以正常工,作,作的最重要,的,的手段,它使得,OS,可以捕获普,通,通程序发出,的,的系统功能,调,调用,及时处理设,备,备的中断请,求,求,防止用户程,序,序中破坏性,的,的活动等等,什么是中断?,指CPU对,系,系统中或系,统,统外发生异,步,步事件的响,应,应,异步事件是,指,指无一定时,序,序关系的随,机,机发生事件,如外部设,备,备完成数,据,据传输,,实,实时设备,出,出现异常,等,等,“中断”,名,名称源于,:,:,当异步事,件,件发生后,,,,打断了,对,对当前程,序,序的执行,而转去处,理,理该异步,事,事件,直到处理,完,完了后,,再,再转回原,程,程序中断,点,点继续执,行,行,1、中断,的,的概念,中断定义,CPU对,系,系统发生,的,的某个事,件,件作出的,一,一种反应,CPU暂,停,停正在执,行,行的程序,,,,保留现,场,场后自动,转,转去执行,相,相应事件,的,的处理程,序,序,处理,完,完成后返,回,回断点,,继,继续执行,被,被打断的,程,程序,从用户角,度,度看中断,引入中断,的,的目的,解决主机,与,与外设的,并,并行工作,问,问题,提高可靠,性,性,实现多机,联,联系,实现实时,控,控制,特点:,1) 中,断,断随机的,2) 中,断,断是可恢,复,复的,3) 中,断,断是自动,处,处理的,中断源:,引,引起中断,发,发生的事,件,件,中断寄存,器,器:记录,中,中断,中断字:,中,中断寄存,器,器的内容,系统堆栈:在内,存,存开辟的,一,一块区域,,,,用于临,时,时保存现,场,场,中断系统,的,的概念,中断类型,(,(1),强迫性中,断,断,正在运行,的,的程序所,不,不期望的,,,,由于某,种,种硬件故,障,障或外部,请,请求引起,的,的,自愿性中,断,断,用户在程,序,序中有意,识,识安排的,中,中断,是,由,由于用户,在,在编制程,序,序时因为,要,要求操作,系,系统提供,服,服务,有,意,意使用“,访,访管”指,令,令或系统,调,调用,使,中,中断发生,中断类型,(2),强迫性中,断,断,输入/输,出,出(I/O)中断,:,:主要来,自,自外部设,备,备通道,程序性中,断,断:运行,程,程序中本,身,身的中断,(如溢出,缺页中,断,断,缺段,中,中断,地,址,址越界),时钟中断,控制台中,断,断,硬件故障,中断类型,(3),自愿性中,断,断,执行I/O,创建,进,进程,分,配,配内存,信号量操,作,作,发送/接收消,息,息,微机中的,中,中断,1.可屏,蔽,蔽中断(IO中断,),),2.不可,屏,屏蔽中断,(,(机器内,部,部故障、,掉,掉电中断,),),3.程序,错,错误中断,(,(溢出、,除,除法错等,中,中断),4.软件,中,中断(Trap指,令,令或中断,指,指令INT),IBM370中的,中,中断,1. 机,器,器故障中,断,断:如电,源,源故障,,机,机器电路,检,检验错等,2. 输,入,入输出中,断,断:输入,输,输出设备,和,和通道数,据,据传输状,态,态),3. 外,部,部中断:,时,时钟中断,,,,操作员,控,控制台中,断,断,多机,系,系统中其,它,它机器的,通,通信要求,中,中断,各,种,种外设或,传,传感器发,来,来的实时,中,中断等,4. 程,序,序中断:,程,程序中的,问,问题引起,的,的中断,,如,如错误地,使,使用指令,或,或数据、,溢,溢出等问,题,题,存储,保,保护等,5. 访,管,管中断:,访,访管指令,或,或陷阱指,令,令(Trap指令,),)中的操,作,作数规定,了,了要求服,务,务的类型,。,。每当CPU执行,访,访管指令,或,或陷阱指,令,令时,即,引,引起中断,并,并调用操,作,作系统相,应,应的功能,模,模块为其,服,服务,2、,中断系统,中断系统,的,的两大组,成,成部分:,硬,硬件中断,装,装置和软,件,件中断处,理,理程序,中断系统,的,的硬件中,断,断装置-,中,中断系统,的,的机制部,分,分,负责捕获,中,中断源发,出,出的中断,请,请求,以,一,一定方式,响,响应中断,源,源,然后,将,将处理器,控,控制权交,给,给特定的,中,中断处理,程,程序,软件中断,处,处理程序-中断系,统,统的策略,部,部分,负,责,责,辨,辨,别,别,中,中,断,断,类,类,型,型,并,并,做,做,出,出,相,相,应,应,的,的,操,操,作,作,中,断,断,装,装,置,置,的,的,基,基,本,本,功,功,能,能,提,供,供,识,识,别,别,中,中,断,断,源,源,的,的,方,方,法,法,提,供,供,查,查,询,询,中,中,断,断,状,状,态,态,的,的,方,方,法,法,,,,,通,通,常,常,使,使,用,用,一,一,个,个,寄,寄,存,存,器,器,存,存,储,储,有,有,关,关,中,中,断,断,的,的,状,状,态,态,信,信,息,息,,,,,称,称,为,为,中,中,断,断,字,字,提,供,供,中,中,断,断,现,现,场,场,保,保,护,护,的,的,能,能,力,力,提,供,供,中,中,断,断,处,处,理,理,程,程,序,序,寻,寻,址,址,能,能,力,力,,,,,找,找,到,到,恰,恰,当,当,的,的,中,中,断,断,处,处,理,理,程,程,序,序,具,有,有,预,预,定,定,义,义,的,的,系,系,统,统,控,控,制,制,栈,栈,和,和,中,中,断,断,处,处,理,理,程,程,序,序,入,入,口,口,地,地,址,址,映,映,射,射,表,表,(,(,中,中,断,断,向,向,量,量,表,表),等,等,数,数,据,据,结,结,构,构,和,和,它,它,们,们,在,在,主,主,存,存,中,中,的,的,位,位,置,置,,,,,以,以,辅,辅,助,助OS,定,定,制,制,中,中,断,断,处,处,理,理,策,策,略,略,和,和,中,中,断,断,调,调,度,度,机,机,制,制,3,、,、,中,中,断,断,逻,逻,辑,辑,与,与,中,中,断,断,寄,寄,存,存,器,器,(,(1,),),如,何,何,接,接,受,受,和,和,响,响,应,应,中,中,断,断,源,源,的,的,中,中,断,断,请,请,求,求,,,,,因,因,机,机,器,器,而,而,异,异,如,,,,,在,在PC,中,中:,有,可,可,屏,屏,蔽,蔽,的,的,中,中,断,断,请,请,求,求INTR:,主,主,要,要,是,是,输,输,入,入,输,输,出,出,设,设,备,备,的,的I/O,中,中,断,断,通,通,过,过,建,建,立,立,在,在PSW,中,中,的,的,中,中,断,断,屏,屏,蔽,蔽,位,位,加,加,以,以,屏,屏,蔽,蔽,,,,,即,即,使,使,再,再,有,有I/O,中,中,断,断,,,,,处,处,理,理,器,器,也,也,不,不,响,响,应,应,不,可,可,屏,屏,蔽,蔽,的,的,中,中,断,断,请,请,求,求:,属,属,于,于,机,机,器,器,故,故,障,障,中,中,断,断,,,,,包,包,括,括,内,内,存,存,奇,奇,偶,偶,校,校,验,验,错,错,以,以,及,及,掉,掉,电,电,等,等,中,中,断,断,源,源,程,序,序,中,中,的,的,问,问,题,题,所,所,引,引,起,起,的,的,中,中,断,断,(,(,如,如,溢,溢,出,出,、,、,除,除,法,法,错,错,都,都,可,可,以,以,引,引,起,起,中,中,断,断,),),和,和,软,软,件,件,中,中,断,断,等,等,由,于,于,可,可,能,能,有,有,很,很,多,多,中,中,断,断,源,源,请,请,求,求,同,同,时,时,发,发,生,生,由,中,中,断,断,逻,逻,辑,辑,按,按,中,中,断,断,优,优,先,先,级,级,加,加,以,以,判,判,定,定,响,响,应,应,哪,哪,个,个,中,中,断,断,请,请,求,求,中,断,断,寄,寄,存,存,器,器,:,:,有,的,的,计,计,算,算,机,机,中,中,,,,,为,为,了,了,区,区,分,分,和,和,不,不,丢,丢,失,失,中,中,断,断,信,信,号,号,对,应,应,每,每,个,个,中,中,断,断,源,源,分,分,别,别,用,用,一,一,固,固,定,定,触,触,发,发,器,器,寄,寄,存,存,中,中,断,断,信,信,号,号,规,定,定,值,值,为,为1,时,时,,,,,表,表,示,示,有,有,中,中,断,断,信,信,号,号,,,,,为,为0,时,时,表,表,示,示,无,无,这,些,些,触,触,发,发,器,器,的,的,全,全,体,体,称,称,为,为,中,中,断,断,寄,寄,存,存,器,器,每,个,个,触,触,发,发,器,器,称,称,为,为,一,一,个,个,中,中,断,断,位,位,所,以,以,中,中,断,断,寄,寄,存,存,器,器,是,是,由,由,若,若,干,干,个,个,中,中,断,断,位,位,组,组,成,成,中,断,断,逻,逻,辑,辑,与,与,中,中,断,断,寄,寄,存,存,器,器,(,(2,),),处,理,理,器,器,如,如,何,何,发,发,现,现,中,中,断,断,信,信,号,号,?,?,处理器的控,制,制部件中设,一,一个能检测,中,中断的机构,称为中断扫,描,描机构,在每条指令,执,执行周期的,最,最后时刻扫,描,描中断寄存,器,器,询问是,否,否有中断信,号,号,若无中断信,号,号,继续执,行,行下一条指,令,令,若有中断,,中,中断硬件将,该,该中断触发,器,器内容按规,定,定编码送入PSW的相,应,应位,称为,中,中断码,中断逻辑与,中,中断寄存器,(,(3),4、,多级中断和,中,中断屏蔽,多级中断:,多数微型处,理,理器有着多,级,级中断系统,,,,可以有多,根,根中断请求,线,线(级)从,不,不同设备连,接,接到中断逻,辑,辑,如M 68000有七,级,级,PDP11有11,级,级,具有相同特,性,性和优先级,的,的设备可连,到,到同一中断,级,级上,中断优先级,:,:,在多级中断,系,系统中,可,能,能同时有多,个,个中断请求,,,,CPU接,受,受中断优先,级,级为最高的,那,那个中断,忽略其中断,优,优先级较低,的,的那些中断,5、,中断响应,CPU如何,响,响应中断,两,两个问题,:,:,CPU何时,响,响应中断?,通常在CPU执行了一,条,条指令以后,,,,更确切地,,,,在指令周,期,期最后时刻,接,接受中断请,求,求,或此时,扫,扫描中断寄,存,存器,如何知道提,出,出中断请求,的,的设备或中,断,断源?,因为只有知,道,道中断源或,中,中断设备,,才,才能调用相,应,应的中断处,理,理程序,开始,取下一条指,令,令,执行指令,检查指令,处理中断,停止,取周期,执行周期,中断周期,不允许中断,允许,中断,用软件指令,去,去查询各设,备,备接口,这种方法比,较,较费时,多数微型机,对,对此问题的,解,解决方法:,使用一种“,向,向量中断”,的,的硬件设施,“向量中断,”,”:,当CPU接,受,受某中断请,求,求时,该设,备,备接口给处,理,理器发送具,有,有唯一性的,“,“中断向量,”,”,以标识,该,该设备,“中断向量,”,”在各计算,机,机上实现方,法,法差别比较,大,大,两种解决方,法,法,中断向量表,在有的机器,中,中:,将主存最低,位,位128个,字,字保留作为,中,中断向量表,,,,每个中断,向,向量占两个,字,字,中断请求的,设,设备接口为,了,了标识自己,,,,向处理器,发,发送一个该,设,设备在中断,向,向量表中表,目,目的地址指,针,针,中断优先级,在一些机器,中,中,中断优,先,先级按中断,类,类型划分:,以机器故障,中,中断的优先,级,级最高,程序中断和,访,访问管理程,序,序中断次之,外部,中,中断,更,更次,之,之,输入,输,输出,的,的优,先,先级,最,最低,中断,屏,屏蔽,在CPU,上,上运,行,行的,程,程序,,,,有,时,时由,于,于种,种,种原,因,因,,不,不希,望,望其,在,在执,行,行过,程,程中,被,被别,的,的事,件,件所,中,中断,,,,称,为,为中,断,断屏,蔽,蔽,在PSW,中,中设,置,置中,断,断屏,蔽,蔽码,以,以屏,蔽,蔽某,些,些指,定,定的,中,中断,类,类型,如果,其,其PSW,的,的中,断,断禁,止,止位,建,建立,后,后,,则,则屏,蔽,蔽中,断,断,(不,包,包括,不,不可,屏,屏蔽,的,的那,些,些中,断,断),如果PSW中,的,的中,断,断禁,止,止位,未,未建,立,立,则可,以,以接,受,受其,中,中断,优,优先,级,级高,于,于运,行,行程,序,序中,断,断优,先,先级,的,的那,些,些中,断,断,各设,备,备接,口,口中,也,也有,中,中断,禁,禁止,位,位,,以,以禁,止,止该,设,设备,的,的中,断,断,6、,中,中断,处,处理,(,(1,),),简单,的,的中,断,断处,理,理-,典型,的,的处,理,理过,程,程:,(1,),)设,备,备给,处,处理,器,器发,一,一个,中,中断,信,信号,(2,),)处,理,理器,处,处理,完,完当,前,前指,令,令后,响,响应,中,中断,,,,延,迟,迟非,常,常短,(,(要,求,求处,理,理器,没,没有,关,关闭,中,中断,),),(3,),)处,理,理器,处,处理,完,完当,前,前指,令,令后,检,检测,到,到中,断,断,,判,判断,出,出中,断,断来,源,源并,向,向发,送,送中,断,断的,设,设备,发,发送,了,了确,认,认中,断,断信,号,号,,确,确认,信,信号,使,使得,该,该设,备,备将,中,中断,信,信号,恢,恢复,到,到一,般,般状,态,态,(4,),)处,理,理器,开,开始,为,为软,件,件处,理,理中,断,断做,准,准备,:,:,保存,中,中断,点,点的,程,程序,执,执行,上,上下,文,文环,境,境,,这,这通,常,常包,括,括程,序,序,状,状态,字,字PSW,,,,程,序,序计,数,数器PC,中,中的,下,下一,条,条指,令,令位,置,置,,一,一些,寄,寄存,器,器的,值,值,,它,它们,通,通常,保,保存,在,在系,统,统控,制,制栈,中,中,处理,器,器状,态,态被,切,切换,到,到管,态,态,(5,),)处,理,理器,根,根据,中,中断,源,源查,询,询中,断,断向,量,量表,,,,获,得,得与,该,该中,断,断相,联,联系,的,的处,理,理程,序,序入,口,口地,址,址,,并,并将PC,置,置成,该,该地,址,址,,处,处理,器,器开,始,始一,个,个新,的,的指,令,令周,期,期,,控,控制,转,转移,到,到中,断,断处,理,理程,序,序,(6,),)中,断,断处,理,理程,序,序开,始,始工,作,作,,包,包括,检,检查I/O相,关,关的,状,状态,信,信息,,,,操,纵,纵I/O,设,设备,或,或者,在,在设,备,备和,主,主存,之,之间,传,传送,数,数据,等,等等,(7,),)中,断,断处,理,理结,束,束时,,,,处,理,理器,检,检测,到,到中,断,断返,回,回指,令,令,,被,被中,断,断程,序,序的,上,上下,文,文环,境,境从,系,系统,堆,堆栈,中,中被,恢,恢复,处理,器,器状,态,态恢,复,复成,原,原来,的,的状,态,态。,(8,),)PSW,和,和PC被,恢,恢复,成,成中,断,断前,的,的值,,,,处,理,理器,开,开始,一,一个,新,新的,指,指令,周,周期,,,,中,断,断处,理,理结,束,束,中断,处,处理,(,(2,),),简单,的,的中,断,断处,理,理过,程,程,多个,中,中断,的,的处,理,理(1),若中,断,断处,理,理过,程,程中,又,又发,生,生中,断,断,,引,引起,多,多中,断,断处,理,理问,题,题,两种,策,策略,方,方法,:,:,第一,种,种:,处理,一,一个,中,中断,时,时禁,止,止中,断,断,,对,对任,何,何新,中,中断,置,置之,不,不理,,,,在,这,这期,间,间发,生,生的,中,中断,将,将保,持,持挂,起,起状,态,态,当再,次,次允,许,许中,断,断时,,,,新,中,中断,信,信号,被,被处,理,理器,检,检测,到,到,软件,实,实现,方,方法,:,:,在任,何,何中,断,断处,理,理前,使,使用,禁,禁止,中,中断,指,指令,在处,理,理结,束,束后,开,开放,中,中断,指,指令,所有,中,中断,严,严格,按,按照,发,发生,顺,顺序,处,处理,不考,虑,虑中,断,断紧,急,急程,度,度,,无,无法,达,达到,较,较严,格,格时,间,间要,求,求,多中,断,断处,理,理第,一,一种,策,策略,方,方法,第二,种,种:,中断,按,按照,优,优先,度,度分,级,级,允许,优,优先,级,级高,中,中断,打,打断,优,优先,级,级低,的,的中,断,断处,理,理过,程,程,这样,中,中断,优,优先,级,级技,术,术将,引,引起,中,中断,处,处理,的,的嵌,套,套,只要,合,合适,地,地定,义,义中,断,断的,优,优先,级,级别,方法,一,一的,弊,弊端,大,大都,可,可以,克,克服,多个,中,中断,的,的处,理,理(2),多中,断,断处,理,理第,二,二种,策,策略,方,方法,典型,的,的中,断,断处,理,理(1),:,:,I/O,中断,由I/O,设,设备,的,的控,制,制器,或,或者,通,通道,发,发出,两类I/O中,断,断:,I/O操,作,作正,常,常结,束,束,如果,要,要继,续,续I/O,操,操作,,,,需,要,要在,准,准备,好,好以,后,后重,新,新启,动,动I/O,,,,若,请,请求I/O程,序,序正,处,处于,等,等待I/O状,态,态,,则,则应,将,将其,唤,唤醒,I/O异,常,常,需要,重,重新,执,执行,失,失败,的,的I/O,操,操作,重试,次,次数,有,有上,限,限,,次,次数,过,过大,,,,系,统,统将,判,判定,硬,硬件,故,故障,系统,多,多道,能,能力,的,的重,要,要推,动,动力,量,量,,时,时钟,中,中断,处,处理,程,程序,通,通常,做,做与,系,系统,运,运转,、,、管,理,理和,维,维护,相,相关,的,的工,作,作,,包,包括,:,:,维护,软,软件,时,时钟,:,:系,统,统有,若,若干,个,个软,件,件时,钟,钟,,控,控制,定,定时,任,任务,以,以及,进,进程,的,的处,理,理器,时,时间,配,配额,,,,时,钟,钟中,断,断需,要,要维,护,护、,定,定时,更,更新,这,这些,软,软件,时,时钟,处理,器,器时,间,间调,度,度:,维,维护,当,当前,进,进程,时,时间,片,片软,件,件时,钟,钟,,并,并在,当,当前,进,进程,时,时间,片,片到,时,时以,后,后运,行,行调,度,度程,序,序选,择,择下,一,一个,被,被调,度,度的,进,进程,控制,系,系统,定,定时,任,任务,:,:通,过,过软,件,件时,钟,钟和,调,调度,程,程序,定,定时,激,激活,一,一些,系,系统,任,任务,,,,如,监,监测,死,死锁,、,、系,统,统记,帐,帐、,系,系统,审,审计,等,等,实时,处,处理,典型,的,的中,断,断处,理,理,(2,),),:,时钟,中,中断,典型,的,的中,断,断处,理,理(,3),:,硬件,故,故障,中,中断,硬件,故,故障,中,中断,处,处理,程,程序,一,一般,需,需要,做,做的,工,工作,:,:,保存,现,现场,,,,使,用,用一,定,定警,告,告手,段,段,,提,提供,些,些辅,助,助诊,断,断信,息,息,在高,可,可靠,系,系统,中,中,,中,中断,处,处理,程,程序,还,还要,评,评估,系,系统,可,可用,性,性,,尽,尽可,能,能恢,复,复系,统,统,如Windows2000/XP,,,,关键硬,件,件发生故,障,障时,如,显,显示卡损,坏,坏,出现,系,系统蓝屏,,,,系统实,际,际上进入,相,相应故障,处,处理程序,,,,发现故,障,障不可恢,复,复,则在,屏,屏幕上打,印,印出发生,故,故障时程,序,序位置,,并,并开始进,行,行内存转,储,储(将一,定,定范围的,内,内存内容,写,写上磁盘,,,,是系统,故,故障时的,全,全系统“,快,快照”),,,,备日后,故,故障诊断,程序指令,出,出错、指,令,令越权或,者,者指令寻,址,址越界而,引,引发,两类处理,方,方法:,只能由操,作,作系统的,相,相关扩展,功,功能模块,完,完成,多为程序,试,试图作不,能,能做的操,作,作引起的,系,系统保护,如访问合,法,法的、但,不,不在内存,虚,虚地址内,,,,引发页,故,故障页故,障,障一般会,引,引发OS,虚,虚存模块,作,作一个页,面,面换入,可由程序,自,自己完成,,,,如一些,算,算术运算,错,错误,不同程序,可,可有不同,处,处理方法,,,,所以很,多,多OS提,供,供由用户,自,自己处理,这,这类中断,的,的“绿色,通,通道”,系统调试,中,中断(断,点,点中断、,单,单步跟踪,),)也可被,用,用户程序,处,处理,用,以,以支持各,种,种程序调,试,试,典型的中,断,断处理(,4,):,程序性中,断,断,典型的中,断,断处理(5):系,统,统服务请,求,求(自愿,性,性中断),系统服务,请,请求由处,理,理器专用,指,指令(访,管,管指令),激,激发,如x86,处,处理器提,供,供,int,指令,用,来,来激发软,件,件中断,其他不少,处,处理器则,提,提供系统,调,调用指令,syscall,执行专用,指,指令的结,果,果是系统,被,被切换到,管,管态,并,且,且转移到,一,一段专门,OS,程序处开,始,始执行,指令格式,通,通常是指,令,令名加请,求,求服务识,别,别号(中,断,断号),OS,利用处理,器,器提供的,这,这种接口,建,建立系统,服,服务体系,处理器一,般,般不负责,定,定义系统,调,调用所传,递,递的参数,格,格式,DOS:21h,号中断的,系,系统服务,功,功能以及,参,参数列表,现代操作,系,系统一般,不,不提供直,接,接使用系,统,统调用指,令,令的接口,,,,通常做,法,法:提供,一,一套方便,、,、实用的,应,应用程序,函,函数库(,应,应用程序,设,设计接口API),从应用层,面,面重新封,装,装系统调,用,用,屏蔽复杂,的,的系统调,用,用传参问,题,题,高级语言,接,接口,有,助,助于快速,开,开发,有的系统,在,在更高层,面,面提供系,统,统程序设,计,计模板库,和,和类库,如Windows2000/XP,提,提供封装,系,系统用Win32API,和,和高层编,程,程机制MFC以及ATL,Linux提供封,装,装系统调,用,用、符合POSIX标准API和C运行库,典型的中,断,断处理(,6,):,系统服务,请,请求实例,设备控制器或其他系统硬件发出中断,处理器完成当前指令的执行,处理器接受中断,处理器将PSW和PC推入系统堆栈,处理器根据中断类型读入新的PC值,中断系统,硬,硬件完成,的,的工作,保存进程状态的其余信息,进程中断,恢复进程状态信息,从系统堆栈恢复原PSW和PC,中断系统,软,软件完成,的,的工作,强迫性中,断,断事件,自愿性中,断,断事件,保存现场,信,信息,保存现场,信,信息,取出中断,码,码,取出访管,号,号,分析中断,原,原因,分析何种,系,系统调用,转相应处,理,理程序,是否中断,嵌,嵌套,由系统恢,复,复现场,由系统恢,复,复现场,转低级调,度,度程序,返回上层,中,中断,返回目态,程,程序,需要切换,进,进程,T,F,F,T,四、I/O技术,I/O,控制使用,下,下面几种,技,技术:,程序控制,中断驱动,直接存储,器,器存取,(DMA,),),通道,1、程序,控,控制I/O技术,由处理器,提,提供I/O相关指,令,令来实现,I/O,处理单元,处,处理请求,并,并设置,I/O,状态寄存,器,器相关位,不中断处,理,理器,也,不,不给处理,器,器警告信,息,息,处理器定,期,期轮询,I/O,单元的状,态,态,直到,处,处理完毕,I/O,软件包含,直,直接操纵,I/O,的指令,控制指令: 用于,激,激活外设,,,,并告诉,它,它做什么,状态指令: 用于,测,测试I/O控制中,的,的各种状,态,态和条件,数据传送,指,指令:,用,用于在设,备,备和主存,之,之间来回,传,传送数据,主要缺陷,:,:处理器,必,必须关注I/O处,理,理单元的,状,状态,因,而,而耗费大,量,量时间轮,询,询信息,,严,严重地降,低,低了系统,性,性能,2、中断,驱,驱动I/O技术,为了解决,程,程序控制,I/O,方法的主,要,要问题,应该让处,理,理器从轮,询,询任务中,解,解放出来,使,I/O,操作和指,令,令执行并,行,行起来,具体作法,:,:,当,I/O,处理单元,准,准备好与,设,设备交互,的,的时候,通过物理,信,信号通知,处,处理器,,即,即中断处,理,理器,3、DMA技术(1),中断的引,入,入大大地,提,提高了处,理,理器处理,I/O的,效率,当处理器,和,和,I/O间,传送数据,时,时,效率,仍,仍旧不高,解决方法,:,:,直接存储,器,器访问,(DMA,:,:DirectMemory Access),通过系统,总,总线中一,独,独立控制,单,单元,DMA,控制器,自动控制,成,成块数据,在,在内存和,I/O,单元间的,传,传送,大大提高,处,处理,I/O,的效能,DMA技,术,术,(2),当处理器,需,需要读写,一,一整块数,据,据时,给,DMA,控制单元,发,发送一条,命,命令,包含:是,否,否请求一,次,次读或写,,,,,I/O,设备的编,址,址,开始,读,读或写的,主,主存编址,,,,需要传,送,送的数据,长,长度等信,息,息,处理器发,送,送完命令,后,后就可处,理,理其它事,情,情,DMA控,制,制器将自,动,动管理数,据,据的传送,当这个过,程,程完成后,,,,它会给,处,处理器发,一,一个中断,处理器只,在,在开始传,送,送和传送,结,结束时关,注,注一下就,可,可,处理器和,DMA,传送不完,全,全并行,有时会有,总,总线竞争,的,的情况发,生,生,处理器用,总,总线时可,能,能稍作等,待,待,不会引起,中,中断,不引起程,序,序上下文,的,的保存,通常过程,只,只有一个,总,总线周期,在,DMA传,送,送,时,处理,器,器访问总,线,线速度会,变,变慢,对于大量,数,数据,I/O传,送,送,DMA,技术是很,有,有价值,DMA技,术,术,(3),程序I/O,中断I/O,DMA,4、通道,独立于中,央,央处理器,,,,专门负,责,责数据,I/O传,输,输,的处理机,它对外设,实,实现统一,管,管理,代替,CPU对I/O,操作进行,控,控制,使,CPU和,外设可以,并,并行工作,通道又称,为,为,I/O,处理机,引入通道,的,的目的:,为了使,CPU从I/O,事务中解,脱,脱出来,同时为了,提,提高,CPU,与设备、,设,设备与设,备,备之间的,并,并行度,五、时,钟,钟(1,),),时钟为,计,计算机,完,完成以,下,下必不,可,可少的,工,工作:,在多道,程,程序运,行,行环境,中,中,为,系,系统发,现,现陷入,死,死循环,(,(编程,错,错误),的,的作业,,,,防止,机,机时的,浪,浪费,在分时,系,系统中,,,,间隔,时,时钟实,现,现作业,间,间按时,间,间片轮,转,转,在实时,系,系统中,,,,按要,求,求的间,隔,隔输出,正,正确时,间,间信号,给,给实时,的,的控制,设,设备(,如,如,AD,、,、D/A,转换设,备,备),定时唤,醒,醒要求,延,延迟执,行,行的各,外,外部事,件,件(如,定,定时为,各,各进程,计,计算优,先,先数,,银,银行中,定,定时运,行,行某类,结,结账程,序,序等),记录用,户,户使用,设,设备时,间,间和记,录,录某外,部,部事件,发,发生时,间,间,记录用,户,户和系,统,统所需,要,要的绝,对,对时间,,,,即年,、,、月、,日,日,时钟是,操,操作系,统,统运行,的,的必不,可,可少的,硬,硬件设,施,施,时钟,,实,实际上,都,都是硬,件,件时钟,寄,寄存器,,,,按时,钟,钟电路,所,所产生,的,的脉冲,数,数对时,钟,钟寄存,器,器进行,加,加1或,减,减1的,工,工作,绝对时,钟,钟:记,录,录当时,时,时间(,年,年、月,、,、日、,时,时、分,、,、秒),一般来,说,说,绝,对,对时钟,准,准确,,当,当停机,时,时,绝,对,对时钟,值,值仍然,自,自动修,改,改,间隔时钟(,相,相对时钟),:,:通过时钟,寄,寄存器实现,置上时间间,隔,隔初值,每,经,经过一个单,位,位时间,时,钟,钟值减1,,直,直到该值为,负,负时,则触,发,发时钟中断,,,,并进行相,应,应中断处理,时钟(2),每个脉冲使,计,计数器减1,用来装入计,数,数器初值,硬件时钟:,某个寄存器,来,来模拟,(根据脉冲,频,频率定时加1,减1),软件时钟:,用作相对时,钟,钟,用内存,单,单元来模拟,时,时钟,CPU,保护:防止,进,进程得到,CPU,后不放弃控,制,制权,解决:分配,给,给每个进程,一,一段时间(,时,时间片),时间片到,,发,发时钟中断,,,,控制权交,给,给操作系统,六、,缓冲技术,缓冲区是硬,件,件设备之间,进,进行数据传,输,输时,
展开阅读全文