IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 操作系统之基础篇-(4.5)Linux的存储管理 -> 正文阅读

[系统运维]操作系统之基础篇-(4.5)Linux的存储管理

  • 目录

    Buddy内存管理算法

    页内碎片

    页外碎片

    伙伴系统

    算法的具体流程

    Linux交换空间

    作用:

    与虚拟内存类似


  • Buddy内存管理算法

  • Buddy算法是经典的内存管理算法
  • 基于计算机处理二进制的优势具有极高的效率
  • 主要是为了解决内存外碎片的问题
  • 其实就是把内存外碎片问题转移成内存内碎片问题
  • 页内碎片

  • 也称为内部碎片
  • 内部碎片是已经被分配出去(能明确指出属于哪个进程)的内存空间大于请求所需的内存空间,不能被利用的内存空间就是内部碎片
  • 页外碎片

  • 也称为外部碎片
  • 外部碎片是指还没有分配出去(不属于任何进程),但是由于大小而无法分配给申请内存空间的新进程的内存空闲块
  • Buddy内存管理算法的目的就是努力让内存分配与相邻内存合并能快速进行
  • Buddy内存管理算法的内存分配原则为 向上取整为2的幂大小
  • 伙伴系统

  • 伙伴指的是内存的伙伴
  • 一片连续内存的伙伴是相邻的另一片大小一样的连续内存
  • 算法的具体流程

  • 创建一系列空闲块链表,每一种大小都是2的幂
  • 分配流程示例(分配100k内存):
  • 1.100k向上取2的幂=128k
  • 2.查询是否有128k空闲内存块?
  • 3.没有!查询是否有256k空闲内存块?
  • 4.没有!查询是否有512k空闲内存块?
  • 5.没有!查询是否有1M空闲内存块?
  • 6.有,摘下1M空闲内存块,分配出去
  • 7.在这个1M块里拆下512k放在512k的空闲链表,其余分配出去,还没满足最小要求再拆
  • 8.在这个512k块里拆下256k放在256k的空闲链表,其余分配出去,还没满足最小要求再拆
  • 9.在这个256k块里拆下128k放在128k的空闲链表,其余分配出去,满足最小要求,分配完毕
  • 由于计算机处理2的幂时是极快的,所以这个算法具有极大的效率
  • 回收刚才分配的内存过程(通过伙伴系统实现快速合并)
  • 1.判断刚才分配的内存伙伴在空闲链表上吗?
  • 2.在!移除伙伴,合并为256k空闲内存,再次判断
  • 3.在!移除伙伴,合并为512k空闲内存,再次判断
  • 4.在!移除伙伴,合并为1M空闲内存,再次判断
  • 5.不在!将1M空闲内存插入到空闲链表,回收完成
  • Linux交换空间

  • 交换空间(Swap)是磁盘的一个分区
  • Linux物理内存满时,会把一些内存交换至Swap空间
  • Swap空间是初始化系统时配置的
  • 作用:

  • 1.冷启动内存依赖
  • 对于一些大型的应用程序在启动的过程中需要使用大量的内存,但是这些内存很多只是在启动时用一下,后续在运行时很少会使用到这个内存,有了交换空间,系统就可以将这个部分不怎么使用的内存数据保存在Swap空间里去,从而释放更多的物理内存提供给系统使用
  • 2.系统睡眠依赖
  • 当Linux需要睡眠时,就会把系统里所有的内存数据保存在Swap空间里去,等下次系统需要启动时再重新把数据载入到内存里,这样就能加快系统启动速度
  • 3.大进程空间依赖
  • 有些进程确实需要使用很多的内存空间,但是物理内存是不够使用的,因此需要把进程需要使用的内存暂时保存到Swap空间里去,使得大进程也能运行起来
  • 与虚拟内存类似

  • 交换空间和虚拟内存的区别在于使用的系统不一样,产生的技术手段不一样
  • Swap空间和虚拟内存都存在于磁盘
  • Swap空间和虚拟内存的工作原理都是与主存发生置换
  • Swap空间是操作系统概念,从Linux系统角度看待
  • 虚拟内存是进程概念,是从进程角度看待
  • Swap空间解决系统物理内存不足问题
  • 虚拟内存解决进程物理内存不足问题,是为了更高效的使用物理内存
  • 虚拟内存是文件数据交叉链接的活动文件。是WINDOWS目录下的一个"WIN386.SWP"文件
  • 虚拟内存不一定是交换空间,交换空间一定是虚拟内存
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-01 15:29:48  更:2022-06-01 15:31:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:41:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码