ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

《Linux源码情景分析》--2.2地址映射的全过程

2019-09-09 21:58:12  阅读:218  来源: 互联网

标签:__ 映射 地址映射 源码 USER Linux CS DS 页面


2.2地址映射的全过程

​ Linux内核采用页式储存管理。虚拟地址被划分为固定大小的页面,由MMU在运行时将虚拟地址映射为某个物理内存页面的地址。与段式存储管理相比,页式存储管理由许多优点,首先页面大小式固定的,便于管理;更重要的是,要将一部分物理空间的内容换出到磁盘上时,在段式储存管理中要将整个段存出,而页式存储管理则按页进行,效率要高出许多。

​ 在i386CPU中,不管程序怎么写的,i386CPU一律对程序中使用的地址先进行段式映射,然后才进行页式映射。在ELF格式的可执行代码中,ld总是从0x80000000开始安排程序的“代码段”,对每个程序都这样。至于程序在执行时在物理内存中的实际位置要==由内核在为其安排内存映射时临时做出安排==,具体地址则取决于其分派到的物理内存页面。

​ 假设程序正在运行,整个映射机制已经建立好,并且CPU正在执行call 8048368 <greeting>指令,要转移到虚地址0x0804836去,接下来是虚拟地址的映射过程:

段式映射阶段

标签:__,映射,地址映射,源码,USER,Linux,CS,DS,页面
来源: https://www.cnblogs.com/LiShiZhen/p/11494453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有