Windows

Windows 核心编程 _ 内核对象一

Windows 核心编程 _ 内核对象一

bingliaolong 4年前 5 0

内核对象 系统会创建和处理的几种内核对象 访问令牌对象(access token) 事件对象 文件对象 文件映射对象 I/O完成端口对象 作业对象 邮件槽对象(mailslot) 互斥量对象 管道对象 进程对象 信号量对象 线程对象 可等待的计时器对象 线程池工厂对象 每个内核对...

Windows机制:物理内存、虚拟内存

Windows机制:物理内存、虚拟内存

bingliaolong 8个月前 37 0

堆内存相关 定义和特点 堆内存是程序运行时动态分配的内存区域,由开发者手动申请和释放(如C中的malloc/free、C++的new/delete) 具有以下特点 生命周期长:内存存活周期由开发者控制,不随函数调用结束而释放 空间大且灵活:理论上可分配至系统可用内存上限,适合存储...

Windows 核心编程 _ 线程调度

Windows 核心编程 _ 线程调度

bingliaolong 4年前 0 0

线程调度概述 每个线程都有一个上下文,这个上下文保存在内核对象中。它反应了线程上一次执行时CPU寄存器的状态。 大概每个20ms(GetSystemTimeAdjustment函数的第二个参数的返回值),Windows都会查看所有当前存在的线程内核对象。 这些对象中,只有一些被认...

Windows线程同步相关

Windows线程同步相关

bingliaolong 8个月前 7 0

用户模式同步 Interlocked 系列函数 原理 通过 CPU 原子指令(如 LOCK XCHG)直接操作内存,无需进入内核态 场景 简单计数器(如引用计数) 无锁数据结构(如无锁队列) 特点 性能极高(无内核切换) 仅支持单个变量的原子操作,无法实现复杂同步 临界区(Cri...

线程和协程

线程和协程

bingliaolong 1年前 10 0

超线程技术 概述 现代CPU通常确实在物理核心的基础上引入逻辑核心,例如通过超线程(Hyper-Threading)技术,一个物理核心能够处理两个线程 使得操作系统和应用程序认为该CPU拥有的核心数量翻倍 不过,CPU的逻辑核心和线程的概念在软件开发中存在一些区别 逻辑核心更偏向...

关于多字节和宽字节一

关于多字节和宽字节一

bingliaolong 5年前 31 0

多字节 指用多个字节来表示一个字符的字符编码集合。一般英文字母用1Byte,汉语等用2Byte来表示。 发展 一开始 internet上只有一种字符集,ANSI的ASCII字符集,它使用7 bits表示一个字符,总共能表示128个字符,这些字符里包括了英文字母,数字,标点符号等常...

Windows 核心编程 _ 进程一

Windows 核心编程 _ 进程一

bingliaolong 4年前 8 0

定义 一般将进程定义成一个正在运行的程序的一个实例 一个内核对象,操作系统用它来管理进程。 内核对象也是系统保存进程统计信息的地方。 一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据。 此外,还包含动态内存分配,比如线程堆栈和堆的分配。 进程要做什么事情,都必须让一个...

Dump分析:重复释放堆内存,死锁

Dump分析:重复释放堆内存,死锁

bingliaolong 8个月前 13 0

示例dump分析:重复释放同一堆内存 代码 分析步骤 用windbg打开Dump 文件并加载符号 ctrl + s ctrl + p ctrl + i 自动分析崩溃原因 看到了相关异常信息如下 异常上下文解析: 可以看出,异常触发位置是:aet_breakpad_test!_fr...

Windows机制:磁盘擦除相关简记

Windows机制:磁盘擦除相关简记

bingliaolong 4个月前 14 0

概述 磁盘擦除相关 相关概念 ata 是计算机存储设备(如HDD/SSD)的接口协议标准,定义了设备与主机间的通信方式,包括数据传输、设备控制和安全命令集 Sanitize 是ATA规范中专门用于安全擦除数据的一组命令,属于ATA指令集的扩展功能(如 ATA Sanitize D...

COM组件_1

COM组件_1

bingliaolong 2年前 14 0

简介 组件对象模型(COM)是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组件 是OLE(复合文档),ActiveX(Internet组件)等的基础技术 不是一种语言,而是一种标准,用于创建运行时进行交互的可重用的软件库,无须编译到应用程序中,即可使用COM库...

扫一扫二维码分享