作 者:(美)马克·拉希诺维奇(Mark Russinovich),(美)大卫·A.所罗门(David A.Solomon),(美)艾力克斯·伊纳苏(Alex Ionescu) 著;范德成,潘爱民 译 定 价:128 出 版 社:电子工业出版社 出版日期:2018年03月01日 页 数:572 装 帧:平装 ISBN:9787121336430 ●第8章I/O系统1
●8.1I/O系统组件1
●I/O管理器3
●典型的I/O处理过程4
●8.2设备驱动程序5
●设备驱动程序的类型5
●WDM驱动程序6
●分层的驱动程序7
●实验:查看已加载的驱动程序列表9
●驱动程序的结构11
●驱动程序对象和设备对象13
●实验:看一看设备对象15
●实验:显示驱动程序和设备对象17
●打开设备18
●实验:查看设备句柄21
●实验:查看Windows设备名称之间的映射23
●8.3I/O处理24
●I/O类型24
●同步I/O和异步I/O24
●快速I/O25
●部分目录
内容简介
本书是Windows技术参考书的近期新版本,本书主要介绍了基于Windows 7 and Windows Server 2008 R2的核心技术与底层技术,全面阐释Windows技术机理,是广大Windows开发人员推荐的参考书。 (美)马克·拉希诺维奇(Mark Russinovich),(美)大卫·A.所罗门(David A.Solomon),(美)艾力克斯·伊纳苏(Alex Ionescu) 著;范德成,潘爱民 译 马克·拉希诺维奇,是微软windows Azure组技术人员,是Sysinternals工具的作者之一,合著了《深入解析Windows操作系统》系列图书;David A.Solomon(大卫·A.所罗门)是《深入解析Windows操作系统》系列图书的合著者,并为优选成千上万的开发人员和IT专业人士,包括微软员工,讲授Windows内幕课程。他时常在微软举办的会议中发言,包括TechNet和PDC
范德成,2004年毕业于上海交通大学,在微软和SAP公司有多年项目经验,构建了微型开源项目Robbie's Shell。
潘爱民,任职于阿里巴巴,长期从事等
《深入解析Windows操作系统(第6版)下册》图书简介 引言 在当今信息技术飞速发展的时代,操作系统作为计算机系统的核心,其重要性不言而喻。Windows操作系统作为全球最广泛使用的桌面操作系统之一,其复杂性和深邃性吸引了无数技术爱好者和专业人士的探索。本书《深入解析Windows操作系统(第6版)下册》,正是这样一本旨在带领读者拨开迷雾,深入理解Windows操作系统内部运作机制的权威著作。它并非浅尝辄止的介绍,而是从内核、进程、线程、内存管理、I/O系统等底层原理出发,以严谨的逻辑和翔实的案例,为读者构建起一套完整的Windows系统知识体系。 本书定位与目标读者 本书面向的对象是: 软件开发工程师: 尤其是对系统级编程、驱动开发、性能优化、安全防护等领域感兴趣的开发者,本书将提供理解操作系统行为的基石,帮助他们编写出更健壮、高效、安全的软件。 系统管理员和运维工程师: 深入理解操作系统的内部机制,能够帮助他们更好地排查系统故障、优化系统性能、提升系统安全性,从而更有效地管理和维护大规模计算环境。 计算机科学与技术专业的学生: 本科及以上学历,对操作系统原理有浓厚兴趣,希望在理论学习的基础上,获得对实际操作系统运作的深刻认知,为未来的学习和研究打下坚实基础。 安全研究人员: 深入了解Windows内核的运作方式,是进行漏洞挖掘、恶意软件分析、安全加固等工作的前提。 本书的目标是: 揭示Windows内核的神秘面纱: 带领读者深入Windows NT内核的架构,理解其核心组件的设计思想和实现细节。 构建全面的系统理解: 阐述进程管理、线程调度、内存管理、虚拟内存、I/O子系统、文件系统等关键模块的工作原理。 掌握底层交互机制: 详细解析系统调用、中断处理、异常处理、同步机制等底层通信与协作方式。 提供实践指导: 结合实际的系统调用、内核数据结构和调试技巧,帮助读者将理论知识转化为实际应用。 培养深入思考的能力: 鼓励读者不仅了解“是什么”,更要理解“为什么”,从而培养独立分析和解决复杂系统问题的能力。 内容概览(下册重点聚焦) 《深入解析Windows操作系统(第6版)下册》承接上册的坚实基础,将目光聚焦在Windows操作系统更为复杂和精深的领域,为读者呈现一个更为完整和宏观的系统图景。本册内容围绕核心系统服务、同步与并发、内存管理深度剖析、I/O系统运作、文件系统架构等关键主题展开,每一章节都经过精心设计,力求将复杂的技术概念以清晰易懂的方式呈现。 第一部分:核心系统服务与内核交互 本部分将深入探讨Windows操作系统提供的核心服务以及用户模式程序如何与内核进行交互。 系统调用接口: 详细解析Windows API(应用程序接口)与内核模式的Nt/Zw函数之间的关系。读者将理解用户模式应用程序如何通过系统调用请求内核服务,例如进程创建、线程管理、文件操作等。我们将剖析系统调用的具体实现流程,包括SSDT(System Service Dispatch Table)的作用,以及如何绕过用户模式的API直接调用内核函数(尽管这是一种不推荐但值得理解的底层机制)。 对象管理器: Windows内核使用对象来表示系统中的各种资源,如进程、线程、文件、设备等。本章将深入研究对象管理器的作用,包括对象的命名、引用计数、安全描述符等。理解对象管理器是理解Windows如何管理和保护系统资源的基石。 进程和线程管理深度解析: 在上册的基础上,本册将更深入地探讨进程和线程的生命周期、上下文切换、调度策略的细节。我们将分析不同的调度优先级、公平性调度算法,以及多处理器环境下的线程调度机制。读者将了解线程如何共享进程资源,以及进程与线程之间的通信方式。 同步与并发控制: 多线程和多进程环境下的同步问题是操作系统设计的核心挑战之一。本章将详尽介绍Windows提供的各种同步机制,包括临界区(Critical Section)、互斥量(Mutex)、事件(Event)、信号量(Semaphore)、读写锁(Reader-Writer Locks)等。我们将分析它们的工作原理、适用场景以及性能考量,并探讨如何避免死锁和竞态条件。 第二部分:内存管理与虚拟内存 内存管理是操作系统最重要的职能之一,本部分将对Windows的内存管理机制进行全方位的深入剖析。 虚拟内存模型: 读者将深刻理解Windows如何实现虚拟内存,包括地址空间的概念、页表(Page Table)的作用、页错误(Page Fault)的处理机制。我们将剖析虚拟内存如何将物理内存扩展为更大的逻辑地址空间,以及如何通过分页和分段技术来实现内存的隔离和保护。 内存分配器: Windows内核和用户模式下都有复杂的内存分配器。本章将深入研究内核内存分配器(如Non-Paged Pool, Paged Pool)的设计思想,以及用户模式下的堆管理器(Heap Manager)。我们将讨论不同的分配算法、内存碎片问题以及性能优化策略。 内存映射文件(Memory-Mapped Files): 学习如何利用内存映射文件进行高效的文件I/O操作,以及它在进程间通信中的应用。 内存保护机制: 详细解析Windows是如何通过硬件和软件机制来保护不同进程和内核的内存不被非法访问,包括页权限(Read, Write, Execute)、写时复制(Copy-On-Write)等技术。 第三部分:I/O系统与设备管理 I/O系统是操作系统与外部硬件设备交互的桥梁。本部分将揭示Windows I/O子系统的复杂运作。 I/O管理器(I/O Manager): 介绍I/O管理器在协调用户模式请求、驱动程序和硬件设备之间的作用。我们将剖析I/O请求包(IRP, I/O Request Packet)的结构和生命周期,以及I/O管理器如何处理IRP的发送、传递和完成。 设备驱动模型: 深入理解Windows驱动模型(WDM, WDF),包括驱动程序的层次结构、设备栈(Device Stack)的概念。我们将分析即插即用(Plug and Play)和电源管理(Power Management)是如何与驱动程序交互的。 文件系统架构: 探讨Windows主流文件系统(如NTFS)的内部结构和工作原理,包括文件和目录的表示、文件分配表、元数据管理、缓存机制(File System Cache)等。 缓存管理器(Cache Manager): 详细介绍缓存管理器如何提高文件I/O的性能,以及它与文件系统和内存管理器的协同工作。 第四部分:高级主题与实践 本部分将触及一些更为高级和实用的主题,帮助读者将理论知识应用于实际问题。 进程间通信(IPC)机制: 除了上册提及的共享内存等,本册将更深入地探讨命名管道(Named Pipes)、套接字(Sockets)、COM(Component Object Model)等高级IPC机制,并分析它们的适用场景和性能特点。 系统调优与性能分析: 提供一些实用的技巧,用于分析系统性能瓶颈,例如如何使用性能监视器(Performance Monitor)、资源监视器(Resource Monitor)等工具,以及理解CPU使用率、内存占用、磁盘I/O等关键指标的含义。 Windows安全模型: 简要介绍Windows的安全模型,包括安全标识符(SID)、访问控制列表(ACL)、访问令牌(Access Token)等概念,以及它们如何保障系统和数据的安全。 调试技术与内核调试: 介绍使用Windbg等强大的调试工具进行内核模式调试的技巧,帮助读者分析系统崩溃、驱动程序问题等复杂场景。 本书特色 深度与广度兼顾: 既有对核心概念的深刻剖析,又覆盖了Windows操作系统的重要组成部分,力求全面。 理论与实践相结合: 引入大量实际的系统调用、内核数据结构、调试场景,帮助读者理解理论知识在实际中的应用。 条理清晰,循序渐进: 章节之间逻辑严谨,内容组织由浅入深,便于读者逐步建立起对操作系统的认知。 图文并茂,通俗易懂: 丰富的图表和示意图,将抽象的技术概念可视化,降低了阅读难度。 权威性与时效性: 基于最新的Windows内部机制,结合了作者在操作系统研究领域的丰富经验,具有较高的参考价值。 结语 《深入解析Windows操作系统(第6版)下册》不仅仅是一本书,更是一次深入探索Windows核心奥秘的旅程。通过阅读本书,您将能够跳出应用程序的表面,触及操作系统的精髓,掌握理解和驾驭复杂系统工作的关键技能。无论您是渴望精进技术的开发者,还是力求提升管理效率的系统专家,亦或是对计算机底层原理充满好奇的学生,本书都将是您不可或缺的宝贵资源。翻开它,开始您的深度探索之旅,解锁Windows操作系统更深层次的力量。
最近在技术论坛上看到了不少关于 《深入解析 Windows 操作系统(第 6 版)下册》 的讨论,大家的反响都非常热烈。虽然我还没来得及购买,但我已经能想象到这本书的价值所在。作为一名在 Windows 平台上工作的安全研究员,我对操作系统的安全机制有着天然的敏感。我非常期待书中能详细阐述 Windows 的安全模型,比如权限管理、访问控制列表 (ACL) 的工作原理,以及用户模式和内核模式之间的安全边界是如何划分和维护的。我也想了解 Windows 在抵御各种安全攻击方面的技术手段,例如沙箱机制、内存保护技术等。掌握这些底层安全原理,对于我理解和分析恶意软件的行为,以及开发更安全的应用程序至关重要。这本书的出版,无疑为我们这些关注 Windows 安全的专业人士提供了宝贵的参考资料。我迫不及待地想深入其中,挖掘出那些关于 Windows 安全的“秘密”。