Windows 16位内存管理
少见的深度剖析 16 位 Windows 内存管理内部机制的技术文章,来自 os2museum 博客,作者拥有一手经验和调研功底。文章从 8086 实模式的历史约束讲起,详细解释了 NE 可执行格式如何支持段式内存管理、GlobalAlloc/Lock/Unlock 句柄系统的设计动机、可移动/可丢弃段标志的实际含义、以及 Windows 为何需要特殊的函…
OS/2 Museum,致力于 IBM OS/2 操作系统的历史、保存与技术探索的博客。
少见的深度剖析 16 位 Windows 内存管理内部机制的技术文章,来自 os2museum 博客,作者拥有一手经验和调研功底。文章从 8086 实模式的历史约束讲起,详细解释了 NE 可执行格式如何支持段式内存管理、GlobalAlloc/Lock/Unlock 句柄系统的设计动机、可移动/可丢弃段标志的实际含义、以及 Windows 为何需要特殊的函…
作者亲身经历VGA模拟调试,指出VGA/EGA最大的坑不在硬件本身,而在文档质量。IBM官方手册只告诉读者“该设成什么值”,却不解释每个bit到底控制什么。Compaq的EGA技术文档则清晰说明:SR4[2]管CPU写入、GR5[4]管CPU读取、GR6[1]管地址映射——三个bit各司其职,只是通常被一起设置。Matrox的规格书进一步揭示了GR6[1]…
一篇非常硬核且充满个人色彩的网络故障排查实录:作者试图让Windows 11连接一台老旧Tyan服务器管理卡(SMDC)的IPMI,发现所有Windows机器都无法通信,而同硬件切换到Linux下却一切正常。通过Wireshark确认远端有UDP回复包后,PktMon揭示了真相——Windows TCP/IP栈因"校验和无效"丢弃了这些包。最终定位到Int…
作者在测试一颗2001年AMD Athlon 1200(Thunderbird核心)CPU时,发现扩展CPUID叶80000001h的EDX寄存器中有一个完全未记录的bit 18被置为1。所有官方AMD文档均标记该位为"保留",但实际CPU返回值C1C7_FBFF与文档所列C1C3_FBFF不同。经过对多版AMD手册的逐版比对、社区成员提供的数据挖掘,以及…
一篇罕见的底层技术考古,详细拆解Intel 8087浮点协处理器在8086/8088系统上的软件仿真机制。作者用MASM 1.25和3.0亲手编译测试代码并反汇编分析,完整还原了Intel E8087仿真库(1980年)与Microsoft DOS工具链(1983-1984年)的实现细节与关键差异。核心机制巧妙:汇编器正常生成8087指令但附加特殊fix-…
作者在修复386SX无FPU系统的浮点运算bug时,发现Intel官方文档对FPU检测机制的描述存在严重缺失,于是亲自实验揭开真相。本文不是泛泛的技术回顾,而是一手调查记录:作者在自己的80386DX-33(无387协处理器)上实测发现,即使没有FPU,386的FNSTSW指令仍会向内存写入FFFFh,386远比文档承认的更"理解"387指令。文章从808…
不同C编译器对位域(bit-field)的整数提升规则存在根本分歧,同一段看似正确的代码可能在MSVC下输出一种结果,在GCC/Clang下输出截然不同的结果。作者从亲手踩坑的真实bug出发,给出可复现的最小测试用例,并追溯C99/C11标准中关于位域类型的模糊乃至矛盾表述。更难得的是,作者系统测试了从16位到64位、从1980年代到今天、涵盖Micros…
C语言位域在不同编译器间存在严重行为差异:MSVC将unsigned位域始终视为无符号类型做零扩展,而GCC/Clang将宽度小于int的unsigned位域提升为signed int后做符号扩展,导致同一段代码输出截然不同的结果。作者在一次debug中触发了这个隐藏多年的bug,并为此测试了从MS C 5.0、VisualAge C++、Borland…
一台1926年产的美国Remington打字机上,赫然印着1960年代捷克斯洛伐克Consul品牌的商标。作者从祖父遗留的这台打字机出发,通过序列号查证、历史报纸档案检索、键盘布局对比和维修手册分析,展开了一场跨越百年的侦探式考证:梳理了捷克键盘布局从奥匈帝国德捷双语版到现代标准的演变,还原了Zbrojovka Brno兵工厂从1932年代理生产Remin…
这篇关于 DOS 内存管理的深度技术文章来自 OS/2 博物馆博客,作者以一手源码分析还原了 DOS 1.x 到 5.0 的内存管理演进。核心看点:DOS 2.0 内存管理源码实际编写于 1982 年而非官方注释声称的 1983 年 3 月;详细拆解了 MCB(内存控制块)结构、ALLOC/DEALLOC/SETBLOCK 三个核心函数实现细节和边界行为;…
一篇个人逆向工程 1990 年代 DXP 和 SXD 两种自解压软盘镜像格式的技术探案记录。作者从发现 DXP 压缩算法基于 LHA(lzhuf.c)开始,通过反汇编自解压存根、识别 lh1/lh5 压缩方法变种、破解不同版本 CRC 算法差异,最终完整解码了 Disk Express 和 CopyQM Plus 创建的镜像格式,并顺带分析了 IBM 专用…