linux学习

个人观点:程序中的内容不会无中生有,当你要用的一个数据的时候,这个数据的地址肯定记录在哪里

(1)逻辑地址(当前程序运行的段和地址偏移量)

通过(分段单元,由MMU控制)

(2)线性地址(虚拟地址)

通过(分页单元,由MMU控制)

(3)物理地址

段寄存器:(仅仅存放段选择符)

cs:代码段寄存器

ss:栈段寄存器

ds:数据段寄存器 (以上是专门用途,不可改)

es

fs

gs (以上三个随便执行任意段)

GDT全局描述符存放在gdtr控制寄存器(每个cpu一个)

LDT局部描述符存放在ldtr控制寄存器

linux中一般的段和段描述符:

(1)代码段描述符(2)数据段描述符(3)任务状态段描述符

运行程序的特权级:CPU的特权级有CPL指定,并由存放在cs寄存器中的RPL来指定

页:线性地址被分成以固定长度为单位的组,页内部连续的线性地址被映射到连续的物理地址中

旅游不在乎终点,而是在意途中的人和事还有那些美好的记忆和景色。

linux学习

相关文章:

你感兴趣的文章:

标签云: