《深入理解Linux内核 第二章》学习笔记

posted in: LINUX | 0

第二章 内存寻址

内存寻址

我们必须区分三种不同地址

  • 逻辑地址:包含在机器语言指令中用来指定一个操作数或一条指令的地址。
  • 线性地址:一个32位无符号整形。
  • 物理地址:用于内存芯片级内存单元寻址。

Linux

硬件中的分段

段选择符合段寄存器

一个逻辑地址由两部分组成:一个段标识符和一个指定段内相对地址的偏移量。段标识符是一个16位长的字段,成为段选择符。

Linux-2-2

为了快速方便的查找段选择符,处理器提供段寄存器。段寄存器的唯一目的是存放段选择符。

段寄存器成为:

  • cs:代码段寄存器,还有一个重要功能:包含一个两位的字段,用以指明CPU的当前特权几。0表示最高优先级,3代表最低优先级。Linux只有0级和3级,称为内核态和用户态。
  • ss:栈段寄存器
  • ds:数据段寄存器
  • es:
  • fs:
  • gs: