地址映射的全过程
内核采用页式存储管理。虚拟地址空间划分成固定大小的“页面”,由
在运行时将虚拟地址“映射”成某个物理内存中的地址。与段式存储管理相
比,页式存储管理有很多好处。首先,页面都是固定大小的,便于管理。更重
要的是,当要将一部分物理空间的内容换出到磁盘上的时候,在段式存储管理
中要将整个段 通常很大 都换出,面在页式存储管理中则是按页进行,效率
显然要高得多。由于 系列的历史演变过程,它对页式存储管理的支持是
在其段式存储管理已经存在了相当长的时间以后才发展起来的。所以,不管程
序是怎样写的, 微处理器一律对程序中的地址先进行段式映射,然后才
能进行页式映射。而 所采用的方法实际上使段式映射的过程中不起什么
作用。
下面通过一个简单的程序来看看 下的地址映射的全过程:
!
"
#$
!
"
该程序在主函数中调用 来显示 “ ,经过编译和反
汇编,我们得到了它的反汇编的结果。
%%&'()*(
%&'(''+,-./
%&'/(0'#1-.+2./
%&'/(%&0&%&%+,-3%%&&%&
%&'4%(555$%&&4&
%&'4'(&%&$-3%&2.+
%&'4(0$1
%&'40(
%&'4$(0#1-.+2.+
%%&'4(
%&'4(''+,-./
%&'4(0'#1-.+2./
%&'4(&555$%&'
%&'&(0$1
%&''(
%&'(0%
%&'4(0%