嵌入式系统——存储管理方案

前言:对嵌入式操作系统常见存储管理方案介绍和刷题整理。

1. 操作系统存储管理方案

方案 特点 优点 缺点
固定分区 将内存划分为固定大小(可相等可不等)的块,并且运行过程中大小不可变 实现简单,开销极小 程序或作业大小不可能刚好等于分区大小,极易造成页内碎片
请求分页 只加载部分程序即可运行,需要其他程序页时产生缺页中断,将运行完毕的程序页置换出去 不用加载全部程序即可运行,对大程序友好 开销大
覆盖 让作业中不同时运行的程序共用一块内存地址,当一个程序模块运行完毕后调入另一块覆盖该内存 不用加载全部程序即可运行,对复杂庞大程序友好 要求用户明确知道模块间调用关系,增加用户负担

2. MMU — 内存管理单元

  MMU是Memory Management Unit的缩写,中文名是内存管理单元,用来管理虚拟内存的器件。MMU通常是CPU的一部分,本身有少量存储空间存放从虚拟地址到物理地址的匹配表。此表称作TLB(转换旁置缓冲区)。所有的数据请求都送往MMU,由MMU决定数据在RAM内还是在大容量存储器设备内。如果数据不在存储空间内,MMU将产生页面错误中断

  MMU的两个主要功能是:

  1. 将虚拟地址转换成物理地址
  2. 控制存储器存储允许。当MMU关闭时,虚拟地址直接输出到物理地址总线。

例题

例1

   从下表关于操作系统存储管理方案1、方案2和方案3的相关描述可以看出,它们分别对应 () 存储管理方案。

方案 说明
1 在系统进行初始化的时候就已经将主存储空间划分成大小相等或不等的块,并且这些块的大小在此后是不可以改变的。系统将程序分配在连续的区域中
2 主存储空间和程序按固定大小单位进行分割,程序可以分配在不连续的区域中。该方案当一个作业的程序地址空间大于主存区可以使用的空间时也可以执行
3 编程时必须划分程序模块和确定程序模块之间的调用关系,不存在调用关系的模块可以占用相同的主存区
  • A.固定分区、请求分页和覆盖
  • B.覆盖、请求分页和固定分区
  • C.固定分区、覆盖和请求分页
  • D.请求分页、覆盖和固定分区

解析:由上述概念可知,块的大小在此后不可改变是固定分区方案;按照固定大小分割,程序地址大于主存区也可以执行是请求分页方案;不存在调用关系的模块可以占用相同的主存区是覆盖方案。选A。

例2

  在CPU和物理内存之间进行地址转换时, () 将地址从虚拟(逻辑)地址空间映射到物理地址空间。

  • A.TCB
  • B.MMU
  • C.CACHE
  • D.DMA

解析:TCB是进程控制块,用于进程的调度管理。MMU是内存管理单元,用于存储管理中的虚拟地址和物理地址转换。CACHE是高速缓存,用于CPU中缓存数据。DMA是直接存储访问,用于提高外设和内存之间或者存储器和存储器之间的数据传输速率。选B。

猜你喜欢

转载自blog.csdn.net/qq_36749906/article/details/109444339