内存管理

文档状态:编辑....


pstack好像出现了x84-64相关性问题,目前问题倾向于ELF格式程序32的问题,好像是高位不兼容,待解决:


Table of Contents

Intro

在谈内存管理时,不谈论其他的问题,管理实质上就是为了达到目标而利用策略进行组织、控制、领导、计划的全过程。
而内存管理属于一个很明显现实生活的类别,即资源分配,所以进行管理的前提,我们必须明确我们的目标,然后确定需求细节。

什么是管理

管理是在特定的环境下,对组织所拥有的资源进行有效的计划、组织、领导和控制,以便达成既定的组织目标的过程。

内存管理目标

需求细节

设计

连续分配类型

  1. 单道时代
    策略:划两块-系统区+程序区
    目标:实现(静态编译地址)
    细节:需求细节不需要实现,因为根本没必要

  2. 多道时代
    策略A:固定分区
    目标:实现(动态编译地址)
    细节:速度较快(取决于分配算法)
    利用率-引入内碎片

    策略B:变长分区
    目标:实现(动态编译地址)
    细节:速度慢(分配算法不好,因为产生大量无规律外碎片,维护起来虽然说还行,但是扫描起来太费时间)
    利用率-引入外碎片(Modify-内存回收机制)
    策略C:策略B升级版-伙伴系统
    目标:实现(动态编译地址)
    细节:速度较快(因为从一开始制定严格的分配策略,所以产生大量有规律碎片,便于分类重整,提高了扫描速度)
    利用率-外碎片问题