ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

虚拟地址映射机制--动态、静态

2019-06-30 10:48:54  阅读:177  来源: 互联网

标签:销毁 映射 静态 虚拟地址 地址映射 虚拟 内核 动态


静态映射: 
内核移植时,以代码的形式硬编码,如果需要更改,必须改源码并重新编译内核
在内核启动时建立静态映射表,到内核关闭时销毁。
除非更改并重新编译,否则只要内核启动,静态映射表就一直存在且不发生变化

动态映射:
驱动程序根据需要随时动态的建立、使用、销毁映射。
动态映射是随机的、临时的、每一次建立都可能不一样
选择虚拟地址映射的方法:
1、两种映射可以同时使用。就如:去学校可以选择有多种路线,但指向的最终目的地都是一个
2、静态映射类似于C语言中的全局变量(一旦分配作用周期就是内核运行的全过程),
动态映射类似于C语言中的malloc堆内存(用到就分配,用完就释放,)
3、静态映射的好处是执行效率高,坏处是始终占用虚拟地址空间;
动态映射的好处是按需使用虚拟地址空间,
坏处是每次使用前后都需要代码去建立&&销毁映射
动态映射的建立:
(1).request_mem_region,//向内核申请需要的内存资源
(2).ioremap,//真正实现映射,传给他物理地址返回一个对应的虚拟地址
销毁动态映射
(1).iounmap

标签:销毁,映射,静态,虚拟地址,地址映射,虚拟,内核,动态
来源: https://www.cnblogs.com/embeded-linux/p/11108930.html

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

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

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

ICode9版权所有