请问下虚拟地址的问题

2024-12-05 04:35:14
推荐回答(1个)
回答1:

那个账号提交有问题,换个账号回答你。

首先,虚拟地址和逻辑地址是一样的概念。

linux分段的时候把不同进程映射到不同的线性地址,是在linux 0.11内核代码中出现的。之所以这样是因为,0.11版本虽然开启了分页机制,但是所有进程共享了同一个页目录,所以进程们只能分配其中一段使用。这时候每个进程的线性地址空间没有那么大(没有4GB)。

后来linux内核为了增大单个进程的线性地址空间,就不再共享页目录,也就是每个进程有独立的页目录,此时进程的段地址基址就可以设置为0,而不会再相互干涉。

每个进程基址都从0开始,并且都拥有4GB的线性地址空间,这就相当于没有使用分段机制,实际上分段和分页都采用了。