一.存储器的多层结构
通用存储器的三层存储层次——最高层 CPU存储器 中间层 主存储器 最低层 辅助存储器(简称辅存)
高档计算机的存储层次细分六层——寄存器、高速缓存、(CPU存储器)
主存储器、磁盘缓存、(主存储器)
以上均属于OS存储管理的管辖范畴,断电后它们所存储的信息将不再存在
固定磁盘、可移动存储介质(辅助存储器)属于设备管理的管辖范畴,所存储的信息会长期保存
注意:在存储层次中,层次越高(越靠近CPU),存储介质的访问速度越快,价格越高,所配置的存储容量越小。
二.可执行存储器——寄存器和主存储器
寄存器——CPU内部的一些小型存储区域,用于暂时存放参与运算的指令、数据和运算结果等内容。优点:访问速度最快,完全能与CPU协调合作 缺点:价格昂贵,容量不能做得很大(早期存储器只有几个,且寄存器长度只有8位)
主存储器——简称主存或内存,用于保存进程运行时的程序和数据,是计算机系统中的主要部件。
处理机的运行——从内存中获得指令和数据,其中指令放在指令寄存器中,数据装入数据寄存器中
或者将寄存器的指令放入内存。
高速缓存——介于寄存器和内存之间的存储器,它是现代计算机结构的一个重要部件,主要用于备份内存中较常用的数据,以减少处理机对内存的访问次数,以便大幅度提高程序执行速度。其中,紧靠CPU的一级高速缓存的速度最高,但容量最小;二级高速缓存的容量稍大,速度稍低。
磁盘缓存——主要用于暂时存放频繁使用的一部分磁盘数据,以减少访问磁盘的次数。它并不是一种实际存在的存储器,而是利用内存中的部分存储空间,暂时存放从磁盘中读出或写入的信息。数据必须先存在内存中才能输出到辅存。大容量辅存通常会采用磁盘,磁盘数据经常会备份到磁带或可移动磁盘组,以防止磁盘故障丢失数据。
三.程序的装入与链接
处理用户程序的三个步骤——编译、链接、装入
装入模块装入内存的三种装入方式——绝对装入方式、可重定位装入方式、动态运行时装入方式
绝对装入方式——用于计算机系统很小且仅能运行单道程序时。它可按照单独装入模块中的地址,将程序和数据装入内存,在装入内存后,无须对程序和数据的地址进行修改。(通常会选择在程序中采用符号地址,然后编译或汇编时,将符号地址变换为绝对地址)
可重定位装入方式(静态重定位——地址变换在进程装入时一次性完成,之后不再改变)——用于多道程序环境下,能够预知经编译后所得到的目标模块应放在内存的何处。其中,装入模块中的逻辑地址与实际的物理地址不同,故应进行数据地址和指令地址的修改。
动态运行时装入方式(需要重定位寄存器支持)——用于多道程序环境,程序运行过程中在内存中的位置经常要改变的情况。动态运行程序时,并不会把装入模块中的相对地址变为绝对地址,而是会把这种地址变换推迟到程序真正执行时才进行,故装入内存后的所有地址仍是相对地址。
根据链接时间不同,划分三种链接——静态链接、装入时动态链接、运行时动态链接
静态链接——先进行链接之后不再拆开。需解决的两个问题——修改相对地址、变换外部调用符号
装入时动态链接——边装入边连接。 优点——便于修改和更新、便于实现对目标模块的共享
运行时动态链接——将对某些模块的链接推迟到程序执行时才进行,即凡在执行过程中未被用掉的目标模块,都不会被调入内存和被连接装入模块。 优点——加快程序的装入过程,节省大量内存空间。