计算机操作系统——内存管理

内存管理

引入目的

  • 更好的支持多道程序的并发执行,提升系统性能

程序装入

  • 绝对装入

    • 适合单道程序环境
  • 静态重定位

    • 适合装入之后不移动
  • 动态重定位

    • 适合装入时还会移动的情况

程序链接

  • 静态链接

    • 在程序运行之前链接
  • 装入时动态链接

    • 在装入内存时,采用边装入边链接的链接方式
  • 运行时动态链接

    • 在程序执行中需要该目标模块时,才对它进行链接

地址空间

  • 逻辑地址空间

    • 一个源程序在编译或者链接装配后指令和数据所有的相对地址空间
  • 物理地址空间

    • 内存中物理单元的集合

内存保护

  • 上、下限寄存器

    • 分别于上、下限寄存器比较
  • 基址、限长寄存器

    • 与限长寄存器比较,与基址寄存器相加

管理方式

  • 连续分配

    • 单一连续分配

      • 分配到内存固定区域,只适合单任务系统
    • 固定分区分配

      • 分配到内存中不同的固定区域,只适合单任务系统
    • 动态分区分配

      • 基本概念

        • 按照程序需要进行动态划分
      • 分配算法

        • 首次适应

          • 按地址从小到大为序,分配第一个符合条件的分区
        • 最佳适应

          • 按空间从小到大为序,分配第一个符合条件的分区
        • 最坏适应

          • 按空间从大到小为序,分配第一个符合条件的分区
        • 临近适应

          • 与首适应相似,从上次查完的结束位置开始查找
  • 非连续分配

    • 基本分页

      • 内存分为固定的块,按物理结构划分,回有内部碎片
    • 基本分段

      • 内存块的大小不固定,按照逻辑结构划分,回有外部碎片
    • 段页式

      • 基本分页与基本分段的结合,会有内部碎片

内存扩充

  • 覆盖

    • 预选设定覆盖段,覆盖掉暂时不用的内容,通常在同一个程序之中进行
  • 交换

    • 把处于等待的程序暂时移到外存,通常在不同程序之间进行
  • 虚拟内存

    • 引入原因

      • 在逻辑上扩充内存
    • 组成部分

      • 页表机制

        • 通过查表获得相关信息
      • 中断机构

        • 要访问不在内存时产生缺页中断
      • 地址变化机构

        • 把逻辑地址变换成物理地址
      • 内存和外存

        • 需要一定容量的内存和外部支持
    • 置换算法

      • 最佳置换OPT

        • 选择以后不用的页面
      • 先进先出FIFO

        • 选择最先装入的页面

          • Blady异常
      • 最近最久未使用LRU

        • 选择最近最久未使用的页面
      • 时钟算法CLOCK

        • 选择最近未使用的页面
      • 改进型CLOCK

    • 地址翻译

      • TLB

        • 页表(TLB不命中)

          • cache

            • 主存(cache)不命中

              • 外存(缺页)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值