第三篇Windows操作系统研究.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三篇Windows操作系统研究

第三篇 Windows 操作系统研究 第14章 Windows 操作系统模型 Windows 不仅可在单机上运行,也支持多机网络和对称多处理。界面友好、功能强、可扩充性、可靠性和兼容性好。 Windows 系统文件 Ntoskrnl.exe:执行体和内核 Hal.dll:硬件抽象层 Ntdll.dll:对于内核提供的每一个系统服务,该DLL都提供一个以Nt作为前缀的存根函数。另外,还提供系统级支持函数。 Win32k.sys:Windows子系统的内核部分 Kernel32.dll,Advapi32.dll,User32.dll,Gdi32.dll:Windows子系统DLL NTFS.sys:ntfs驱动程序 设备驱动程序:可动态加载的模块(.sys) 系统进程 idle进程:每个CPU一个线程。 system进程:包含大多数内核系统线程 smss.exe:会话管理器。创建环境变量和启动csrss.exe和winlogon.exe。建立会话Session0 csrss.exe:Windows子系统进程 winlogon.exe:用户登录进程 services.exe:系统服务管理器。系统服务是一些特殊的进程。系统有很多功能组件是以服务的方式实现的,如事件日志、任务调度器和各种网络组件等。 svchost.exe:系统提供的通用服务宿主进程 lsass.exe:本地安全认证子系统进程 Explorer.exe:shell进程 环境子系统 有三个环境子系统:Windows、POSIX、OS/2。即实现在同一个内核的基础上配以不同的外围软件,形成不同的应用软件运行环境。 Windows子系统是主子系统,为用户提供一个图形用户界面。 win32k.sys原先是和Csrss.exe合在一起的,作为服务进程满足应用进程发出的图形操作请求。后因频繁的进程间通信和调度成了瓶颈,就把win32k.sys移到内核里。 Windows子系统 win32k.sys: ①窗口管理部分负责收集和分发消息、控制窗口显示、管理屏幕输出。 ②图形设备接口GDI包含各种图形的绘制及文本输出。 csrss.exe:①主要负责控制台窗口的功能。②进程/线程在创建/退出时都要通知csrss.exe,以实现进程和线程的管理。例如,弹出一个对话框,说某个进程没有响应,让用户选择是否结束进程等。 窗口、消息 对于每一个线程,一旦调用了win32k.sys里的系统服务,就变成一个GUI线程,被纳入到Windows子系统的线程和进程管理范畴。 csrss.exe会创建一个RIT(raw input thread)线程负责从设备驱动程序获得原始的输入,然后将消息寄送到系统消息队列。 GUI线程通过NtUserGetMessage获取消息并交给消息的目标窗口的窗口过程来处理。 Windows 内核结构 ntoskrnl.exe:执行体、内核 内核层实现操作系统的基本机制,而所有的策略决定则留给执行体。惟一例外的策略决定是线程调度和分发。 执行体中的对象绝大多数封装了一个或者多个内核对象,并且通过某种方式(如对象句柄)暴露给应用程序。 NT执行体 内部组件:进程和线程管理器、内存管理器、I/O管理器、缓存管理器、对象管理器、配置管理器、即插即用管理器、电源管理器、安全监视器、本地过程调用、一组运行时库函数、支持例程 每个组件都是一些过程的集合,组件之间没有固定的界限。 同层的各个组件之间可以互相调用。 内核 内核对象包括:控制对象、调度程序对象(dispatcher object)。 控制对象被用于控制内核的操作,但是不影响线程的调度。包括:APC、DPC、中断对象等。 调度程序对象:事件、互斥体、信号量、进程、线程、队列、门、定时器。实现同步,对象的状态会影响线程的调度。 硬件抽象层(HAL) 直接操纵硬件。 HAL.dll 是一个可加载的核心态模块。 HAL隐藏各种与硬件有关的细节。使内核、设备驱动程序和执行体免受特殊硬件平台差异的影响。 系统可移植性好。 核心态组件使用了面向对象的设计原则,但不是一个面向对象的操作系统。 代码完全可重入,并可以被抢先。 融合了分层模型和客户/服务器模型。客户进程和服务器进程通过执行体中提供的消息传递工具进行通信。 陷阱调度。属于内核的功能。包括中断、DPC 、APC 、异常调度、系统服务调度。 执行体对象管理器。 同步。自旋锁、内核调度程序对象。 本地过程调用LPC。服务器进程创建一个LPC连接端口对象,然后在该端口上监听客户连接请求。类似sochet编程。消息传递。 陷阱处理程序 是操作系统处理意外事件的硬件机制。 当硬件或软件检测到异常或中断发生时,将暂停正在处理的事情,

文档评论(0)

tangzhaoxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档