目录

1.不同种类的计算机的内存管理方式

2.内存管理区

3.节点,区和页框之间的关系

4.伙伴算法

5.物理内存分配器

6.分区页框分配器图示

7.总结,资料与问题


1.不同种类的计算机的内存管理方式

有两种类型的计算机分别以不同的方法来管理物理内存,分别是:
NUMA(是多处理器计算机,每个CPU有各自本地的内存,使得每个CPU都能以较快的速度访问本地内存,
而各个CPU之间通过总线连接起来,这样也可以访问其他CPU的本地内存,只不过速度比较慢)
UMA(将可用内存以连续的方式组织起来)为了兼容NUMA模式,内核映入了内存节点,每个结点关联一个CPU,而各个节点又划分为几个内存区,
每个内存区中又有若干个页框.NUMA计算机中每个CPU物理内存称为一个内存节点,内核通过pg_data_t数据结构来描述一个内存
节点,系统内的所有节点就形成一个双链表.UMA计算机中只有一个内存节点,也就是说整个物理内存形成一个节点,其对应的双向链表中也只有那一个节点.

2.内存管理区

32位和64位操作系统对内存区管理上有什么区别?
最大的区别是64位操作系统不再有高端内存的概念,可以支持大于4GB的内存寻址,
而且ZONE_NORMAL的空间将扩展到64GB或者128GB,而且64位系统上的映射变得更加简单.

3.节点,区和页框之间的关系

4.伙伴算法

5.物理内存分配器

6.分区页框分配器图示

7.总结,资料与问题

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下相关推荐

  1. 【linux内核分析与应用-陈莉君】Linux内存管理机制

    目录                   1.内存层次 2.虚拟内存实现机制 3.进程的虚拟地址空间和地址空间布局 4.如何用数据结构描述进程的用户空间 5.mm_struct 6.vm_area_s ...

  2. 【linux内核分析与应用-陈莉君】动手实践-编写一个文件系统

    目录  0.一些链接 1.一些数据结构 2.编写一个文件系统的过程 3.用到的一些数据结构及函数的原型 3.1 struct file_system_type-文件系统类型 3.2 register_ ...

  3. 【Linux内核分析与应用-陈莉君老师】动手实践-把虚拟内存转换成物理地址

    目录 1.地址转换 2.Linux4级页表 3.64位线性地址 4.实际观察寻页的过程  1.地址转换 进程中不直接对物理地址直接操作,CPU在运行时指定的地址需要经过内存管理单元MMU 转换后才能访 ...

  4. 【linux内核分析与应用-陈莉君】进程的一生

    目录 1.进程与线程 2.TASK_STRUCT结构的统一性与多样性 3.进程API的实现 4.do_fork()的代码流程 5.进程的生命周期 1.进程与线程 2.TASK_STRUCT结构的统一性 ...

  5. 《Linux内核完全剖析-基于0.12内核》书评之陈莉君

    <Linux内核完全剖析-基于0.12内核>书评之陈莉君 <Linux内核完全剖析-基于0.12内核>一书出版之后,机械工业出版社编辑希望我就此书抽空写一个书评.在我拿到这本书 ...

  6. Linux内核分析(三)----初识linux内存管理子系统

    原文:Linux内核分析(三)----初识linux内存管理子系统 Linux内核分析(三) 昨天我们对内核模块进行了简单的分析,今天为了让我们今后的分析没有太多障碍,我们今天先简单的分析一下linu ...

  7. linux 内核 核心代码,8分钟掌握Linux内核分析的核心科技

    原标题:8分钟掌握Linux内核分析的核心科技 作者: OUYANG_LINUX007 来源: http://blog.csdn.net/ouyang_linux007/article/details ...

  8. linux内核分析(转自某位大哥网上的笔记)

    启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码.BIOS先进行一系列的系统自检,然后初始化位于地址0的中断 ...

  9. Linux内核分析实验3——分析linux内核启动过程

    本文大量内容引用自孟宁老师在<LINUX操作系统分析>课程中的内容 <Linux内核分析>MOOC课程 http://www.xuetangx.com/courses/cour ...

  10. Linux内核分析——可执行程序的装载

    链接的过程 首先运行C预处理器cpp,将C的源程序(a.c)翻译成ASCII码的中间文件(a.i) 接着C编译器ccl,将a.i翻译成ASCII汇编语言文件a.s 接着运行汇编器as,将a.s翻译成可 ...

最新文章

  1. C语言编程时常犯十八个错误
  2. JS显示document里所有的成员
  3. tps 数据库写并发衡量_MPP数据库简介
  4. TRIZ解决问题方法
  5. 去除ring3层的Debug标志
  6. freecodecamp_freeCodeCamp的学术诚信政策
  7. 适合于小团队产品迭代的APP测试流程 1
  8. 详解static、volatile、const
  9. Mysql删除数据时出现执行很慢并且删除失败--线程堵塞
  10. ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
  11. vc2008不安装vcredist发布程序
  12. 华为设备配置OSPF的NSSA区域
  13. Win7下更改iTunes备份路径最便捷的方法
  14. 深拷⻉浅拷⻉的区别?如何实现一个深拷贝?
  15. Mycat读写分离、主从切换、分库分表的操作记录 https://www.cnblogs.com/kevingrace/p/9365840.html
  16. 利用python实现修改阿里云DNS值解析
  17. Kryo:快速、高效的序列化框架
  18. 苹果xr怎么截屏_手机资讯:iPhone XR更新系统后无信号怎么办iPhone XR无信号解决办法...
  19. 如何查询大量DHL国际快递物流轨迹、签收情况
  20. 开源许可协议 Open Source License

热门文章

  1. 本博客博文介绍和索引【花谢悦神】
  2. 服务器本地存储文件,云服务器存储放在本地
  3. 超过2t硬盘分区_大于2T的磁盘怎么分区呢?
  4. 视频:这不是科幻,厉害了,用人工智能修长城
  5. 新版win10的恢复语言栏设置
  6. c语言大作业实现程序功能描述,C语言程序设计大作业——员工管理系统(代码超详细内含实验报告)...
  7. English语法_形容词/副词3级 - 原级
  8. thinkphp6获取字符串中的中文首字母
  9. 【航线运输驾驶员理论考试】飞行原理
  10. 计算机电子科技生产质量标准,SJT9527-1993微型数字电子计算机质量分等标准.pdf...