Windows操作系统-体系结构(二).ppt
《Windows操作系统-体系结构(二).ppt》由会员分享,可在线阅读,更多相关《Windows操作系统-体系结构(二).ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第二章第二章 Windows操作系统操作系统的体系结构(下)的体系结构(下)F陷阱调度陷阱调度中断调度中断调度异常调度异常调度系统服务调度系统服务调度F对象管理器对象管理器F本地过程调用本地过程调用FWindows的系统机制的系统机制2陷阱调度当异常或中断当异常或中断发生生时,硬件或,硬件或软件可以件可以检测到,到,处理器理器会从用会从用户态切切换到核心到核心态,并将控制,并将控制转交交给内核的陷阱内核的陷阱处理程序,理程序,该模模块检测异常和中断的异常和中断的类型,并将控制交型,并将控制交给处理相理相应情况的代情况的代码 3异常和中断异常和中断中断是异步事件,可能随中断是异步事件,可能随时
2、发生,与生,与处理器正在理器正在执行的行的内容无关。中断主要由内容无关。中断主要由I/O设备、处理器理器时钟或定或定时器器产生,可以被启用或禁用生,可以被启用或禁用异常是同步事件,它是某一特定指令异常是同步事件,它是某一特定指令执行的行的结果。在相果。在相同条件下,异常可以重同条件下,异常可以重现。例如内存。例如内存访问错误、调试指指令以及被零除。令以及被零除。系系统服服务调用也用也视作异常。作异常。软件和硬件都可以件和硬件都可以产生异常和中断。生异常和中断。陷阱调度4中断调度中断请求级别(中断请求级别(IRQL=Interrupt Request Level)Windows 操作系统运行操作
3、系统运行的不同机器,其中断处的不同机器,其中断处理机制是各不相同的,理机制是各不相同的,为了可移植性的需要,为了可移植性的需要,Windows将与中断控制将与中断控制器硬件相关的中断级别器硬件相关的中断级别映射为一个标准的与硬映射为一个标准的与硬件无关的中断级别,即件无关的中断级别,即中断请求级别中断请求级别IRQL。这一映射由这一映射由HAL实现。实现。IRQL采用符号名来命名采用符号名来命名HIGH_LEVEL POWER_LEVELIPI_LEVEL CLOCK_LEVELPROFILE_LEVELDEVICE_LEVELDISPATCH_LEVELAPC_LEVELPASSIVE_LE
4、VEL 5中断调度在不同机器上,在不同机器上,IRQL的实际取值不的实际取值不尽相同尽相同由于由于IRQL与硬件无与硬件无关,所以可以将非关,所以可以将非硬件中断(软件中硬件中断(软件中断)映射到断)映射到IRQL体体系结构中。软件中系结构中。软件中断主要用于启动调断主要用于启动调度操作。度操作。6中断调度处理器的处理器的IRQL在多处理器系统中,任一处理器都可以接收中断请求,所以在多处理器系统中,任一处理器都可以接收中断请求,所以Windows为每一个处理器维护一个独立的为每一个处理器维护一个独立的IRQL。7中断调度中断对象中断对象当处理器收到中断请求时,要通知相应设备的驱动程序进行当处理
5、器收到中断请求时,要通知相应设备的驱动程序进行处理。为此,设备驱动程序应该向处理。为此,设备驱动程序应该向I/O管理器注册一个管理器注册一个ISR,可以通过调用可以通过调用IoConnectInterrupt来实现。来实现。IoConnectInterrupt初始化一个中断对象,来存放关于中断初始化一个中断对象,来存放关于中断及其及其ISR的信息。同时使处理器的中断服务表(中断向量表的信息。同时使处理器的中断服务表(中断向量表/中断描述符表)的相应表项指向该中断对象。中断描述符表)的相应表项指向该中断对象。8中断调度硬件中断处理过程硬件中断处理过程9中断调度延迟过程调用延迟过程调用DPC当处理
6、器处于较高当处理器处于较高IRQL时,将屏蔽低于或等于处理器当前时,将屏蔽低于或等于处理器当前IQRL的中断,可能使某些设备的中断得不到及时响应。的中断,可能使某些设备的中断得不到及时响应。为此,为此,Windows要求处理器在较高要求处理器在较高IRQL上运行的时间尽可能上运行的时间尽可能短,故引入延迟过程调用机制。短,故引入延迟过程调用机制。10中断调度延延迟过程程调用用11结构化异常处理结构化异常处理Windows在系统底层提供了一种称为结构化异常处理在系统底层提供了一种称为结构化异常处理(SEH)的系统机制。利用的系统机制。利用SEH可以把程序主要的工作可以把程序主要的工作同错误处理分
7、离开来,这样的分离,可以使程序员集同错误处理分离开来,这样的分离,可以使程序员集中精力关注程序要完成的任务,而将可能发生的错误中精力关注程序要完成的任务,而将可能发生的错误放在后面处理。放在后面处理。异常是在应用程序的正常执行过程中发生的不正常事异常是在应用程序的正常执行过程中发生的不正常事件。件。CPU引发的异常称为引发的异常称为硬件异常硬件异常,操作系统和应用,操作系统和应用程序直接引发的异常,称为程序直接引发的异常,称为软件异常软件异常异常调度12SEH是操作系统的一种系统机制,与特定的程序是操作系统的一种系统机制,与特定的程序设计语言无关。设计语言无关。应用程序要利用系统提供的应用程序
8、要利用系统提供的SEH机制,则必须借机制,则必须借助于特定程序设计语言的相关语法。助于特定程序设计语言的相关语法。因此,因此,SEH不但涉及操作系统,而且与编译器有不但涉及操作系统,而且与编译器有密切的关系。密切的关系。结构化异常处理结构化异常处理异常调度13_try./guarded section_except(exception filter)./exception handler结构化异常处理结构化异常处理异常调度14异常过滤器返回如下三个异常标识符之一异常过滤器返回如下三个异常标识符之一FECXEPTION_EXECUTE_HANDLERFECXEPTION_CONTINUE_EXE
9、CUTIONFECXEPTION_CONTINUE_SEARCH结构化异常处理结构化异常处理异常调度15异常调度异常调度异常调度每个线程拥有一个称为每个线程拥有一个称为TEB的数据结构,其中包含指向的数据结构,其中包含指向EXCEPTION_REGISTRATION_RECORD结构的指针结构的指针EXCEPTION_REGISTRATION_RECORD结构包含两个域:结构包含两个域:next指向下一个指向下一个EXCEPTION_REGISTRATION_RECORD 结构结构handler指向指向_except_handler16异常调度异常调度异常调度Thread Environmen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 操作系统 体系结构
限制150内