Linux虚拟内存
来源:互联网 发布:淘宝售前客服怎么做 编辑:程序博客网 时间:2024/05/18 01:27
Linux采用虚拟段页式存储方式来管理内存,程序的基本逻辑存储单元,也可以说是程序段。Linux中有四个段,代码段,数据段,BSS段,堆栈段。虚拟地址从低到高依次是:代码段,数据段,BSS段,堆栈段。其中代码段为程序本身(二进制指令),数据段为代码中初始化了的全局变量和静态变量,BSS段为为初始化的全局变量和静态变量,堆为程序员申请的内存空间,栈是编译器用来存放函数局部变量,参数等数据的位置。将程序的逻辑存储单元分配好后,每个段在内存中以页为基本单元进行存储。我们在程序中,用取地址符取的地址,叫做逻辑地址,也叫做虚拟地址。虚拟地址由段号和段内偏移量组成。MMU通过段机制查看段表来寻找该段号对应的页号,该页号和段偏移量组成的地址是线性地址;通过页机制查看页表,找到该页号对应的物理号,物理号和偏移量组成的地址,即为物理地址。
还有一种老的内存管理机制叫做内存分区,它分为固定分区和可变分区。固定分区指的是每次放入内存的作业大小是固定的。可变分区指的是放入内存中的大小随作业而变化。固定分区不可以运行较大程序,可变分区会生成内碎片。内存分区会用到一种覆盖技术,指掉入内存的页一般会覆盖掉不同时执行的部分。也就是页1已经在内存中了,现在页2也要掉入内存,系统判断,页1和页2不会同时执行,就将页1用页2覆盖掉。
交换技术是虚拟内存提出来的,在电脑磁盘中有一个交换分区,当内存中的某页当前不需要时,就将它交换出来,而将需要的交换进去。
若写不对,敬请指正。
2 0
- linux虚拟内存
- linux虚拟内存
- linux虚拟内存
- Linux 虚拟内存
- linux虚拟内存
- Linux虚拟内存
- Linux虚拟内存
- linux虚拟内存
- 查看linux虚拟内存大小
- 增加linux的虚拟内存
- Linux虚拟内存基础知识
- linux 虚拟内存一角
- Linux虚拟内存实现原理
- arm Linux虚拟内存布局
- linux 虚拟内存管理
- linux虚拟内存机制
- Linux虚拟内存-brk/sbrk
- linux虚拟内存的分配
- Codeforces Round #364 (Div. 2) D. As Fast As Possible 【二分+贪心+验证】
- hibernate--对象类型
- Service启动流程源码分析之startService(一)
- 从零开始学习jQuery (七) jQuery动画-让页面动起来!
- 查询,分页封装
- Linux虚拟内存
- Android Studio 解决 com.android.application 找不到
- #88 Lowest Common Ancestor
- 从零开始学习jQuery (八) 插播:jQuery实施方案
- SpringMVC4.0以后版本返回json格式数据问题
- 手机通知栏
- 树莓派驱动6轴传感器MPU6500与SPI初体验(一)
- JAVA_WEB设计模式3
- Activity的生命周期及传值