我们讲页框分配器的时候讲到了快速分配和慢速分配,其中伙伴算法是在快速分配里做的,忘记的小伙伴我们再看下:

static struct page *
get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags,
      const struct alloc_context *ac)
{
  for_next_zone_zonelist_nodemask(zone, z, ac->zonelist, ac->high_zoneidx, ac->nodemask)
  {
    if (!zone_watermark_fast(zone, order, mark, ac_classzone_idx(ac), alloc_flags))
    {
      ret = node_reclaim(zone->zone_pgdat, gfp_mask, order);
      switch (ret) {
      case NODE_RECLAIM_NOSCAN:
        continue;
      case NODE_RECLAIM_FULL:
        continue;
      default:
        if (zone_watermark_ok(zone, order, mark, ac_classzone_idx(ac), alloc_flags))
          goto try_this_zone;        continue;
      }
    }

try_this_zone: //本zone正常水位
    page = rmqueue(ac->preferred_zoneref->zone, zone, order, gfp_mask, alloc_flags, ac->migratetype);
  }

  return NULL;
}

Linux分区页框分配器之水位相关推荐

  1. 操作系统学习笔记(二十四)~页框分配和颠簸+内核内存分配+虚拟内存中的其他考虑

    9.4 页框分配和颠簸 1.系统"抖动"现象的发生可能是由()引起.A A.置换算法选择不当 B.交换的信息量过大 C.内存容量充足 D.请求页式管理方案 2.允许进程在所有的页框 ...

  2. 操作系统学习笔记——第九讲——虚拟内存(9.4页框分配和颠簸)

    1. 页框的分配 2. 固定分配 3. 优先级分配 4. 全局置换和局部置换 5. 颠簸(Thrashing) 6. 局部模型 7. 工作集(Working-Set)模型 8. 工作集模型 9. 缺页 ...

  3. linux 内存管理---页框回收(十)

    为什么需要页回收? linux的设计哲学之一:尽可能多的使用内存,比如尽可能的多使用memory cache,disk cache,因为这在系统负载比较小时,能够提升系统性能,但是随着cache越来越 ...

  4. 设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框

    设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址.若某进程最多需要6页(Page)数据存储空间,页的大小为1KB [2],操作系统采用固定分配局部置换策略为此进程分配4个页框(Page ...

  5. linux分区方案为user,Ubuntu 为用户分配磁盘空间Linux 硬盘分区方案

    一.Linux 分区概念首 先介绍一下linux中的分区概念,这个可是把一开始学习的我害苦了.在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要 ...

  6. linux内核dma内存分配,Linux 4.x 内核空间 DMA 虚拟内存地址

    Architecture: i386 32bit Machine Ubuntu 16.04 Linux version: 4.15.0-39-generic 目录 DMA 虚拟内存区 在 IA32 体 ...

  7. linux分区文件 pe,关于linux的磁盘和分区的操作(一)

    由于我装的linux(centos)在虚拟机里,开始分的磁盘空间太小,我就想添加一块新的磁盘,顺便学习学习linux的磁盘操作,下面先贴点关于linux分区的知识 分区概念首先我们需要知道,硬盘分区的 ...

  8. Linux内核中内存分配函数

    1.原理说明 Linux内核 中采 用了一种同时适用于32位和64位系统的内 存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系 统中,用到了四级页表,如图2-1所示.四级页表分别为 ...

  9. 安装linux分区设置密码,安装和使用Gnome Disk Utility在Linux上加密硬盘分区

    本文介绍的是安装和使用Gnome Disk Utility以能够在Linux操作系统上加密硬盘分区.加密硬盘分区是保存大量重要数据的好方法,无需经过使用GnuPG.VeraCrypt等工具的繁琐过程来 ...

最新文章

  1. Scala的基本语法总结
  2. java的内省有用么_JAVA中的内省使用
  3. Win11怎么设置提高电脑游戏性能
  4. 程序员 520 脱单指南!
  5. 日出时的画面_摄影教学堂:如何拍摄日出日落?详解日出日落的摄影技巧
  6. Lucene中的各种consumer
  7. 数据库系统概念第六版课后习题-第二章答案
  8. 微信小程序——调查问卷案例
  9. Apache(阿帕奇) 配置环境及使用(保姆级教程)拒绝繁琐
  10. linux 在 vi 中设定一下行号 怎么做啊 求图片,linux中vi/vim显示行号设置
  11. 010-flutter dart代码后台执行,没有界面的情况下
  12. 植物大战僵尸无限阳光(包括阳光基址的寻找)
  13. 业务实战记录(1):帮业务人员做道Excel题
  14. 中国人事网发布职业资格证书查询验证公告
  15. 操作系统原理——内存的分段、分页和平坦模型:区别与发展
  16. 国产蓝牙耳机有哪些?2022音质好的国产耳机排行榜
  17. 无人值守污水处理控制系统。 西门子200PLC和显控触摸屏编写的智能污水处理控制系统
  18. Wireshark 抓包分析 HTTP 请求、响应报文格式
  19. 【苹果iMessage相册推信息推】那些新功效理当可以或许压倒您。保护用户隐私是苹果的起点之一
  20. GitHub下载速度为零以及下载失败的问题解决

热门文章

  1. 智慧医院的信息集成平台建设与配电设计方案
  2. Software supply chain security | Network security
  3. 谷歌地球也疯狂 五款Google Earth游戏
  4. ibm服务器维护重点,IBM服务器存储维护基础知识.pptx
  5. 更进一步的了解Keil Flash的下载算法
  6. 基于有限状态机实现敏感词替换(Java)
  7. Java-SSM-新冠疫苗接种登记系统
  8. android凯立德,定制安卓,正版凯立德导航_凯立德行车一体机_GPS评测-中关村在线...
  9. php 物联网协议,物联网常用通讯协议科普
  10. 利用Word制作pdf文件的方法