内存管理的基本思想与算法

这篇博客介绍了操作系统如何管理内存,包括层次化存储结构、存储管理分类、基本存储管理(如单道程序、固定分区多道程序)、重定位和存储保护、交换技术和虚拟存储管理。详细讨论了分页技术、页表、TLB、页面替换算法如FIFO、LRU等,以及内存管理的关键概念和策略。
摘要由CSDN通过智能技术生成

介绍操作系统是如何来管理内存资源。

层次化存储体结构

计算机的存储体系

  • 寄存器(register)
    • 在CPU内部,非常快速,昂贵
  • 高速缓存(cache)
    • 非常快速,昂贵,容量小,易失性
  • 主存(RAM)
    • 中等速度,中等价格,易失性
  • 外存
    • 容量大,速度慢,种类多,不易失

操作系统的工作就是协调这些存储器的使用,管理存储器的部分程序被称为存储管理器

  • 记录存储使用状况
  • 分配、回收存储资源
  • 数据的装入与写回

存储管理系统分类

在运行期间,进程需要在内存和磁盘之间换进换出的系统(交换和分页)和不需要换进换出的系统

不需要换进换出的系统

  • 特点:进程被调入运行后,它将始终位于内存中,直至运行结束
  • 没有交换和分页的单道程序
  • 固定分区的多道程序

不需要换进换出的系统实现起来是最简单的,但无法做到并发等现代操作系统的高级功能。

基本的存储管理

单道程序存储管理

  • 同一时刻只运行一道程序应用程序和操作系统共享存储器

  • 相应地,同一时刻只能有一个进程在存储器中运行。

  • 一旦用户输入了一个命令,操作系统就把需要的程序从磁盘贝到存储器中并执行它;在进程运行结束后,操作系统显示出个提示符并等待新的命令。当收到新的命令时它把新的程序装入存储器,覆盖掉原来的程序

实现方案

将操作系统和应用程序在RAM上存放位置的不同分为以下三种结构:

52764925885

固定分区的多道程序系统

将内存划分为n个分区(可能不相等),分区的划分可以在系统启动时手工完成。

实现方案

  1. 每个分区分别有一个运行队列

    • 当一个作业到达时,可以把它放到能够容纳它的最小的分区的输入队列中
    • 这会造成小分区的队列是满的,而大分区的输入队列却是空的
  2. 各分区共享同一个输入队列

    如果选择小进程先运行,则会浪费内存空间;而如果选择大进程运行,则对小进程不利。

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值