Windows操作系统-体系结构(二).ppt_第1页
Windows操作系统-体系结构(二).ppt_第2页
Windows操作系统-体系结构(二).ppt_第3页
Windows操作系统-体系结构(二).ppt_第4页
Windows操作系统-体系结构(二).ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章Windows操作系统架构(下)、陷阱调度中断调度异常调度系统服务调度对象管理器本地过程调用、Windows系统机制发生异常或中断时,硬件或软件可以检测到的中断主要由I/O设备、处理器时钟或计时器生成,可以启用或禁用的异常是同步事件,是执行特定指令的结果。 在同样的条件下可以再现异常。 例如内存访问错误、调试命令、零除法等。 系统服务呼叫也被视为异常。 软件和硬件都会发生异常和中断。陷阱调度、中断调度、中断请求级别(IRQL=Interrupt Request Level )、Windows操作系统所运行的每台计算机的中断处理机制都不同,为了移植性,Windows进行了分配IRQL在符号

2、名称中将其命名为高级别功率级别时钟级别轮廓级别设备级别名称。 软件中断主要用于调度操作的开始。 在中断调度、处理器IRQL和多处理器系统中,任何处理器都可以接收中断请求,因此Windows为每个处理器维持独立的IRQL。 中断时间表、中断对象、处理程序收到中断请求时,将处理通知相应设备的驱动程序。 为此,设备驱动程序必须通过调用IoConnectInterrupt在I/O管理器中注册ISR。 IoConnectInterrupt初始化包含有关中断及其ISR的信息的中断对象。 同时,将处理器的中断服务表(中断向量/中断描述符表)的相应条目指向该中断对象。 中断调度、硬件中断处理过程、中断调度、延

3、迟过程调用DPC,在处理器处于高IRQL时屏蔽处理器的当前IQRL以下的中断,有些设备的中断以及时响应因此,Windows引入了延迟过程调用机制,因为处理器需要尽可能缩短在高IRQL中运行的时间。 中断调度、延迟过程调用、结构化异常处理和Windows在基于系统的基础上提供被称为结构化异常处理(SEH )的系统机制。 利用SEH可以将程序的主要工作和错误处理分离开来,这种分离使程序集中在应该做的工作上,将可能发生的错误置于后处理。 中的组合图层性质变更选项。 例外是在应用程序正常运行期间发生的异常事件。 CPU引起的异常是硬件异常,OS和应用程序直接引起的异常,软件异常,异常调度,SEH是OS

4、的系统机制,与特定的编程语言无关。 要利用应用程序提供的SEH机制,必须使用特定编程语言的语法。 因此,SEH不仅与操作系统,还与编译器有着密切的关系。结构化异常处理、异常计划、_ _ try./guarded section _ _ except (exception filter )./exception handler例外过滤器, 返回以下三个例外标识符之一的ecx eption _ execute _ handlerecxeption _ continue _ executionecxeption _ continue _ search EXCEPTION_REGISTRATION_R

5、ECORD结构包含指向执行结构化异常处理的EXCEPTION_REGISTRATION_RECORD结构的指针,其中next指向下一个exception_registration 异常调度,异常调度,threadenvironmentblock (fs :0 ),EXCEPTION_REGISTRATION_RECORD,Other Fields。 其中包括_except_ handler ()、_ except _ handler ()、_ except _ handleit和_ except _。 为了便于用户编程,Windows以DLL的形式提供API,用户可以调用API函数来使用系统服

6、务。 利用API间接调用系统服务的优点:易于提高应用程序的移植性,系统服务调度、API调用与系统服务没有一对一关系,在系统服务调度、alpha处理器上执行syscall指令系统服务编号mov edx、xxxx; 残奥仪表指针int 2Eh、系统服务调度、内核使用执行int 2e指令时设置的系统服务编号,在系统服务计划表中搜索对应的系统服务。 系统服务调度表是一个核心数据结构,其中包含指向每个系统服务的指针。系统服务调度器将从其调用残奥仪表的残奥仪表从线程的用户栈复制到其核心栈以执行系统服务,并根据系统服务调度、系统服务调度、对象管理器, 对象管理器是可执行组件之一,它为可执行对象实现的内部服务

7、提供一致、安全的访问机制:创建、删除、保护可执行对象的集中保护, 实现资源以跟踪的访问控制对象管理器具有一系列对象命名方案和统一的保留规则,执行对象执行体的各种组件实现进程管理器、内存管理器、I/O子系统等内核对象管理器、对象管理器、对象的结构对象标头对象名称:允许其他进程引用对象的安全描述符:包含允许访问的打开句柄信息:包含引用对象的信息引用数的上行对于表示对象管理器、用户状态核心状态、对象管理器和共享资源的对象,如果对象已经创建,则当第二个进程尝试重新创建对象时,运行实体将创建一个新句柄并使用本地过程使用进程间通信机制LPC进行lpc=localprooc消息传输的示例:当用户程序调用特定

8、Win32 API时,将消息发送到Win32子系统服务进程(CSRSS.EXE ),并且LPC中的两条消息然后,将信息从发送过程的地址空间复制到系统地址空间,从而复制到接收过程的地址空间。如果用户和服务器交换的数据超过256字节,则还可以使用两种映射的共享空间。 发件人将信息数据放在共享区域中,并向收件人发送短信息,指明在共享区域中的哪个位置发现数据。 本地过程调用、本地过程调用和LPC用于导出称为“端口对象”(port object )的执行对象,以保持通信所需的状态。 端口对象有四种类型的端口。 服务器连接端口是客户可以连接到服务器的命名服务器连接请求端口。 服务通信端口是服务用于与特定客户进行通信的未命名端口,服务和每个活动客户都有这样的端口。 客户端通信端

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论