标签:篡改 物理内存 一个 ges 虚拟地址 ima x86 直接 https
计算机的物理内存是字节的线型数组,每个字节具有一个唯一地物理地址。
地址总线32位,共2^32个不同的物理地址。即内存物理地址空间有4G,总共可以寻址4G字节的物理内存。
为了进行内存寻址,80X86使用了段寻址技术。寻址通过段地址+段内偏移地址。
段选择符:16位
段内偏移地址:32位,故一个段最大长度可达4G。
程序中由16位的段和32位的段偏移构成48位地址,称为一个逻辑地址(虚拟地址)。它唯一确定了一个数据对象的段地址和段内偏移地址。
CS、DS、ES、SS、FS、GS
CS:代码段,在任何指定时刻由CS寻址的段称为当前代码段。此时EIP寄存器中包含当前代码段内下一条要执行指令的段内偏移地址。因此要执行指令的地址可表示为CS:[EIP]。
段间控制转移指令可以被用来为CS、EIP赋新值,将执行为之改到其他代码段,实现不同段中程序的控制传递。
SS:堆栈段,栈顶由ESP寄存器指定,因此堆栈顶地址SS:[ESP]。
另外4个段寄存器是通用段寄存器,当指令中没有指定所操作数据的段时,DS作为默认的数据段寄存器。
通俗讲就是指令中寻找操作数地址的方式。
指令的偏移量由三部分相加组成:基地址寄存器、变址寄存器和一个偏移常量。即:
偏移地址 = 基地址 + (变址 * 比例因子)+偏移常量
8086指令寻址方式的介绍:https://www.cnblogs.com/lfri/p/10781186.html
防止一个任务访问另一个任务或操作系统的内存区域。地址变换可以让某些地址不被任何逻辑地址映射,所以地址变换过程也提供内存保护功能。
程序中的地址是由两部分构成的逻辑地址,不能直接用于访问物理内存。
需要将逻辑地址转为物理地址。
分段机制和分页机制是两种广泛使用的地址变换技术。
都使用驻留在内存中的表来指定变换信息,这些表只能由操作系统访问,以防应用程序篡改。
映射过程:
第一阶段:分段机制。逻辑地址→处理器可寻址内存空间(称为线性地址空间)中的地址
第二阶段:分页机制。线性地址→物理地址
物理地址空间:地址总线能产生的地址范围
标签:篡改 物理内存 一个 ges 虚拟地址 ima x86 直接 https
原文地址:https://www.cnblogs.com/Ivan-Luo/p/11651483.html