注:首先了解存储部件的层次结构是什么有什么好处以及程序进内存的过程:编译compiler-》链接程序-》装入程序
主存:保存进程运行时的程序和数据 寄存器:速度最快,价格昂贵容量不大,一般以字为单位,只要存放指令一次操作的数据就够了 。 高速缓存 一种速度比内存快的存储设备,一般同寄存器一样集成在CPU中。 存放内存的部分拷贝,把常用的数据放这里可以提高速度
逻辑地址(相对地址,虚地址) 用户的程序经过汇编或编译后形成目标代码,目标代码中的指令地址是相对地址。 一般首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息
物理地址(绝对地址,实地址) 内存中存储单元的地址。 物理地址可直接寻址被执行。
地址映射: 将用户程序中的逻辑地址转换为运行时由机器直接寻址的内存物理地址的过程。 即:用户的第10字节处的指令在内存的第多少地址上。
逻辑地址 ====== 物理地址: ① 绝对装入方式(absolute loading) 逻辑地址 -》重定位-》 物理地址: ① 静态可重定位装入方式(relocatable loading mode) ② 动态运行时(重定位)装入方式(dynamic run-time loading)
① 静态链接:装入运行前将多个目标模块及所需库函数链接成一个整体,以后不再拆开。 ② 装入时动态链接:装入内存时,边装入边链接的链接方式。 ③ 运行时动态链接:对某些目标模块的链接,在执行中需要该目标模块时,才对它进行链接。
① 首次适应算法FF 优点:优先利用内存低址部分,保留了高地址部分的大空闲区; 缺点:但低址部分不断划分,会产生较多小碎片;而且每次查找从低址部分开始,会逐渐增加查找开销。
② 循环首次适应算法 优点:空闲分区分布均匀,减少查找开销 缺点:缺乏大的空闲分区
③ 最佳适应算法 优点:总是把能满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。 缺点:每次找到最合适大小的分区割下的空闲区也总是最小,会产生许多难以利用的小空闲区(外碎片)
④ 最差适应算法 基本不留下小空闲分区,但会出现缺乏较大的空闲分区的情况。
⑤ 快速适应算法 能快速找到合适分区,但链表信息会很多;实际上是空间换时间
1.分页系统的地址变换机构:
2.具有快表的分页系统的地址变换机构:
3.具有具有两级页表的分页系统的地址变换机构:
4.分段存储的地址变换机构 5.段页式地址变换机构
