标签:
《深入理解Linux内核》中关于内存管理一共有三章,这是其中的一章,还有第八章,讨论内核怎样给自己分配主存,以及第九章,考虑怎样给进程分配线性地址。
以下三种地址是相对与8086处理器来说的。
包含在机器语言指令中用来指定一个操作数或一条指令的地址。比如下面反汇编代码中最左边的地址即逻辑地址。
1 40052d: 55 push %rbp 2 40052e: 48 89 e5 mov %rsp,%rbp 3 400531: 48 83 ec 10 sub $0x10,%rsp 4 400535: 89 7d fc mov %edi,-0x4(%rbp) 5 400538: 48 89 75 f0 mov %rsi,-0x10(%rbp) 6 40053c: bf d4 05 40 00 mov $0x4005d4,%edi 7 400541: e8 ca fe ff ff callq 400410 <puts@plt> 8 400546: b8 00 00 00 00 mov $0x0,%eax 9 40054b: c9 leaveq 10 40054c: c3 retq 11 40054d: 0f 1f 00 nopl (%rax)
8086处理器采用分段结构,每一个逻辑地址都由一个段(segment)和偏移量(offset)组成;即 逻辑地址=段地址+偏移量。
标签:
原文地址:http://www.cnblogs.com/shibo1802/p/4340109.html