操作系统——第五章 存储器

本文详细探讨了计算机存储器的多层结构,包括CPU寄存器、高速缓存、主存储器和辅助存储,以及程序的装入与链接过程,如绝对装入、可重定位装入和动态运行时装入,以及链接的静态、装入时动态和运行时动态三种类型。
摘要由CSDN通过智能技术生成

一.存储器的多层结构

通用存储器的三层存储层次——最高层 CPU存储器 中间层 主存储器 最低层 辅助存储器(简称辅存)

高档计算机的存储层次细分六层——寄存器、高速缓存、(CPU存储器

主存储器、磁盘缓存、(主存储器

以上均属于OS存储管理的管辖范畴,断电后它们所存储的信息将不再存在


固定磁盘、可移动存储介质(辅助存储器属于设备管理的管辖范畴,所存储的信息会长期保存

注意:在存储层次中,层次越高(越靠近CPU),存储介质的访问速度越快,价格越高,所配置的存储容量越小。

二.可执行存储器——寄存器和主存储器

寄存器——CPU内部的一些小型存储区域,用于暂时存放参与运算的指令、数据和运算结果等内容。优点:访问速度最快,完全能与CPU协调合作  缺点:价格昂贵,容量不能做得很大(早期存储器只有几个,且寄存器长度只有8位)

主存储器——简称主存或内存,用于保存进程运行时的程序和数据,是计算机系统中的主要部件。

处理机的运行——从内存中获得指令和数据,其中指令放在指令寄存器中,数据装入数据寄存器

或者将寄存器的指令放入内存。

高速缓存——介于寄存器和内存之间的存储器,它是现代计算机结构的一个重要部件,主要用于备份内存中较常用的数据,以减少处理机对内存的访问次数,以便大幅度提高程序执行速度。其中,紧靠CPU的一级高速缓存的速度最高,但容量最小;二级高速缓存的容量稍大,速度稍低。

磁盘缓存——主要用于暂时存放频繁使用的一部分磁盘数据,以减少访问磁盘的次数。它并不是一种实际存在的存储器,而是利用内存中的部分存储空间,暂时存放从磁盘中读出或写入的信息。数据必须先存在内存中才能输出到辅存。大容量辅存通常会采用磁盘,磁盘数据经常会备份到磁带或可移动磁盘组,以防止磁盘故障丢失数据。

三.程序的装入与链接

处理用户程序的三个步骤——编译、链接、装入

装入模块装入内存的三种装入方式——绝对装入方式、可重定位装入方式、动态运行时装入方式

绝对装入方式——用于计算机系统很小且仅能运行单道程序时。它可按照单独装入模块中的地址,将程序和数据装入内存,在装入内存后,无须对程序和数据的地址进行修改。(通常会选择在程序中采用符号地址,然后编译或汇编时,将符号地址变换为绝对地址)

可重定位装入方式静态重定位——地址变换在进程装入时一次性完成,之后不再改变)——用于多道程序环境下,能够预知经编译后所得到的目标模块应放在内存的何处。其中,装入模块中的逻辑地址与实际的物理地址不同,故应进行数据地址和指令地址的修改。

动态运行时装入方式(需要重定位寄存器支持)——用于多道程序环境,程序运行过程中在内存中的位置经常要改变的情况。动态运行程序时,并不会把装入模块中的相对地址变为绝对地址,而是会把这种地址变换推迟到程序真正执行时才进行,故装入内存后的所有地址仍是相对地址。

根据链接时间不同,划分三种链接——静态链接、装入时动态链接、运行时动态链接

静态链接——先进行链接之后不再拆开。需解决的两个问题——修改相对地址、变换外部调用符号

装入时动态链接——边装入边连接。 优点——便于修改和更新、便于实现对目标模块的共享

运行时动态链接——将对某些模块的链接推迟到程序执行时才进行,即凡在执行过程中未被用掉的目标模块,都不会被调入内存和被连接装入模块。 优点——加快程序的装入过程,节省大量内存空间。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白上线*^_^*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值