




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1Windows操作系统体系结构二操作系统体系结构二陷阱处理程序陷阱处理程序异常调度程序虚拟存储器页面管理程序异常处理程序中断系统服务调用硬件异常软件异常虚拟地址异常中断调度程序中断服务例程服务调度程序系统服务第1页/共34页第2页/共34页中断请求级别(中断请求级别(IRQL=Interrupt Request Level)Windows 操作系统运行操作系统运行的不同机器,其中断处的不同机器,其中断处理机制是各不相同的,理机制是各不相同的,为了可移植性的需要,为了可移植性的需要, Windows将与中断控制将与中断控制器硬件相关的中断级别器硬件相关的中断级别映射为一个标准的与硬映射为
2、一个标准的与硬件无关的中断级别,即件无关的中断级别,即中断请求级别中断请求级别IRQL。这一映射由这一映射由HAL实现。实现。IRQL采用符号名来命名采用符号名来命名HIGH_LEVEL POWER_LEVELIPI_LEVEL CLOCK_LEVELPROFILE_LEVELDEVICE_LEVELDISPATCH_LEVELAPC_LEVELPASSIVE_LEVEL 第3页/共34页在不同机器上,在不同机器上,IRQL的实际取值不的实际取值不尽相同尽相同由于由于IRQL与硬件无与硬件无关,所以可以将非关,所以可以将非硬件中断(软件中硬件中断(软件中断)映射到断)映射到IRQL体体系结构中
3、。软件中系结构中。软件中断主要用于启动调断主要用于启动调度操作。度操作。第4页/共34页处理器的处理器的IRQL在多处理器系统中,任一处理器都可以接收中断请求,所在多处理器系统中,任一处理器都可以接收中断请求,所以以Windows为每一个处理器维护一个独立的为每一个处理器维护一个独立的IRQL。第5页/共34页中断对象中断对象当处理器收到中断请求时,要通知相应设备的驱动程序进当处理器收到中断请求时,要通知相应设备的驱动程序进行处理。为此,设备驱动程序应该向行处理。为此,设备驱动程序应该向I/O管理器注册一个管理器注册一个ISR,可以通过调用,可以通过调用IoConnectInterrupt来实
4、现。来实现。IoConnectInterrupt初始化一个中断对象,来存放关于中断初始化一个中断对象,来存放关于中断及其及其ISR的信息。同时使处理器的中断服务表(中断向量表的信息。同时使处理器的中断服务表(中断向量表/中断描述符表)的相应表项指向该中断对象。中断描述符表)的相应表项指向该中断对象。第6页/共34页硬件中断处理过程硬件中断处理过程第7页/共34页延迟过程调用延迟过程调用DPC当处理器处于较高当处理器处于较高IRQL时,将屏蔽低于或等于处理器当前时,将屏蔽低于或等于处理器当前IQRL的中断,可能使某些设备的中断得不到及时响应。的中断,可能使某些设备的中断得不到及时响应。为此,为此
5、,Windows要求处理器在较高要求处理器在较高IRQL上运行的时间尽可上运行的时间尽可能短,故引入延迟过程调用机制。能短,故引入延迟过程调用机制。第8页/共34页第9页/共34页结构化异常处理Windows在系统底层提供了一种称为结构化异常处理在系统底层提供了一种称为结构化异常处理(SEH)的系统机制。利用的系统机制。利用SEH可以把程序主要的工作可以把程序主要的工作同错误处理分离开来,这样的分离,可以使程序员同错误处理分离开来,这样的分离,可以使程序员集中精力关注程序要完成的任务,而将可能发生的集中精力关注程序要完成的任务,而将可能发生的错误放在后面处理。错误放在后面处理。异常是在应用程序
6、的正常执行过程中发生的不正常事异常是在应用程序的正常执行过程中发生的不正常事件。件。CPU引发的异常称为引发的异常称为硬件异常硬件异常,操作系统和应用,操作系统和应用程序直接引发的异常,称为程序直接引发的异常,称为软件异常软件异常第10页/共34页SEH是操作系统的一种系统机制,与特定的程序是操作系统的一种系统机制,与特定的程序设计语言无关。设计语言无关。应用程序要利用系统提供的应用程序要利用系统提供的SEH机制,则必须借机制,则必须借助于特定程序设计语言的相关语法。助于特定程序设计语言的相关语法。因此,因此,SEH不但涉及操作系统,而且与编译器有不但涉及操作系统,而且与编译器有密切的关系。密
7、切的关系。结构化异常处理第11页/共34页_try./guarded section_except(exception filter)./exception handler结构化异常处理第12页/共34页异常过滤器返回如下三个异常标识符之一异常过滤器返回如下三个异常标识符之一FECXEPTION_EXECUTE_HANDLERFECXEPTION_CONTINUE_EXECUTIONFECXEPTION_CONTINUE_SEARCH结构化异常处理第13页/共34页异常调度每个线程拥有一个称为每个线程拥有一个称为TEB的数据结构,其中包含指向的数据结构,其中包含指向EXCEPTION_REGI
8、STRATION_RECORD结构的指针结构的指针EXCEPTION_REGISTRATION_RECORD结构包含两个域:结构包含两个域:next指向下一个指向下一个EXCEPTION_REGISTRATION_RECORD 结构结构handler指向指向_except_handler第14页/共34页异常调度Thread Environment Block (FS:0)EXCEPTION_REGISTRATION_RECORDOther FieldsEXCEPTION_REGISTRATION_RECORDHandlerCallback PointerNext_except_handler
9、() /except code here第15页/共34页_except_handler()(Doesnt handle it)_except_handler()(Doesnt handle it)_except_handler()(Does handle it)12345678910Exception Generated第16页/共34页 系统服务是操作系统提供的一组函数,系统服务由执行体实现。 为方便用户编程,Windows以DLL的形式提供了API,用户可以通过调用API函数来使用系统服务。 利用API间接调用系统服务的优点: 方便 增加应用程序的可移植性第17页/共34页 API调用与
10、系统服务不存在一一对应的关系第18页/共34页第19页/共34页内核使用执行int 2E指令时设置的系统服务号在系统服务调度表中查找对应的系统服务。系统服务调度表是一个核心数据结构,其中包含了指向各个系统服务的指针。第20页/共34页系统服务调度程序将依次作下面几件事:校验参数调用者的参数从线程的用户堆栈复制到它的核心堆栈中执行系统服务 第21页/共34页第22页/共34页现有对象第23页/共34页第24页/共34页对象的结构 对象头 由对象管理器控制对象名:使对象可以被其它进程所引用安全描述符:包含访问许可打开句柄信息:包含哪些进程使用该对象的信息引用计数:包含未完成的引用该对象的句柄数 对
11、象体由各执行体组件控制第25页/共34页执行体对象执行体对象内核对象内核对象执行体执行体内核内核应用程序应用程序句柄句柄用户态用户态核心态核心态第26页/共34页对于某些表示共享对于某些表示共享资源的对象,如果资源的对象,如果一个对象已经创建,一个对象已经创建,当第二个进程试图当第二个进程试图再次创建对象时,再次创建对象时,执行体只是创建一执行体只是创建一个新的句柄个新的句柄第27页/共34页CSRSS.EXE第28页/共34页据。第29页/共34页LPC导出一个称为端口对象导出一个称为端口对象(port object)的执的执行体对象,用它来维护通信所需要的状态。行体对象,用它来维护通信所需要的状态。端口对象拥有四种类型的端口:端口对象拥有四种类型的端口:服务器连接端口服务器连接端口是一个已命名的服务器连接请求是一个已命名的服务器连接请求指向端口,客户可通过与这个端口连接从而连接指向端口,客户可通过与这个端口连接从而连接到服务器上。到服务器上。服务器通信端口服务器通信端口是服务器用来与特殊客户进行通是服务器用来与特殊客户进行通信的一个未命名的端口,服务器与每一个活动客信的一个未命名的端口,服务器与每一个活动客户都有一个这样的端口。户都有一个这样的端口。客户通信端口客户通信端口是特殊客户线程用来与特殊服务器是特殊客户线程用来与特殊服务器通信的未命名的端口。通信的未
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血站护理面试题及答案
- 江苏护理三基试题及答案
- 2025年伊利文化素养题库及答案
- 对顶角课件教学课件
- vb考证考试试题及答案
- pr考试填空题目及答案
- 工程施工担保方案(3篇)
- 安全培训的题材课件
- 人教鄂教版2024-2025学年五年级上册科学全册教案
- 2025年地下害虫题库及答案
- 马克思主义政治学经典著作选读课件
- Q∕SY 19002-2017 风险事件分类分级规范
- Java-Web程序设计任务教程全书电子教案完整版课件最全ppt整本书教学教程最新讲义
- PLC技术应用ppt课件(完整版)
- 二手车买卖免责协议书范本5篇
- 现代电力电子(研究生)课件
- 注册安全工程《安全生产法律法规》知识讲解(PPT)
- 无损检测(NDT)专业英语课件
- 部编版八年级上册语文《唐诗五首》导学案共3课时(定稿)
- 2019版外研社高中英语选择性必修四单词默写表
- 《活法》稻盛和夫著读书分享精品PPT课件
评论
0/150
提交评论