linux内存、磁盘空间分配、回收方式
2023-07-05 09:55:13 0 举报
AI智能生成
知识要点和原理解析,详细信息和图片均在黄色图标的注释中,鼠标移动到黄色图标上即会显示,图片加载有时较慢。
作者其他创作
大纲/内容
linux
文件系统<br>
一切皆文件<br>
磁盘结构<br>
盘面
磁道<br>
扇区
磁盘的基本单位<br>
块
文件系统操作文件的最小单位
Linux文件系统<br>
分为两层
<font color="#f44336"><b>VFS(虚拟文件系统)</b></font>
VFS在linux架构中的位置<br>
具体文件系统
虚拟文件系统四大对象<br>
1、超级块<br>
2、索引节点:inode<br>
inode描述<br>
一个inode可以有多个文件名(<b>目录项:dentry</b>)来对应它
inode能描述文件占用的块数<br>
inode描述了文件大小和指向数据块的指针<br>
通过i节点实现文件的逻辑结构和物理结构的转换
inode怎样生成的?<br>
inode和文件的关系?<br>
3、目录项:dentry<br>
目录项和索引节点的关系:<font color="#f44336">多对一</font>
目录项和目录是一个东西吗?<br>
4、逻辑块<br>
文件数据是如何存储在磁盘的?<br>
inode保存指向逻辑块的指针:一对多
文件分配方式<br>
连续分配<br>
优点<br>
缺点
链式分配<br>
隐式链接<br>
优点
缺点<br>
显式链接<br>
优点
缺点
索引分配<br>
优点
文件的创建、增大、缩小很方便<br>
不会有碎片的问题<br>
支持顺序读写和随机读写
缺点<br>
如果文件很大
链式索引块
多级索引块<br>
空闲空间的管理<br>
空闲表法<br>
优点<br>
缺点<br>
碎片空间
空闲链表法<br>
优点
无碎片空间
缺点<br>
不能随机访问,工作效率低<br>
数据块的指针消耗了一定的存储空间
位图法<br>
索引节点、目录项以及文件数据关系图<br>
文件的存储<br>
块组<br>
目录的存储<br>
内存管理<br>
<b><font color="#f44336">虚拟内存</font></b>、内存管理单元(MMU)、物理内存<br>
映射关系管理<br>
分段<br>
分段机制会把程序的虚拟地址分成 4 个段<br>
好处
能产生连续的内存空间
不足之处<br>
内存碎片<br>
内存交换的效率低<br>
分页<br>
怎么解决分段的内存碎片、内存交换效率低的问题?<br>
如果内存空间不够:<font color="#f44336"><b>LRU</b></font>
虚拟地址和物理地址是如何映射的?
举例<br>
<b>简单的分页</b>有什么缺陷呢?<br>
多级页表<br>
二级页表空间分析
局部性原理<br>
不分级为何无法节省内存<br>
页表缓存TLB(Translation Lookaside Buffer)<br>
内存回收<br>
三种回收方式<br>
1、回收内核中的缓存<br>
2、swap 机制<br>
3、触发 OOM(Out Of Memory) 机制<br>
swap机制原理<br>
哪些进程的内存交换到硬盘中?<br>
<b><font color="#f44336">匿名内存页(数据段、堆段 和 栈段)</font></b>
LRU 内存淘汰算法<br>
主要构成
active_list<br>
inactive_list<br>
PG_referenced标志位<br>
流程<br>
申请一个匿名内存页<br>
匿名内存页被进程访问<br>
内存淘汰过程<br>
活跃链表 的内存页也有衰退的过程<br>
用户态与内核态的内存空间<br>
虚拟内存<br>
0 条评论
下一页