Linux内存管理原理
2016-02-27 17:35
274 查看
内部碎片:
内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;
内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。
为了有效的利用内存,使内存产生更少的碎片,要对内存分页,内存以页为单位来使用,最后一页往往装不满,于是形成了内部碎片。
由于被装入的数据块小于分区大小,从而导致分区内部有空间浪费,这种现象成为内部碎片。
外部碎片:
外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。
外部碎片是出于任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。
分区外的存储空间会出现很多不能使用的碎片。
为了共享要分段,在段的换入换出时形成外部碎片,比如5K的段换出后,有一个4k的段进来放到原来5k的地方,于是形成1k的外部碎片。
待续。。。。
内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;
内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。
为了有效的利用内存,使内存产生更少的碎片,要对内存分页,内存以页为单位来使用,最后一页往往装不满,于是形成了内部碎片。
由于被装入的数据块小于分区大小,从而导致分区内部有空间浪费,这种现象成为内部碎片。
外部碎片:
外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。
外部碎片是出于任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。
分区外的存储空间会出现很多不能使用的碎片。
为了共享要分段,在段的换入换出时形成外部碎片,比如5K的段换出后,有一个4k的段进来放到原来5k的地方,于是形成1k的外部碎片。
待续。。。。
相关文章推荐
- Linux Mint下OpendJDK的卸载及安装SunJDK
- [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)
- Linux精讲——特殊权限之set_uid/suid
- linux find 命令 详解
- Linux精讲——chattr特殊权限
- 【转】Linux下的多线程编程
- linux命令学习笔记
- Linux 常用命令汇总--加了注释
- linux系统中mysql数据库的导入和导出
- 【关于tftp】 imx283 与Linux主机 在tftp命令格式的不同
- zsh 安装和使用, 以及安装主体
- aliyun服务器 在 centos下 挂载新硬盘
- 在linux CentOS系统上安装g++
- linux 标准输入输出的详解
- 转载:linux管道的那点事
- centos安装ElasticSearch
- Linux内核分析(堆栈)
- linux下jdk配置,安装eclipse
- linux命令
- linux 设置密钥