当前位置: 首页 > ai >正文

os梳理5——第五章:存储器管理

  • 翻书整理非ai,可能存在不严谨的地方~~

    • 一:存储器层次结构

      • 最高:cpu寄存器(在cpu内部)

      • 中间:主存储器

      • 最低层:辅助存储器

    • 二:程序的装入与链接

      • 地址绑定

        • 概念:
        • 将程序中的逻辑地址转换为物理内存地址的过程

        • 在编译时绑定
          • 缺点:只适用于早期单道批,只能将程序加载到固定内存位置;程序无法移动

          • 优点:执行速度快

        • 在装入时绑定
          • 优点:可以加载到内存的任何可用位置

          • 缺点:多道灵活性仍然受限

        • 在运行时绑定(动态重定位)
      • 内存保护

        • 概念:
        • 确保每个进程只能访问自己分配的内存区域,防止进程间相互干扰

        • 典型内存保护错误示例
          • 总线错误

            • 访问了物理不存在的内存

          • 堆栈溢出

            • 通常由无限递归或者超级大的局部变量引起

          • 段错误

            • 因为访问了未分配,权限不足的内存

      • 程序的装入

        • 绝对装入方式
          • 产生绝对地址

          • 单道

        • 可重定位装入方式(静态重定位)
          • 会使装入模块种所以的逻辑地址转换为物理地址

          • 地址变换一次性完成,以后不再改变

          • 单道

        • 动态运行时装入方式
          • 多道

          • 程序装入时不立刻转换地址

          • 运行时需要用重定位寄存器转换

      • 程序的链接

        • 静态链接
          • 运行前链接

          • 形成完整可执行文件

          • 占用空间大,更新困难

        • 装入时动态链接
          • 边装入边链接

          • 装入时间长

          • 便于实现模块更新共享

        • 运行时动态链接
          • 运行时链接

          • 节省内存

          • 灵活高效

    • 三:对换与覆盖

      • 对换

        • 暂时不用的进程放到外存

        • 需要的进程放到内存

        • 有助于内存扩充

        • 空间管理:连续分配,提高换入换出效率

      • 覆盖

        • 程序的不同模块共享同一块内存区域

        • 适用于小内存系统

        • 需要更复杂的程序设计

    • 四:连续分配存储管理方式

      • 单一连续分配

        • 内存分为:系统区,用户区

        • 缺点:内存利用率低,只支持单任务

      • 固定分区分配

        • 内存划分为固定大小的分区,每个分区一个作业

        • 缺点:存在内存碎片

      • 动态分区分配

        • 根据作业大小动态创建分区

        • 常用分配算法

          • 首次适应

          • 最佳适应

          • 最坏适应

          • 临近适应

    • 五:离散分配存储管理方式

      • 分页存储管理

        • 特点

          • 将内存和进程划分为固定大小的页 / 页框

          • 通过页表实现从逻辑地址到物理地址的转换

          • 存在页内碎片,支持虚拟存储

        • 分类

          • 快表(TLB)

            • 作用

              • 存储最近访问的页表项

            • 作用效果

              • 加速地址转换的专用高速缓存

          • 多级页表

            • 作用

              • 解决大地址空间页表占用过多内存的问题

            • 例如

              • 二级页表,三级页表

      • 分段存储管理

        • 特点

          • 按逻辑单位划分,比如函数,数组

          • 支持共享保护

          • 存在外部碎片

      • 段页式存储管理

        • 特点

          • 兼具分段存储,分页存储的优点

          • 兼具二者特点

          • 先分段,段内再进行分页

          • 需要段表和页表共同完成地址转换

http://www.xdnf.cn/news/4321.html

相关文章:

  • 汽车免拆诊断案例|车辆行驶中急加速车身抖动故障排除 2 例
  • C# NX二次开发:投影曲线和偏置曲线UFUN函数详解
  • Redis--哈希类型
  • 深度学习中的autograd与jacobian
  • C++ 日志系统实战第四步:设计与代码实现详解
  • 从0开始学习大模型--Day03--Agent规划与记忆
  • “胖都来”商标申请可以通过注册不!
  • 如何应对客户在验收后提出新需求?
  • ESP32蓝牙开发笔记(十四)
  • Zsh + iTerm2搭配使用教学,非常舒服,macOS
  • 系统架构-云原生架构设计
  • 14前端项目----登录/注册
  • 【强化学习】#4 蒙特卡洛方法
  • leetcode 70.爬楼梯(c++详细最全解法+补充知识)
  • C++ 备忘录模式详解
  • NVM完全指南:安装、配置与最佳实践
  • 尤雨溪宣布:Vue 生态正式引入 AI
  • 医疗人工智能大模型中的关键能力:【中期训练】mid-training
  • android中的背压问题及解决方案
  • AOP封装进行批量的数据查询并填充
  • shell 脚本
  • Android学习总结之MMKV(代替SharedPreferences)
  • 黑电平校正(Black Level Correction, BLC)算法
  • 【C++】C++中this指针的介绍及使用
  • 实现引用计数线程安全的shared_ptr
  • 从Huggingface下载模型的方法小结
  • Linux如何安装AppImage程序
  • WHAT - Rust 静态派发(Static Dispatch)和 动态派发(Dynamic Dispatch)
  • 计算机视觉注意力机制【一】常用注意力机制整理
  • The Action Replay Process