- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH 07 Windows结构分析 ---操作系统.ppt
第七章 Windows结构分析 7.1 Windows系统结构 7.2 Windows系统机制 7.3 Windows安全机制 7.4 Windows文件系统 7.5 80386保护模式工作原理 7.6 Windows驱动程序基础 7.1 Windows系统结构 用户模式进程 内核模式组件 Windows的系统结构 分层 + 客户/服务器(微内核)结构 Posix标准 Posix标准表示可移植操作系统接口(Portable Operating System Interface) ,最早由IEEE为了提高Unix环境下应用程序的可移植性而开发。 Posix并不局限于Unix。许多其它的操作系统,例如DEC OpenVMS和Microsoft Windows NT,都支持Posix.1标准。 Posix.1提供了源代码级别的C语言应用编程接口(API)给操作系统的服务程序,例如读写文件。 系统模式 用户模式进程 系统支持进程:winlogon/smss 服务进程:spoolsv 用户进程 环境子系统:win32/OS2/Posix 子系统动态链接库:用户进程无法直接使用系统服务,它们必须通过子系统DLL与系统交互。win32子系统中主要有Kernel32.dll/User32.dll/GDI32.dll 内核模式组件 执行体/内核:Ntoskrnl.exe 设备驱动 硬件抽象层:Hal.dll 图形引擎 复习:Windows的系统结构 分层 + 客户/服务器(微内核)结构 可移植性(Portability) Windows的设计目标之一就是能够在各种硬件体系统结构上运行。 最早的NT支持x86(CISC)和MIPS(RISC)架构,后来支持DEC公司的Alpha AXP(该CPU是64位的,而当时的NT还在32位上跑,尽管MS开发了一个64位的Win2K内部版本,但从未发行)。 Motor PowerPC成为NT家庭支持的第四种处理器架构,但很快被Win2K所抛弃。 目前发行的WinXP/2003支持x86、IA64、AMD x86-64和EM64T四种体系结构。 Windows实现跨硬件平台的两大关键 Windows采用了层次式的结构设计。依赖于处理机体系结构的底层服务部分被隔离在单独的模块之中。两个重要组件提供了这种可移植性: 内核(Ntoskrnl.exe):实现了不同体系结构下的函数调用(如线程切换、中断调度等) 硬件抽象层(Hal.dll):实现了同一体系结构但不同硬件平台下的函数调用(如不同的主板) Windows大部分代码是用C语言编写,辅以少量的C++技术。汇编代码被用在直接与硬件交互的部分,如中断控制等。 扩展性(Scalability) 扩展性是指系统应该能够在有多个处理器的计算机上正确运行。它有如下特点: 操作系统的代码可以在任何一个CPU上运行 一个进程内的多个并发线程可以同时在不同CPU上运行 要提供更加细致的同步机制 多处理机系统 对称多处理机(SMP):操作系统和用户线程能被安排在任一处理机上运行 非对称多处理机(ASMP):只能在某个特定处理机上执行操作系统代码,而其它处理机只能运行用户代码 SMP vs. ASMP 执行体(Executive) 处于Ntoskrnl.exe的上层,它包括5种类型的函数 由Ntdll.dll导出在用户态下调用的函数(文件档化) 非文档化的用户态函数 文档化的核心态调用函数 非文档化的核心态调用函数 组件内部函数 执行体一般完成内存管理、进程/线程管理、安全、IO管理、网络管理和进程间通信等工作。 Windows体系结构图 实验及后续课程时间表 7.2 Windows系统机制 陷阱调度 陷阱调度 陷阱(Trap)是指一种处理器机制,当一个中断或异常发生时它能捕获正在执行的线程并将控制权交给OS中的固定地址。 中断调度 硬中断一般来自IO设备,由中断驱动的IO设备可以很好地与CPU并行工作,线程启动IO传输后可以做其它的事情,而IO设备完成工作后通过中断通知CPU。 系统软件也可产生中断,称为软中断,如内核产生软中断用以初始化线程调度或是中止某线程执行。此外,内核可控制中断的开与关,不过一般只用于临界时刻。 系统通过Interrupt Trap Handlers响应中断,它将控制权交给Interrupt Service Routine(ISR,设备驱动提供) ,或是内核例程来处理中断。 硬件中断处理 外部硬件中断到来时会被送到中断控制器,一旦CPU被中断,则它会向中断控制器询问其 interrupt re-quest (IRQ) 。 中断控制器将IRQs转为中断号,并根据中断号查询interrupt dispatch table (IDT),从而获得处理程序的入口地
文档评论(0)