操作系统第四章: 内存管理习题

第四章 存储器管理 作业

  1. 为什么要配置层次式存储器?

    使用多级存储系统, 主要是为了解决CPU速度与存储器速度不匹配的问题, 就CPU与内存而言, 内存的速度是远慢于CPU的, 在CPU与内存间利用Cache技术设置多级缓存, 能够很大程度上减轻内存带宽对于CPU性能的影响, 其余的各种缓冲存储器利用的也都是Cache思想

  2. 可采用哪几种方式将程序装入内存? 它们分别适用于何种场合?

    共有三种内存装入方式:

    1. 绝对装入
      只适用于弹道程序环境
    2. 可重定位装入
      适用于多道程序环境
    3. 动态运行时装入(动态重定位)
      适用于多道程序环境
  3. 何谓静态链接? 静态链接时需要解决两个什么问题?

    静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装入模块,装入内存后便不再拆开

    需要解决的问题:

    1. 将除第一个模块以外的相对地址修改为相应的相对地址
    2. 将模块中使用的外部符号都变成相对地址
  4. 何谓装入时动态链接? 装入时动态链接方式有何优点?

    装入时动态链接即为将用户源程序编译后得到的一组目标模块, 在装入内存是, 采用边装入边链接的方式

    优点:

    1. 便于程序的修改与更新
    2. 便于实现对目标模块的共享
  5. 什么是基于顺序搜索的动态分区分配算法? 它可分为哪几种?

    动态内存分配的过程中, 系统的内存空间会被划分为多个可用的空闲内存分区, 顺序搜索即按这些内存分区的链接顺序查找可用分区的分配算法, 其可分为:

    1. 首次适应算法
    2. 最佳适应算法
    3. 最坏适应算法
    4. 邻近适应算法
  6. 分区存储管理中常用哪些分配策略? 比较它们的优缺点。

    常用的分配策略:

    1. 首次适应算法

      此为最简单, 效果最好, 耗时最短的算法

      其会使得内存低地址部分出现很多小的空闲分区, 每次查找时都要经过这些分区, 增加了开销

    2. 最佳适应算法

      此算法通常性能很差, 因为每次分配都会产生很小的难以利用的内存空间, 产生最多的外部碎片

    3. 最坏适应算法

      此算法会把最大的连续内存划分开, 导致很快没有可利用的大内存块, 所以性能也很差

    4. 邻近适应算法

      此算法常常在内存的末尾分配空间, 生成很多小碎片, 实际应用上比首次适应算法要差

  7. 什么是页面? 什么是物理块? 页面的大小应如何确定?

    1. 页面:

      分页式储存管理将进程的逻辑地址空间划分成页, 并加以编号

    2. 物理块:

      把内存的物理地址空间划分成若干块, 并加以编号

    页面的大小应是2的整数幂, 并应该适中, 太大或太小都会导致性能的下降

  8. 什么是页表? 页表的作用是什么?

    页表是分页式储存管理使用的数据结构, 对进程分页后, 每一页都映射成一条记录, 组成页表的行

    作用:
    页表的每一行记录了进程的一页和他存放的物理块页号, 块号对应关系, 其主要用于地址变换

  9. 分页和分段存储管理有何区别?

    1. 页的大小固定, 而段的划分基于程序的逻辑自然段, 长度不固定
    2. 分页的作业地址空间为一维, 而分段为二维, 在进行地址查找时, 需要给出段号和段内地址
    3. 分页管理的方式是从计算机的角度考虑设计的, 目的是提高内存的利用率, 齐声计算机性能, 其功能由计算机硬件实现, 对用户完全透明, 而分段管理则考虑了用户与程序员, 以满足方便编程, 信息保护和共享, 动态增长以及动态链接等多方面的需要
  10. 试全面比较连续分配和离散分配方式。

    1. 内存连续分配

      为一个用户程序分配一个连续的地址空间, 有多种策略:

      • 单一连续分配
        只能用于单用户, 单任务的 操作系统, 内存利用率极低
      • 固定分区分配
        最简单的多道程序储存管理方式, 无外部碎片, 有内部碎片, 但不能实现多进程共享一个主存区, 所以内存空间利用率低
      • 动态分区分配:
        有多种分配策略, 无内部碎片, 有外部碎片, 是连续分配中较好的方法

      综上, 无论采用何种方法, 都会产生较多的内存碎片, 所以连续分配对内存的利用率还是较低的

    2. 内存离散分配:

      有三种分配策略:

      • 基本分页存储管理方式
        将主存空间与进程都划分为相等且固定的块, 进程执行时, 以块为单位申请内存空间
        有效的利用了内存空间, 每个进程平均只产生了半个块大小的内部碎片, 但如果块的大小不合适仍会降低系统性能
      • 基本分段存储管理方式
        将用户进程中的自然段划分逻辑空间, 使用二维地址来访问, 良好的反应了程序的逻辑结构并有利于段的共享
      • 段页式管理方式
        其对内存的管理与分页相同, 但作业的地址空间被划分为了若干逻辑段, 再进一步划分为若干大小固定的页, 结合了分页与分段的优点

    综上, 两种内存分配策略都各有优点, 需根据实际应用情况考虑使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值