第三章 内存管理
内存空间的连续分配方式,是指为一个用户程序(作业)分配一个连续的内存空间。
按照内存空间划分方式的不同可将连续分配方式划分为以下四种方式
单一连续分配(将内存空间分为系统区和用户区。系统区放在内存低地址部分,且仅供OS使用。用户区是除系统区外的其他地内存空间,用户区给用户使用。)只适用于单用户、单任务环境。
与磁盘分区相区别:固定分区分配中的分区指的是对内存空间的分配,而磁盘分区指的是对磁盘空间的分配。
3. 动态分区分配(动态划分内存,不预先将内存划分,而是在进程装入内存时)
为了描述分区的使用情况,有两种数据结构可供选择:
基于顺序搜索的动态分区分配算法
内存中无法被利用的存储空间称为碎片。
内部碎片:指分配给作业的存储空间中未被利用的部分,如固定分区中存在的碎片。
单一连续区存储管理、固定分区存储管理、分页式存储管理和请求页式存储管理都会出现内部碎片。
外部碎片:指系统中无法利用的小的空闲分区。如分区与分区之间存在的碎片。这些不连续的区间就是外部碎片。
内部碎片无法被整理,但作业完成后会得到释放。它们其实已经被分配出去了,只是没有被利用。
外部碎片才是造成内存系统性能下降的主要原因。外部碎片可以被整理后清除。可以通过紧凑技术克服外部碎片,同时也需要重定位寄存器的支持。
基本分页存储管理
基本分段存储管理
段页式存储
分页和分段有许多相似之处,比如两者都不要求作业连续存放.但在概念上两者完全不同,主要表现在以下几个方面:
(1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题,或者说分页是由于系统管理的需要.段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要.
(2)页的大小固定,由系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的.而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分.
(3)分页的作业地址空间是一维的.分段的地址空间是二维的.
段页式存储管理用分段方法分配和管理用户地址空间,用分页方法管理物理存储空间
存储管理的目的:方便用户,提高内存利用率
对主存的访问是以字节或字为单位,对主存的分配依据不同的存储管理方案而不同
快表称联表,TLB,关闭了快表,访问主存,要先访问页表得到物理地址,再访问内存。
原文:https://www.cnblogs.com/findz/p/9769493.html