操作系统:内存管理(一)内存管理概念

3.1 内存管理权限

3.1.1 内存管理的基本原理和要求

内存管理的主要功能:
a 内存空间的分配与回收
b 地址转换
c 内存空间的扩充
d 内存共享
e 存储保护

  1. 程序的链接与装入
    编译
    链接
    装入

程序链接的以下三种方式
(1)静态链接
(2)装入时动态链接
(3)运行时动态链接

内存的装入模块在装入内存时
(1)绝对装入
(2)可重定义装入
(3)动态运行时装入

  1. 逻辑地址与物理地址
    物理地址空间是指内存中物理单元的集合,它是地址转换的最终地址。
    地址重定位:当装入程序将可执行代码装入内存,必须通过地址转换将逻辑地址转换为物理地址的过程。
  2. 进程的内存映像
    一个内存进程映像一般有如下要素
    代码段
    数据段
    进程控制块

  3. 内存保护
    1)在cpu设置一对上下限寄存器
    2)采用重定位寄存器
  4. 内存共享
    只有那些读的区域才可以共享
  5. 内存的分配与回收

在这里插入图片描述

3.1.3 连续分配管理

为用户分配一个连续的内存空间。

  1. 单一连续分配
  2. 固定分区分配
  3. 动态分区分配
    在这里插入图片描述

动态分区分配算法
在这里插入图片描述
在这里插入图片描述

3.1.4 基本分页存储管理

  1. 分页存储的基本概念
    将内存空间分成一个个大小相等的区域,每一个分区就是一个页框(页框=页帧=内存块=物理块=物理页面),每一个页框有一个编号,即页框号,页框号从0开始。
    将进程的逻辑地址空间也分为好页框大小相等的一个个部分,每一个部分成为一个页或者页面,每一个页面也有一个编号叫页号,页号也是从0开始。
    操作系统以页框为单位为各个进程分配内存空间。进程的每一个页面分别放入一个页框中,进程的页面与内存的页框有一一对应关系。

为了能够知道进程的每个页面在内存中存放的位置,操作系统为每个进程建立一张页表(通常存在PCB中)。
一个进程对应一张页表
进程每个页面对应一个页表项
每个页表项由页号和块号组成

在这里插入图片描述
在这里插入图片描述

  1. 基本地址变换机构
    地址变换机构的任务是将逻辑地址转换为内存中的物理地址,地址变换是借助页表实现的。
    在这里插入图片描述
  2. 具有快表的地址变换机构
    快表又称相联存储器(TLB)高速缓存,用来存放最近访问的页表的副本。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  1. 两级页表
    多级页表的目的在于建立索引,以便不浪费主存空间去存储无用页表项,也不用盲目地顺序式查找页表项。
    在这里插入图片描述
    在这里插入图片描述

3.1.5 基本分段存储管理

  1. 分段
    进程的地址空间按照自身的逻辑关系划分为若干个段,每个段有一个段名,每段从0开始编址。
    内存分配规则:以段为单位进行分配,每个段在内存中占连续空间,但各段之间不相邻。
    在这里插入图片描述
  2. 段表
    在这里插入图片描述
    在这里插入图片描述
  3. 地址变换机构

在这里插入图片描述

  1. 段的共享与保护
    在这里插入图片描述
    在这里插入图片描述

3.1.6 段页式管理

在段页式系统中,作业的地址空间实现被分为若干逻辑段,每段都有自己的段号,然后将每段分为若干大小固定的页。对于内存的管理仍然和分页存储管理一样,将其分成若干和页面大小相同的存储块,对内存的分配以存储块为单位。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxkeepcoding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值