操作系统基础第四讲

操作系统第四讲 存储器管理

第一讲:内存管理概述

1. 内存管理的基本概念

  1. 逻辑地址及物理地址

    img

  2. 外部碎片

    内存中划分给进程剩下太小的无法分配的空间

    img

  3. 内部碎片

    进程进入分配的块,剩下的

    img

2. 内存管理的基本功能

img

img

3. 程序的链接与装入

  1. 程序的运行过程

    img

    img

  2. 绝对装入

    img

    将程序装入装入到指定位置

    仅适用单道程序

  3. 可重定位装入

    img

    多道程序中不能预知应放到内存何处,因此采取可重定位装入模式,放到内存中任何允许位置,根据内存情况将目标模块存放;需要根据相对地址更改绝对地址

    目标模块起始地址一般从0开始

  4. 动态运行时装入方式

    装入后还能移动位置;把绝对地址转换推迟到程序真正执行的时候

4. 程序的链接

  1. 静态链接

    img

    程序运行前就链接好

  2. 装入时动态链接

    img

    img

  3. 运行时动态链接

    img

考点二:内存连续分配管理方式

1. 单一连续分配

img

2. 固定分区分配

img

img

3. 动态分区分配

img

img

4.动态分区分配算法

img

img

  1. 首次适应算法FF First Fit

    每次从链头开始,直到找到第一个适合的空闲分区

    img

  2. 循环首次适应NF Next Fit

    每次从上一次结束地方再寻找

    img

    img

  3. 最佳适应BF Best Fit

    优先使用满足要求又是满足要求分区中最小的适合分区

    即使用内部碎片最小的分区

    img

    img

  4. 最坏适应WF Worst Fit

    优先使用最大的分区

    img

    img

  5. 对比

    img

    img

5. 内存回收

img

考点三:基本分页存储管理方式

1. 基本概念

  1. 页面和(物理块/页框)

    img

    进程分成:页

    内存分成:物理块/页框

    萝卜和坑的关系

    最后一页可能放不满页框,造成页内碎片

  2. 页面大小

    img

    页框大小与完整页面大小一致

  3. 页表

    用于记录进程每一页再内存中对应的物理块号(即页框)

    存储对应关系

    img

    img

  4. 页表项

    页表的基本单元,一条对应关系

    由页号和页框号组成

2. 地址结构

  1. 结构图

    img

  2. 页号和页内地址计算

    img

  3. 页面大小

    img

    img

    img

3. 地址变换机构

页表对应关系的实现方式

img

img

img

要访问某个逻辑地址中的数据

  • 将有效地址(相对地址)分为页号和页内地址
  • 检索前先判断越界,将页号和页表长度比较
  • 用页号检索页表,找到物理块对应关系
  • 计算该表项在页表中位置,将页表项开始地址与页号和页表项长度的乘积相加
  • 得到物理块号,装入物理地址寄存器
  • 将有效地址寄存器中页内地址送入地址寄存器的块内地址字段
  • 完成逻辑地址到物理地址的变换

img

4. 快表TLB(Translation Looksaide Buffer)

相当于一个页表缓存,先查快表如果页号存在直接使用缓存的物理块地址,免去一次查找整个页表时间

img

img

5. TLB的实现方式(使用Cache来实现)

  1. 直接相联映射

    img

    img

  2. 全相联映射

    img

  3. 组相联映射

    img

6. 两级页表和多级页表

页表太长需要将页表进行分页,需要建立一张表用于记录页表项对应的物理块地址。

img

img

img

考点四:基本分段内存管理方式

1. 分段系统的基本原理

img

img

img

img

img

img

img

posted @ 2024-10-08 12:37  蠲忿恚葉言  阅读(34)  评论(0)    收藏  举报