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

计算机操作系统——存储器管理

系列文章目录

1.存储器的层次结构

2.程序的装入和链接

3.连续分配存储管理方式(内存够用)

4.对换(Swapping)(内存不够用)

5.分页存储管理方式

6.分段存储管理方式


文章目录

  • 系列文章目录
  • 前言
  • 一、存储器的存储结构
  • 寄存器:
  • 高速缓存:
  • 主存储器:
  • 磁盘缓存:
  • 总结


前言

     根据我们前面讲的操作系统的内容,说白了这章我们处理的就是作业来了放哪里?存储器历来都是计算机系统的重要组成部分。近年来,随着计算机技术的发展,系统软件和应用软件在种类、功能上都急剧地膨胀,虽然存储器容量一直在不断扩大,但仍然不能满足现代软件发展的需要。因此,存储器仍然是一种宝贵而又稀缺的资源。如何对它加以有效的管理,不仅直接影响到存储器的利用率,而且对系统性能也有重大影响。存储器管理的主要对象是内存。由于对外存的管理与对内存的管理相类似,只是它们的用途不同,即外存主要用来存放文件,所以我们把对外存的管理放在文件管理一章介绍,下面我也稍微讲点外存。


一、存储器的存储结构:

     在计算机执行时,几乎每条指令都涉及对存储器的访问,因此要求对存储器的访问速度能跟上处理机的运行速度。或者说,存储器的速度必须非常快,能与处理机的速度相匹配,否则会明显影响到处理机的运行。此外还要求存储器具有非常大的容量,而且存储器的价格还应很便宜,对于这样十分严格的三个条件,目前是无法同时满足的。于是,现代计算机系统中都无一例外地采用了多层结构的存储器系统。

    1.多层结构的存储器系统:

     对于通用计算机而言,存储层次至少具有三级:最高为CPU寄存器,中间是主存,最底层是辅存。在存储层次中,层次越高(越靠近CPU),存储介质的访问速度越快,价格也越高,相对所配置的存储容量也越小。其中,寄存器,高速缓存,主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴,掉电后它们存储的信息不再存在。而低层的固定磁盘和可移动存储介质则属于设备管理的管辖范畴,它们存储的信息将被长期保存。

            

       

 寄存器(Registers)​

  • ​定义与位置​​:
    寄存器是CPU内部的一小部分存储单元,直接集成在处理器中,是计算机系统中​​速度最快​​的存储介质。
  • ​特点​​:
    • ​容量极小​​:通常每个寄存器仅存储几个字节(如32位或64位)。
    • ​速度极快​​:访问延迟为纳秒级,与CPU时钟同步。
    • ​专用性​​:用于存储当前执行的指令、操作数或地址(如程序计数器、指令寄存器等)。
  • ​管理方式​​:
    • 由​​编译器或操作系统​​在程序执行时直接管理,通过指令集架构(ISA)暴露给程序员或操作系统。
    • 在​​上下文切换​​时,操作系统需要保存和恢复寄存器的状态。

      

高速缓存(Cache)​

  • ​定义与位置​​:
    高速缓存(Cache)是介于寄存器和主存之间的存储器,通常分为多级(L1、L2、L3),位于CPU芯片内部或附近。
  • ​特点​​:
    • ​速度较快​​:访问速度接近寄存器(L1 Cache延迟约1-3个时钟周期)。
    • ​容量有限​​:L1 Cache通常为KB级(如32KB-64KB),L3 Cache可达MB级。
    • ​透明性​​:对程序员透明,由硬件自动管理。
  • ​作用​​:
    • 利用​​局部性原理​​(时间局部性、空间局部性)缓存最近使用的内存数据,减少CPU访问主存的次数。
    • 缓解CPU与主存之间的速度差异(​​“内存墙”​​问题)。
  • ​管理方式​​:
    • 由硬件(如缓存控制器)自动完成数据的加载、替换(如LRU算法)和一致性维护(如MESI协议)。
    • 操作系统可能需要处理​​缓存一致性​​问题(尤其在多核系统中)。

主存储器(Main Memory,RAM)​

  • ​定义与位置​​:
    主存储器(内存)是计算机的​​核心工作存储区域​​,由动态随机存取存储器(DRAM)构成,通过总线与CPU连接。
  • ​特点​​:
    • ​速度中等​​:访问延迟约几十到几百纳秒。
    • ​易失性​​:断电后数据丢失。
    • ​容量较大​​:现代计算机内存通常为GB级(如8GB-128GB)。
  • ​作用​​:
    • 存储​​当前正在运行的程序和数据​​,供CPU直接读写。
    • 作为高速缓存和磁盘之间的中转站。
  • ​管理方式​​:
    • 操作系统负责​​内存分配、回收、虚拟内存管理​​等。
    • 通过分页、分段等技术实现进程隔离和内存保护。

磁盘缓存(Disk Cache)​

  • ​定义与位置​​:
    磁盘缓存是主存储器(内存)中预留的一部分区域,用于缓存频繁访问的磁盘数据。
  • ​特点​​:
    • ​非易失性无关​​:数据仍存储在易失性内存中,但缓存的是非易失性磁盘的数据。
      ​容量灵活​​:大小由操作系统动态调整(如Linux的Page Cache)。
  • ​作用​​:
    • 减少直接访问磁盘的次数,提升I/O性能(磁盘访问延迟为毫秒级)。
    • 合并多次小写操作,优化磁盘写入效率。
  • ​管理方式​​:
    • 由操作系统文件系统管理(如Linux的pdflush机制)。
    • 使用​​回写(Write-back)​​或​​直写(Write-through)​​策略保证数据一致性。

     总结:反正我们要知道的就是磁盘中保存的数据一定是永久的,但主存储器当中的是临时的,就是断电以后数据就会消失了。

高速缓存容量远大于寄存器,而比内存约小两到三个数量级左右,从几十KB到几MB,访问速度快于主存储器。

还有对于磁盘缓存来说,一个文件的数据可能先后出现在不同层次的存储器中,例如,一个文件的数据通常被存储在辅存中(如硬盘),当其需要运行或被访问时,就必须调入主存,也可以暂时存放在主存的磁盘高速缓存中。


总结

    以上就是我们要讲的内容,就是我们简单的分析了存储器的存储层次结构,下面我们会讲内存的分配方式,我会持续更新的。

相关文章:

  • Android 日志输出模块
  • 现在AI大模型能帮做数据分析吗?
  • ScholarCopilot:“学术副驾驶“
  • 【数据结构】励志大厂版·初阶(复习+刷题):复杂度
  • SpringBoot条件注解全解析:核心作用与使用场景详解
  • STM32 HAL库 ADC+TIM+DMA 3路 1S采样一次电压
  • C++对象池设计:从高频`new/delete`到性能飞跃的工业级解决方案
  • pycharm中调试功能讲解
  • PGAdmin下载、安装、基础使用
  • Oracle OCP知识点详解3:使用 vim 编辑文件
  • Web 前端技术解析:构建高效、动态的用户体验
  • qt中,父类中有Q_OBJECT,子类中还需要加Q_OBJECT吗
  • Shell的运行原理以及Linux当中权限问题
  • Flutter 文本组件深度剖析:从基础到高级应用
  • TGCTF web
  • SQL刷题日志(day1)
  • 狂神SQL学习笔记二:安装MySQL
  • DeepSeek AI大模型:中国智能时代的“争气机“-AI生成
  • Python实例题:Python自动获取小说工具
  • 如何将一个8s的接口优化到500ms以下
  • 外交部亚洲司司长刘劲松向菲方严肃交涉
  • 人到中年为何腰围变粗?科学家发现腹部脂肪增加的细胞元凶
  • 千亿市值光储龙头董事长向母校合肥工业大学捐赠1亿元
  • 普京发表声明感谢协助俄军收复库尔斯克州的朝鲜军人
  • 监狱法修订草案提请全国人大常委会会议审议
  • 上海首个航空前置货站落户松江综合保税区,通关效率可提升30%