内存访问全过程

本文详细阐述了操作系统如何通过段页结合的方式,从虚拟地址转换到物理地址的过程。通过实例分析了C代码在Linux 0.11中的内存访问步骤,包括获取虚拟地址、解读段描述符、获取页目录项和页表项,最终验证物理地址的正确性。
摘要由CSDN通过智能技术生成

这一篇,是重点!我们将去讲解操作系统根据代码(逻辑)地址去访问真实物理地址的全过程。

将把全面几节的东西全部用上,并完全梳理,完善细节。

前面讲了分段、分页机制,他们都可以实现,从虚拟地址(地址空间)向物理地址的转换。但是,实际使用过程中,使用的是分段+分页机制,段页结合。

段页结合

全过程分析(高能)

我们现在采用边实验边讲解翻译全过程。

写了一段 c 代码,编译,然后在 Linux 0.11 中,进行调试

#include <stdio.h>

int i = 0x12345678;
int main(void)
{
   
    printf("The logical/virtual address of i is 0x%08x", &i);
    fflush(stdout)
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值