存储结构层次

  • 从上到下:访问速度递减、容量递增、成本递减
层次速度容量成本典型技术
寄存器最快(ns)最小(字)最高CPU 内寄存器
Cache(高速缓存)快(ns)较小(MB)SRAM
主存(内存)中等(μs)中等(GB)DRAM
辅存(磁盘)慢(ms)大(TB)磁介质/SSD
磁带/archive最慢(s)最大(PB)最低磁带/光盘
  • 速度与成本矛盾:越快越贵,需通过分级存储实现性价比平衡
  • 局部性原理:程序执行时仅访问少数热点区域,可通过层次结构提供”大容量+高速度”的近似效果

为什么需要存储管理

  • 冯·诺依曼结构中,程序和数据必须在内存中才能被 CPU 执行
  • 存储器是珍贵资源,需合理使用
  • 程序的逻辑空间和物理空间不同,需映射

存储管理的主要任务

  • 内存分配和回收:进程创建时分配空间,撤销时回收
  • 地址映射(逻辑地址 → 物理地址):由 MMU(Memory Management Unit)完成
    • 地址重定位方式:绝对装入(编译时)、静态重定位(加载时)、动态重定位(执行时)
  • 内存保护:防止进程间串扰,防止用户程序跨越到系统空间
  • 内存扩充(虚拟内存):借助外存在逻辑上扩充内存
    • 覆盖技术(Overlay):程序员手动安排互斥代码段
    • 交换技术(Swapping):OS 自动将进程在内存和外存间换入换出
    • 虚拟存储:基于局部性原理,按需调入页面,缺页中断处理

地址重定位方式

方式时机特点典型应用
绝对装入编译时地址一一对应,简单但灵活性差单片机、早期 DOS
静态重定位加载时装入时修改地址值,执行期间不变需连续存储
动态重定位执行时逻辑地址不变,访问时映射(基址+偏移)现代 OS,支持页式/段式/虚拟存储