![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux内存管理
文章平均质量分 90
ibless
这个作者很懒,什么都没留下…
展开
-
TLB与Cache访问谁先访问?
TLB与Cache访问谁先访问?1 Cache与TLB简介2 Cache与TLB谁先访问?1 Cache与TLB简介Cache与TLB本质上都是利用数据访问的局部性原理,就是把最常用的数据放在最快可以访问的地方。具体而言,Cache是用于缓存CPU常用的数据和指令的,分别称为dcache(data cache)和icache(instruction cache)。Cache通常有多级,比如L1 Cache、L2 Cache和L3 Cache,只有L1 Cache中是将指令和数据分开存放的,L2/L3 C原创 2021-07-22 12:39:10 · 4092 阅读 · 2 评论 -
Linux内存管理
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市...转载 2018-07-31 10:38:53 · 139 阅读 · 0 评论 -
Linux内存管理之高端内存
Linux对内存的管理划分成三个层次,分别是Node、Zone、Page。对这三个层次简介如下:层次 说明 Node(存储节点) CPU被划分成多个节点,每个节点都有自己的一块内存,可以参考NUMA架构有关节点的介绍 Zone(管理区) 每一个Node(节点)中的内存被划分成多个管理区域(Zone),用于表示不同范围的内存 Page(页面) 每一个管理区又进...原创 2018-08-10 22:41:03 · 6415 阅读 · 1 评论 -
Linux内存管理之SLAB分配器
注:本文讲述的SLAB相关代码是基于Linux内核v4.7,代码网址。1、SLAB分配器的由来在讲SLAB分配器之前先说两个概念: 内部碎片和外部碎片。外部碎片指的是还没有被分配出去(不属于任何进程)但由于太小而无法分配给申请内存空间的新进程的内存空闲区域。外部碎片是除了任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因...原创 2018-08-06 15:07:49 · 8866 阅读 · 0 评论