加密与解密(第四版)第1章 基础知识

字符存储

Unicode:使用2字节对文本进行编码,也称为宽字节
小端序:高位字节放入低地址,低位字节放入高地址(x86架构CPU采用)
大端序:低位字节放入低地址,高位字节放入高地址(网络协议传输采用)
win16:用于16位的windows的API(Windows 1.0 ~ Windows 3.0)
win32:用于32位的windows的API(Windows 9x/NT/2000/xp/7/10)
windows内部全部使用Unicode字符集,当调用ANSI版本的API时,传入的ANSI字符集会被内部转换为Unicode字符集,再调用Unicode版本的API

WOW64

C:\Windows\System32\文件夹存储64位原生的系统映像文件
C:\Windows\SysWOW64\文件夹存储了为了兼容32位操作系统的32位系统映像文件

64位应用程序会加载System32目录下64位的Kernel32.dll、user32.dll、ntdll.dll
32位应用程序加载时,由WOW64建立32位ntdll.dll所要求的启动环境:

  1. 将CPU模式切换到32位
  2. 执行32位的应用程序加载器
    WOW64会将32位程序对ntdll.dll(32位)的调用重定向到ntdll.dll(64位),而不是发出原生的32位系统调用
    WOW64不支持加载32位内核模式的设备驱动程序,只支持加载32位的DLL,64位的DLL由64位系统原生支持

Widows消息机制

Windows由两种消息队列:系统消息队列、应用程序消息队列
事件发生 -> 消息放入系统消息队列 -> 经过分拣 -> 复制到应用程序消息队列 -> 应用程序消息循环检索消息 -> 处理消息

虚拟内存

虚拟地址空间与实际的物理内存无任何联系
32位操作系统中,每个32位进程拥有4GB的虚拟地址空间,互不干扰
64位操作系统中,每个64位进程拥有16TB的虚拟地址空间,互不干扰
每个应用程序虽然共拥有4GB的虚拟地址空间,但每个应用程序本身只能使用2GB的虚拟地址,剩下的2GB留给操作系统使用

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页