深入解析windows系统v4笔记_第1页
深入解析windows系统v4笔记_第2页
深入解析windows系统v4笔记_第3页
深入解析windows系统v4笔记_第4页
深入解析windows系统v4笔记_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、系统结构操作系统模型微内核:操作系统的主要 组件(内存管理器、进程管理器、I/O管理器)运行在各自独立的进程中,他们有自己的私有地址,在这之上是一组原语服务。总体结构Page:70Ø 可移植性内核处理不同硬件体系结构;HAL处理同体系下的不同硬件系统差异;Ø 对称多处理对称多处理操作系统 page:73超线程处理器和NUMAPage:74PS:针对单处理器和多处理器的系统,其文件差异最多有以上6个;对于xp及以后系统最多只有3个。Ø 操作系统的可伸缩性Page:78客户机版本和服务器版本的引导差异:关键的系统组件环境子系统和子系统DLL用户应用程序(包括windo

2、ws,POSIX,OS/2应用程序)只能调用自己环境子统导出的服务;并且不直接调用windows的系统服务,相反,他们通过一个或多个子系统DLL来进行。² Windows子系统Page:87windows子系统的内核模式设备驱动文件是Win32k.sys,其进程名为Csrss.exe(之前作为windows NT系统原始设计中,全局唯一环境子系统进程的一个线程,当POSIX和OS/2子线程独立成进程后,此名字未改变)ü 环境子系统进程Csrss.exeü 内核模式设备驱动程序 Win32k.sysü 子系统DLLü 图形设备驱动程序将窗口管理器

3、和图形服务从windows子系统的用户模式移到内核模式对系统的影响分析 On Page:89² POSIX子系统² OS/2子系统² Ntdll.dll² 执行体(Ntoskrnl.exe的上层部分)ü 包含的函数Page:96ü 包含的组件² 内核(Ntoskrnl.exe的下层层部分)ü 内核对象组织ü 硬件支持(不同处理器硬件体系结构Page:98)硬件抽象层HAL设备驱动程序exp其实就是对硬件的“标准抽象”² 设备驱动程序类型² Windows驱动程序模型从WDM的角度分3种

4、ü 总线型驱动程序(bus driver)ü 功能型驱动程序(function driver)ü 过滤型驱动程序(filter drvier)<进一步分上层过滤型和下层过滤型>系统进程² 空闲进程² System进程和系统线程² 会话管理器(Smss.exe)² WinLogon、LSASS和Userinit² 服务控制管理器(Services.exe)系统机制陷阱分发陷阱机制:在中断或异常发生时,处理器将捕捉到的线程控制权转移到操作系统的某一个固定地址处的机制即将某个情况交给某个函数处理的机制。在wi

5、ndows子系统不确定是windows子系统还是windows系统都这么做?下 陷阱处理器就是一组与中断(异步事件)或异常(同步条件)相关的异常处理函数。在中断或异常发生时,处理器(CPU)将控制权转给一个陷阱处理器。内核对待中断和异常的区别Page:117陷阱帧:windows在被中断的线程的内核栈上创建的用于保存当前线程执行状态的一段存储区域,用于恢复中断后的流程用于硬件中断或异常线程帧定义dt nt!_ktrap_frame。软中断的处理:即DPC或APC前端陷阱处理函数Page:118中断分发² 硬件中断处理ü 硬件中断请求IRQ(对应硬件中断号)ü 中断

6、分发表IDTWindows支持的硬件体系最多支持256项IDT,但具体取决于中断控制器!idt(存储异常或中断处理例程<函数>的索引号)外部I/O产生中断IRQ到中断控制器(硬件芯片),中断控制器中断处理器(CPU),处理器询问中断控制器中断处理例程地址,中断控制器将IRQ号翻译成IDT索引,然后将索引对应的地址指针传给处理器,处理器调用指针处的函数对中断进行处理。Windows将硬件IRQ映射到IDT的中断号(实际是异常处理函数索引)上,IDT是在系统启动时就填充好的(初始化时通过相应的DLL load)。同时即插即用管理器调用HAL的函数将硬件IRQ映射到对应的IRQL软中断如

7、何映射IRQL?每一个处理器都有一个独立的IDT,也就意味着,不同的处理器对相同的IRQ可能有不同的处理。ü 中断控制器(PIC/APIC/SAPIC)!pic/!apicX86中断控制器1、 PIC 单处理器 15条中断线2、 APIC/SAPIC 多处理器 256条中断线其他硬件结构的中断控制器Page:122ü 软件中断请求级别IRQL是针对于处理器的可中断级别,由中断分发器(即中断处理器)提升或降级(但最终的设置操作是由HAL执行),每个处理器的IRQL随着系统的运行而不同。x86:0-31x61/IA64:0-15HAL在系统初始化时将硬件中断IRQ映射成软件中断

8、号IRQL(P:127)!irql 延迟IRQL处理器控制区PCR/块PRCBP:126!pcrü 中断对象是一个内核控制对象,包含了ISR地址、中断IRQL级别、与ISR关联的IDT项;每个CPU一个中断对象结构(包含这个CPU所有的中断信息块 所以一个CPU一个IDT)。一个典型的中断对象结构一个典型的中断流程如下:PS:例子中中断对象的分发代码里先建立陷阱帧,然后调用KiInterruptDispatchAaWindows系统为何不适合作为实时处理系统?中断共享:中断对象可以让一个IRQL(IRQ)为多个硬件设备注册ISR,当中断调用时进行ISR遍历,寻找中断应答函数。

9、8; 软件中断处理ü 分发或者延迟过程调用DPC中断主要是为设备驱动程序提供的(P:136 非紧急I/O处理),但内核也经常使用DPC处理一些线程分发、延迟系统操作(调用)及时限到期事件DPC对象内核控制对象,主要保存了处理DPC事件的系统函数地址/队列和处理器相关(一一对应),处于DPC IRQL级别ü 异步过程调用APC中断特定用户线程环境执行用户程序和系统代码,是另一种更低级别的函数调用过程(主要和线程相关)APC对象内核控制对象/队列和特定的用户线程相关APC类型:内核模式(再分:普通的、特殊的)、用户模式P:140 执行体和设备I/O异常分发² 结构化异

10、常处理基于帧的异常处理器由环境子系统建立,和具体的过程调用有关,当一个过程被调用的时候,关于这个过程的栈帧被压入栈中(具体和进程相关),主要是处理子系统用户环境相关的程序异常(包括内核模式和用户模式)调试器端口两次机会通知和异常端口和环境子系统相关² 未处理的异常² Windows错误报告系统服务分发² 32/64位系统服务分发寄存器EAX 传递系统服务调用号,其他根据处理器架构不同,参数传递方式和call方式有所不同;当CPU执行call指令时,线程进入内核模式,执行系统服务分发器(KiSystemService),依据系统服务分发表,执行相关调用号的服务。&#

11、178; 内核模式的系统服务分发² 服务描述符表典型的系统服务分发过程对象管理器执行体对象对象结构Windows子系统由执行体对象导出的或大或小的对象集合(相当于对执行体对象的再次封装)² 对象头和对象体P:161执行体对象和对象服务是环境子系统用于构建其自己版本的对象和其他资源的基础。² 类型对象通过设置APC软件中断(添加APC中断队列 此队列只和某具体线程相关)来达到线程同步?² 对象方法当执行体组件创建了一个新的对象类型时,它可以向对象管理器注册一个或多方法。对象管理器可在这种类型的对象周期中某些特殊的点执行这些方法(eg:创建、删除、状态改变等

12、) - 类似事件触发操作² 对象句柄一个句柄对应一个对象,windows子系统通过句柄统一管理所有执行体导出对象,句柄就是一个索引(和用户模式进程相关,因为用户模式下只有进程或线程才会进行对象操作)内核模式下,执行体组件和设备驱动程序可以直接访问对象,但必须使用引用计数做标示和进程句柄表每个进程最多不超过 16 000 000个句柄进程用户模式内存地址中有一段用来记录句柄索引(指向换页的内存池中的句柄表)P169 需要再细看下?执行体进程块中也有一个域(即句柄索引)指向进程的句柄表句柄索引为4个字节,第一个是4,第二个是8,依次类推句柄表中的句柄项² 对象安全性²

13、 对象保持力(Object Retention)对象有永久的和暂时的两种对象保持力分两个阶段:名称保持力和对象实体保持力对象有两个计数器:1、 句柄计数器2、 引用计数(句柄计数+系统进程引用计数)² 资源记账P175² 对象名称² 会话名字空间P178同步高IRQL的同步² 互锁操作² 自旋锁²低IRQL的同步进程和线程及纤程虚拟内存A地址窗口扩展 AWE机制Page 47内核模式和用户模式(处理器访问模式)Ring0 ring3终端服务及多个回话提供单系统多用户的交互会话功能。对象和句柄对象和普通数据结构的区别(不可直接读取,需要

温馨提示

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

评论

0/150

提交评论