多级存储器结构:
CPU寄存器,主存(这两个时可执行存储器,在时钟周期内使用指令进行访问,是电子动作),辅存(通过I/O设备实现访问,是I/O动作)
CPU寄存器:寄存器
主存:高速缓存、主存、磁盘缓存
(上面两个由OS管理,断电信息则丢失)
辅存:磁盘、可移动存储介质
从上往下、从左往右容量依次由小到大,速度依次由快到慢
程序的装入和链接
编译:由编译程序将用户源代码编译成若干个目标模块
链接:由链接程序将目标模块以及它们所需的库函数链接在一起,形成一个完成的装入模块
装入:由装入程序将装入模块装入内存
物理地址(绝对地址):计算机内存单元的真是地址
内存空间:物理内存时个程序共享的物质基础,由0~(m-1)个物理地址组成
逻辑地址(相对地址):用户的程序地址
逻辑空间:程序地址均从“0”开始
程序的装入:
1.绝对装入方式:将目标模块整体装入到内存中实现指定的位置;
前提:知道程序将驻留在内存的哪个地方
即程序中的逻辑地址与实际内存地址完全相同
缺点:只适用于单道程序环境;要求程序员熟悉内存的使用情况
2.静态可重定位装入方式:可根据内存的情况将装入模块一次性整体装入到适当位置
静态重定位:装入内存时,地址映射一次完成,运行过程中不能移动位置,利用率低
动态重定位:执行期间进行地址映射,运行过程中可移动位置;需附加硬件支持
3.动态运行时装入方式:装入时若发生一个外部模块调用事件,将找出相应的外部目标模块装入内存,并修改相对地址。便于修改和更新;未装入内存前,修改或更新目标模块比较容易;便于实现对目标 模块的共享