![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存管理
struct task_struct
这个作者很懒,什么都没留下…
展开
-
Linux 内存管理
计算机系统中有几类存储设备:cache、内存、外存。cache的存取速度最高,可以和CPU匹配,因此其代价最高,容量也最小。内存,又称主存或物理内存,是可以随机访问的存储器,其存取速度比高速cache低,对内存的访问需要几倍的CPU周期,因此其代价也比cache低,容量也可以做得比较大(从M到G) 。外存,如硬盘、软盘、光盘等,其容量大、成本低,但存取速度更低,对硬盘的存取速度至少比对内存的存取速转载 2016-09-08 15:54:37 · 483 阅读 · 0 评论 -
关于linux 内存分配
Linux内存管理摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨...转载 2016-09-08 15:52:45 · 3002 阅读 · 0 评论 -
linux内存管理伙伴算法(一:基本概念介绍)
原文地址:【http://blog.csdn.net/hs794502825/article/details/7887915】在系统初始化进行到伙伴系统分配器能够承担内存管理的责任后,必须停用bootmem分配器,毕竟不能同时用两个分配器管理内存。在UMA和NUMA系统上,停用分别由free_all_bootmem和free_all_bootmem_node完成(前面的博客已经详细讨论过)。伙...转载 2016-09-08 16:15:51 · 402 阅读 · 0 评论 -
【OS】逻辑地址、线性地址和物理地址之间的转换
LogicalAddress,LinearAddress,PhysicalAddressLinearAddress是转换过程中出现的中间态而已。虚拟内存中和代码上能看到的内存地址一般都是LogiccalAddress(带冒号的除外)。这几个地址是如何转换的:首先拿到一个LogicalAddress,然后去查GDT表,根据选择子找到Base,再把base和Of...转载 2016-09-07 14:50:41 · 793 阅读 · 0 评论 -
Linux内核源代码情景分析-内存管理之用户堆栈的扩展
在下面几种情况下会发生,页面出错异常(也叫缺页中断): 1、相应的页面目录项或者页面表项为空,也就是该线性地址与物理地址的映射关系尚未建立,或者已经撤销。本文讨论的就是这种情况。 2、相应的物理页面不在内存中。 3、指令中规定的访问方式与页面的权限不符,例如企图写一个“只读”的页面。 首先看下进程地址空间示意图: 假设现在需要调...转载 2016-09-08 16:00:12 · 912 阅读 · 0 评论