CONTENTS [hide]
备注:
1 本笔记是作者根据自己的理解简化和总结的,可能有遗漏或者错误,还请各位路过的大拿们指正。
2 本笔记中的所有截图版权归属于原作者所有。
内存寻址:
内存地址的三种不同的表示方式:
三种地址间的相互转换:
逻辑地址如何转换为线性地址:
一个逻辑地址由两部分组成:
1 16位长的段标识符,或称为段选择符
2 32位长的段偏移量
段描述符:
段描述符里有一个很重要的字段Base,它包含了该段的首字节的线性地址。
段描述符号计算线性地址公式:
段描述符的Base + 段偏移量 = 线性地址
根据段选择符快速定位段描述符:
段选择符中的字段的意义:
段选择符计算段描述符公式:
段描述地址 = 段选择符中Index * 8 + GDT/LDT(根据段选择符中TI)
Linux下的分段
Linux下简化了操作,将四个主要的段描述符的字段中的Base设置为0,那么计算线性地址时就只需要段偏移量了。
发表评论