当前位置: 首页 > 内存管理
  • 内存管理小样

    内存管理小样

    #include<stdio.h> #include<stdlib.h> char *MEM; char *Free; int num; struct node{ int size; struct node * next; char a[0]; }; int slab_init(){ MEM = (char *)malloc(sizeof(char) * 100); /*初始化一块大内存*/ retur ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(二十四)引用计数

    内存管理器(二十四)引用计数

    引用计数 一种直接的内存清扫方式,通过遍历可以直接的判定一个对象的存活性。 这个思想可以说是非常的简单,有新对象就增加新对象的引用计数,并且减少旧对象的引用计数,当某个引用计数的值为0的时候将它回收。 C new(){ ref = allocate(); if (ref == NULL){ print ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(二十三) 标记-复制式 回收算法

    内存管理器(二十三) 标记-复制式 回收算法

    标记-复制式回收算法 GC 机制在一个系统中占重要地位,但是在使用过程中占用整体时间的最小部分,赋值器的执行开销产生的影响反而切实的影响这整个系统的性能。 半区复制回收 基本复制回收器会将堆划分为两个大小相等的半区,分别设置为来源空间,目标空间。 C /*半区复制回收算法*/ / ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(二十二) 标记-整理回收算法

    内存管理器(二十二) 标记-整理回收算法

    我们今天来看看第二种垃圾回收方法: 标记-整理回收算法 双指针整理算法 使用两个指针,一个从前向后遍历,我们称之为free指针,接着使用另一个指针,我们称之为scan指针,他从后像前遍历,当free 遇到空闲且大小合适的内存块时,将scan 所指向的内存拷贝到free 中,当free  和 sacn 指针相遇或者产生交互,我们就完成了 ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(二十一)标记-清扫回收算法

    内存管理器(二十一)标记-清扫回收算法

    内存回收一共有四种基本的算法及若干高级算法: 标记-清扫,标记-复制,标记-整理,引用计数。 任何自动内存管理都需要面临三个基本任务: 1.为新对象分配空间。 2.确定存活时间。 3.回收死亡对象所占空间。 讨论前提: 多线程条件下,只有一个回收线程。 垃圾回收前提: “万物静止式”回收,所有的资源分配器都会静止, ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(二十)自动内存管理的开始

    内存管理器(二十)自动内存管理的开始

    前言 内存管理器系列博客将会以“内存的分配与回收”为主题,继续学习实现各种内存管理算法。 显示释放内存的概况 对于不支持自动内存回收的语言来说内存管理一直是一个令人头疼的问题。最近我再做PARALLEX操作系统时也整好被内存管理纠缠住了。所以我想要继续进行内存管理方面的研究。JAVA等语言有自己的垃圾回收机制, ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存相关讲座大纲

    内存相关讲座大纲

    Redis数据库部分               数据结构部分                                SDS       struct len free  char []                                list          struct     prev    next                                               struct head tail len  dup   free  match                                d ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(十九)存储器层次结构

    内存管理器(十九)存储器层次结构

    前言 这两天看了《CSAPP》的第6章,主要讲的是存储器层次结构,环顾内存管理器系列的文档,发现确实没有一个终结性的小结内存管理体系的东西,所以这次正好借着小结读书笔记的机会正好总结。 存储器层次结构概况 我认为计算机的两个比较重要的问题,一个是运算,一个是存储。其实图灵最早的设计也是如此,我也学习学习 ...

    阅读全文
    作者:root | 分类:内存管理
  • 内存管理器(十八)kernel 内存管理—浅析内存寻址

    内存管理器(十八)kernel 内存管理—浅析内存寻址

    前言 内存管理序列还在持续更新,slab 后边在说,这里说点内核内存寻址的基础知识。这里我不打算说一些具体的标志位,寄存器什么的。一位很厉害的学长曾说过“掉进硬件的漩涡时很可怕的”,为了不让想了解的读者掉进这“可怕的硬件漩涡”我决定还是不要说硬件了。 分段 最早的处理器比如inter 早期处理器,8086 按照分段模 ...

    阅读全文
    作者:root | 分类:Linux kernrl, 内存管理