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