深入windows系统v4笔记资料.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统结构 操作系统模型 微内核:操作系统的主要 组件(内存管理器、进程管理器、I/O管理器)运行在各自独立的进程中,他们有自己的私有地址,在这之上是一组原语服务。 总体结构 Page:70 可移植性 内核处理不同硬件体系结构;HAL处理同体系下的不同硬件系统差异; 对称多处理 对称多处理操作系统 page:73 超线程处理器和NUMAPage:74 PS:针对单处理器和多处理器的系统,其文件差异最多有以上6个;对于xp及以后系统最多只有3个。 操作系统的可伸缩性Page:78 客户机版本和服务器版本的引导差异: 关键的系统组件 环境子系统和子系统DLL 用户应用程序(包括windows,POSIX,OS/2应用程序)只能调用自己环境子统导出的服务;并且不直接调用windows的系统服务,相反,他们通过一个或多个子系统DLL来进行。 Windows子系统Page:87 windows子系统的内核模式设备驱动文件是Win32k.sys,其进程名为Csrss.exe(之前作为windows NT系统原始设计中,全局唯一环境子系统进程的一个线程,当POSIX和OS/2子线程独立成进程后,此名字未改变) 环境子系统进程Csrss.exe 内核模式设备驱动程序 Win32k.sys 子系统DLL 图形设备驱动程序 将窗口管理器和图形服务从windows子系统的用户模式移到内核模式对系统的影响分析 On Page:89 POSIX子系统 OS/2子系统 Ntdll.dll 执行体(Ntoskrnl.exe的上层部分) 包含的函数Page:96 包含的组件 内核(Ntoskrnl.exe的下层层部分) 内核对象组织 硬件支持(不同处理器硬件体系结构Page:98 ) 硬件抽象层HAL 设备驱动程序 exp其实就是对硬件的“标准抽象” 设备驱动程序类型 Windows驱动程序模型 从WDM的角度分3种 总线型驱动程序(bus driver) 功能型驱动程序(function driver) 过滤型驱动程序(filter drvier)进一步分上层过滤型和下层过滤型 系统进程 空闲进程 System进程和系统线程 会话管理器(Smss.exe) WinLogon、LSASS和Userinit 服务控制管理器(Services.exe) 系统机制 陷阱分发 陷阱机制:在中断或异常发生时,处理器将捕捉到的线程控制权转移到操作系统的某一个固定地址处的机制即将某个情况交给某个函数处理的机制 。 在windows子系统不确定是windows子系统还是windows系统都这么做? 下 陷阱处理器就是一组与中断(异步事件)或异常(同步条件)相关的异常处理函数。在中断或异常发生时,处理器(CPU)将控制权转给一个陷阱处理器。 内核对待中断和异常的区别Page:117 陷阱帧:windows在被中断的线程的内核栈上创建的用于保存当前线程执行状态的一段存储区域,用于恢复中断后的流程用于硬件中断或异常 线程帧定义 dt nt!_ktrap_frame 。 软中断的处理: 即DPC或APC 前端陷阱处理函数Page:118 中断分发 硬件中断处理 硬件中断请求IRQ(对应硬件中断号) 中断分发表IDTWindows支持的硬件体系最多支持256项IDT,但具体取决于中断控制器 !idt (存储异常或中断处理例程函数的索引号) 外部I/O产生中断IRQ到中断控制器(硬件芯片),中断控制器中断处理器(CPU),处理器询问中断控制器中断处理例程地址,中断控制器将IRQ号翻译成IDT索引,然后将索引对应的地址指针传给处理器,处理器调用指针处的函数对中断进行处理。 Windows将硬件IRQ映射到IDT的中断号(实际是异常处理函数索引)上,IDT是在系统启动时就填充好的(初始化时通过相应的DLL load)。 同时即插即用管理器调用HAL的函数将硬件IRQ映射到对应的IRQL软中断如何映射IRQL? 每一个处理器都有一个独立的IDT,也就意味着,不同的处理器对相同的IRQ可能有不同的处理。 中断控制器(PIC/APIC/SAPIC)!pic/!apic X86中断控制器 PIC 单处理器 15条中断线 APIC/SAPIC 多处理器 256条中断线 其他硬件结构的中断控制器Page:122 软件中断请求级别IRQL是针对于处理器的可中断级别,由中断分发器(即中断处理器)提升或降级(但最终的设置操作是由HAL执行),每个处理器的IRQL随着系统的运行而不同。 x86:0-31 x61/IA64:0-15 HAL在系统初始化时将硬件中断IRQ映射成软件中断号IRQL(P:127) !irql 延迟IRQL 处理器控制区PCR/块PRCB

文档评论(0)

妈妈王子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档