
Windows 核心编程 _ 用户模式:线程同步一
概述 当所有线程都能独自运行而不需要相互通信的时候,Microsoft Windows将进程最佳运行状态。 系统中的所有线程必须访问系统资源,比如堆、串口、文件、窗口以及无数其他资源。 如果一个线程独占了对某个资源的访问,那么其他线程就无法完成它们的工作。 以下两种基本情况下,线...
概述 当所有线程都能独自运行而不需要相互通信的时候,Microsoft Windows将进程最佳运行状态。 系统中的所有线程必须访问系统资源,比如堆、串口、文件、窗口以及无数其他资源。 如果一个线程独占了对某个资源的访问,那么其他线程就无法完成它们的工作。 以下两种基本情况下,线...
GNU 汇编器语法 示例 定义数据 nasm数据操作 GNU汇编器操作 使用直接操作数,要用$ 获取部分内存时,例如 64 寄存器的第一个字节 不在操作数中定义大小,而是在指令中定义 GNU汇编器操作后缀 b:1个字节操作数 w:2个字节操作数 l:4个字节操作数 q:8个字节操...
大小端 可以将内存想象为一个大数组。它包含字节。 每个地址存储内存“数组”的一个元素。每个元素都是一个字节。 例如我们有 4 个字节:AA 56 AB FF 小端字节序 低地址存低位字节 大段字节序 高地址存低位字节 汇编程序组成 data 用于声明初始化数据或常量 bss 用于...
ETW(Event Tracing for Windows) 概述 ETW是Windows提供的高性能内核级事件追踪机制,能够以极低开销(通常<5% CPU)实时捕获系统和应用程序事件 ETW架构核心组件 事件生产者 内核级 系统组件(如进程管理器、TCP/IP协议栈) 用...
概述 HOOK技术(钩子技术)是Windows操作系统中的一种核心机制,允许程序拦截并处理系统事件、消息或函数调用 通过HOOK,开发者可以监控或修改系统的行为,例如键盘输入、鼠标点击、窗口创建/销毁等 HOOK技术广泛应用于安全防护、自动化工具、调试分析等领域 原理 消息机制与...
ATL下载 ATL 作为微软官方库,源码随 Visual Studio 安装包 默认集成 正确代码结构 接口定义(使用 IDL) 实现类(使用 ATL) 对象创建宏 客户端调用示例 完整示例 项目结构 ExampleComponent.idl 在 Visual Studio 中创...
概述 在用户模式下进行线程同步的最大好处就是速度非常快。 与用户模式下的同步机制相比,内核对象的用途要广泛的多。实际上,内核对象的唯一缺点就是性能。 对线程同步来说,内核对象的每一种要么处于触发状态,要么处于未触发状态。 Microsoft为每种对象创建了一些规则,规定如何在这两...
平台相关 select 支持:windows 支持:linux,macos,bsd,aix等 poll 支持:linux,macos,bsd等 不支持:一些交旧的或特定的unix操作系统可能不支持poll 不支持:windows不提供标准的poll,但可以通过其他相似的api来达...
调试实践 关于调试实践。 内存破坏 栈内存 在Windows中,栈只是操作系统为线程分配的一块内存。 作用是记录函数调用链(局部变量的分配、参数传递)。 每当调用函数时,都会创建一个栈帧并且把它压入到栈中。 随着线程中调用的函数越来越多,栈也会变得越来越大。 函数结构 函数前导指...
进程的关联性 通常,进程中的线程可以在主机的任何CPU上执行。 然而,也可以强迫线程在可用CPU的一个子集上运行,这一点叫“处理器关联性”。 子进程继承了其父进程的关联性。 进程的错误模式 与每个进程都关联了一组标志。 这些标志的作用是让系统知道进程如何相应严重错误,包括磁盘介质...
搜索当前标签