1.虚拟存储器:是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
2.特征:
(1)多次性:是指一个程序和数据不需要在运行时一次性全部调入内存,而是仅把要运行的那部分调入内存,然后分多次把要运行的部分调入内存。
(2)对换性:系统允许将那些暂时不用的代码调出内存,需要时再从外存调回内存。
(3)虚拟性:是指从逻辑上扩充内存,使用户看起来感觉内存容量很大。
3.内存连续分配方式:
(1)静态连续分配:
1.1 单一连续分配: 适用于单道程序,因此内存中永远只有一道程序,所以随便分配。
1.2 固定分区分配:将内存划分成一个一个的小块分配,缺点:产生很多内部碎片,不能实现多进程共享一个主存区。
(2)动态分区分配:
2.1 首次适用算法 : 空闲分区以地址递增的次序链接,分配内存时顺序查找,找到大小能满足要求的第一个空闲分区。
2.2 最佳适用算法: 空闲分区按容量递增的方式形成分区链,找到第一个适用的分区。
缺点:会产生大量的外部碎片。
2.3 最坏适用算法 : 空闲分区以容量递减的次序链接,找到第一个能满足要求的空闲分区。
缺点: 会使大分区越来越少
2.4 邻近适用算法:分配内存时从上次查找结束的位置开始继续查找。
(3)非连续分配方式
基本分页存储管理
分页存储的几个基本概念:
(1)进程中的块称为页,内存中的块称为页框,或页帧,进程在申请内存时,会将自己的每一个页放到页框里,这就形成了页与页框的一一对应。
(2)地址结构,逻辑地址结构
前一部分为页号P,页内偏移量W。
(3)页表,为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,他记录页面在内存中对应的物理块号。
由逻辑地址A可以得到此逻辑地址的页号P(A / L(页面大小)),页面偏移量W 是 A % L,页号P对应的页表项地址为页表起始地址F + P * 页表项长度,得到的地址是页号P所对应的页表中的页表项的
物理地址,然后从这个物理地址中拿出块号b,A对应的物理地址E = b * L + W。
4.页面置换算法
(1)最佳置换算法 : 将那些以后永不使用或者使用少的页面置换掉,这个算法无法实现。(往后看)
(2)先进先出算法:优先淘汰最早进入内存的页面,即在内存中驻留时间最久的页面。(会出现Bledy异常)
(3)最近最久未使用置换算法:选择最近最久未使用的页面淘汰。(往前看)