- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 年度赛课外拓展阅读《走近创世神话感受中外异同》教学设计1.docx
- 新版ISO13485-2016医疗器械质量管理体系全套GMP手册程序记录文件.docx
- 心理咨询师(中科院心理研究所)10套题汇总题库-下(多选题汇总).docx
- 北京市轨道交通房山线岩土工程勘察报告.doc
- 微积分(二)(浙江大学)中国大学MOOC 慕课 2021章节测验期末考试答案.docx
- 2023年电子科技大学成都学院计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
- 第一部分LDTH系列电磁流量计.PDF
- 李前程编《建筑力学》(第2版)第六章.ppt VIP
- 心理咨询师(中科院心理研究所)10套题汇总题库-上(单选题汇总).docx
- Defensics健壮性测试工具测试方案.docx
文档评论(0)