【操作系统复习】第四章 第一节 存储管理

本文主要复习了操作系统的内存管理,涵盖了存储管理的基本概念,包括存储器层次结构和任务;程序的装入,对比了静态和动态地址再定位的优缺点;内存分配方式,如单道连续、固定和动态分区,以及覆盖与交换技术;最后深入探讨了分页存储管理,包括页表、地址变换机构和优化策略如快表和多级页表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作系统复习

第四章 内存管理

4.1 存储管理

一、存储管理的基本概念

1.存储器层次结构

  • 通用寄存器堆
  • 高速缓存(硬件实现)
  • 主存(内存)
  • 磁盘缓存
  • 固定磁盘(外存)
  • 可移动存储介质

2.存储管理的任务

  • 存储空间的管理、分配 和回收
    • 存储分配算法
  • 地址再定位
  • 存储共享与存储保护
  • 虚拟内存
    • 页面淘汰算法

3.地址空间

  • 内存
  • 物理地址:内存中存储单元的地址
  • 逻辑地址:相对某个基准量的相对地址
  • 地址再定位:逻辑地址→物理地址
二、程序的装入

1.程序装入技术:从外存装入内存

  • 绝对装入/固定地址再定位
  • 可重定位装入
    • 静态地址再定位
    • 动态地址再定位

2.静态地址再定位

  • 在程序装入时、执行前 进行地址再定位,由装配程序完成
  • 把逻辑地址修改 为物理地址(加上内存中的起始地址),之后不再改变
  • 优点:不需硬件支持
  • 缺点
    • 程序装入内存后不能移动(因为装入完成后地址不再修改)
    • 一个程序占用连续内存空间
    • 不易实现共享

3.动态地址再定位

  • 在程序装入后不修改逻辑地址,运行中 才进行地址变换,由硬件地址映射机制完成,需要重定位寄存器 支持
  • 优点:程序占用的空间动态可变
    • 可以移动
    • 可以不连续
    • 可以共享
  • 缺点
    • 需要硬件支持
    • 实现存储管理的软件算法复杂
三、内存分配存储管理方式

1.单道连续存储管理:单道程序环境

  • 内存分为两个区域:系统区和用户区,单道程序占用整个用户区

2.分区存储管理:多道程序系统和分时系统

  • 固定分区分配

    • 内存分为多个固定大小的连续分区,每个分区装一道程序
    • 实现:分区使用表
    • 分类
      • 分区大小相等
      • 分区大小不等
    • 缺点
      • 大程序放不下
      • 小程序带来内碎片
      • 分区总数限制并发数
      • 无法动态扩充内存
  • 动态分区分配

    • 程序装入时按需创建并分配相应大小的分区
    • 实现:已分配区表、未分配区表:链表
    • 分区分配算法
      • 首次适应 First fit
      • 临近适配 Next fit
      • 最佳适配 Best fit
      • 最差适配 Worst fit
    • 分区回收方法:合并
    • 缺点
      • 内存管理复杂
      • 外碎片问题
    • 解决方法
      • 可重定位分区:紧凑技术
      • 多重分区:非连续存储
  • 可重定位分区:紧凑

    • 将多个空闲分区拼成大分区
  • 多重分区:非连续存储

    • 将程序分块,放到各个空闲分区里
  • 伙伴系统

四、覆盖与交换技术
  • 覆盖技术:一个作业的若干程序段,或几个作业的某些部分共享某一个存储空间。

  • 交换技术:系统将内存中某些进程暂时移到外存,把外存中某些进程换进内存,占据前者所占用的区域。

五、分页存储管理
  • 基本思想
    • 将逻辑地址空间划分为页面(连续)
    • 将物理内存空间划分为页帧/块(离散)
    • 页面=页帧/块
  • 页表:长度和首地址放在PCB中
    • 页号:逻辑地址空间的页号(连续):0、1、2……
    • 块号:内存空间块号(离散):5、65、13……
    • 其他
  • 地址结构:页号+偏移量
    • 前一部分为页号P(逻辑,连续)
      • bit位数:计算最大页数,如20位:最多1M个页
    • 后一部分为偏移量W,即页内地址
      • bit位数:计算每页大小,如12位:页面大小4KB
  • 地址变换机构:通过查页表,把地址中的页号转换为块号
  • 快表
    • 地址变换过程:访问2次主存:访问主存中页表+访问主存
    • 引入快表:访问1次主存:查快表+访问主存

计算:引入快表后,给定命中率,求平均存取时间

  • 多级页表
    • 地址结构:外部页号P1+外部页内地址P2+页内地址d
    • 例:计算题
      • 逻辑地址为32bit,页面大小为4KB(12bit)
      • 则共有32bit-12bit=20bit=1M个页面=1M个页表项
      • 1个页表项1B,则页表大小为1MB
      • 将1MB页表分为1K×1KB,故外页表的页表项为1K=10bit=1024个,外层页表页内地址也为10bit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值