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