当前位置:文档之家› 虚拟存储器ppt

虚拟存储器ppt

缺点:
(1)地址变换所花费的时间比较长。 (2)主存储器的利用率往往比较低。 (3)对辅存(磁盘存储器)的管理比较困难。
-
3.页式虚拟存储器
页式存储器把虚拟地址空间划分成一个个固定大小的块,每块称为 一页,把主存储器的地址空间同样的大小划分成为页。页是一种逻辑 上的划分,它可以由系统管理软件任意指定。一般的大小通常为1KB 至16KB。
-
段页式虚拟存储器的地址映象
0段(12K) 1段(10K)
每页4KB
页表长度 页表地址
3 3 2
段表
2段(5K)
用户程序
0段0页 0段1页 0段2页
1段0页 1段1页 1段2页
2段0页 2段1页 页表
主存储器
-
优点:缩短页表的存储容量,加快地址映象和变换的速度,因为主存 实地址只需要把页表中的实页号虚拟地址中的业内偏移拼接起来即可, 不必进行任何计算。
常用的页面替换算法有如下几种:
-
(1)随机算法(RAND算法) 利用软件或硬件的随机数发生器来确定主存储器中被替换的页面。
这种算法最简单,而且容易实现。但是这种算法完全没有利用主存储 器中页面调度情况的历史信息,也没有反应程序的局部性,所以命中 率比较低。
(2)先进先出算法(FIFO算法) 这种算法选择最先调入主存储器的页面作为被替换的页面。它的
优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息, 但是,没有反应程序的局部性。因为最先调入主存的页面,很可能也 是经常要使用的页面。
-
FIFO算法的图表说明:
访问 页面
7
0
1
2
0
3
0
4
2
3
0
3
2
1
2
0
1
7
0
1
块1 7 7 7 2
224440
00
777
块2
00 0
333222
11
100
根据所采用的地址映像和地址变换方法不同,虚拟存储 器一般分为页式虚拟存储器、段式虚拟存储器和段页式虚拟 存储器三种。
-
2.段式虚拟存储器
段式虚拟存储器的基本思想是:按照程序的逻辑结构划分段,主存以段为
单位进行分配。由于段是按照程序的自然边界划分的,因此每个段的长度各
不相同,并且程序员通常还会把不同类型的数据划分到不同的段中。
缺点:
(1)程序的模块化性能不好。 (2)页表很长,需要占用很大的存储空间。
-
4.段页式虚拟存储器 基本思想:对用户用来编写程序的虚拟存储空间采用分
段的方法管理,而对主存储器的物理空间采用分页的方法管 理。段页式虚拟存储器一方面具有段式虚拟存储器的主要优 点,另一方面也具有页式虚拟存储器的主要优点。
-
但是,这种算法实现起来非常的困难。它要为每个页面设置一个很长的计数
器,并且要选择一个固定的时钟为每个计数器定时计数。在选择被替换页面
时,要从所有计数器中找出一个计数值最大的计数器。
访问 页面
7
0
1
2
0
3Leabharlann 0423
0
3
2
1
2
0
1
7
0
1
块1 7 7 7 2
2
4440
1
1
1
块2
000
0
0033
3
0
0
块3
在虚拟存储器中,虚拟地址空间中的页称为虚页,主存地址空间的 页称为实页。
-
页式虚拟存储器的地址映像
0页 1页 2页 3页 … 用户程序
页号 主存页号 0 1 2 3 页表
主存储器
-
页式虚拟器的地址变换
-
优点:
(1)主存储器的利用率比较高。 (2)页表相对比较简单。 (3)地址映像和变换的速度比较快。 (4)对辅存(磁盘存储器)的管理比较容易。
11
3
3222
2
2
7
是否


√√√√



缺页
(4)最久没有使用算法(LFU算法)
这种算法把近期最久没有被访问过的页面作为被替换的页面。它把LRU 算法中要记录数量上的“多”与“少”简化成判断“有”与“无”,因此,
-
实现起来比较容易。
(5)最优替换算法(OPT算法)
上面介绍的几种页面替换算法主要是以主存储器中页面调度情况 的历史信息为依据的,它假设将来主存储器中页面调度情况与过去一 段时间内的情况是相同的,这种替换算法的命中率是最高的。要实现 OPT算法,唯一的办法是让程序先执行一遍,记录下实际的页地址流 情况。根据这个页地址流才能找出当前要被替换的页面。OPT算法是 一种理想化的算法,经常把这种算法用来作为评价其他页面替换算法 好坏的标准。
-
地址映像是把虚拟地址空间映像到主存地址空间,具体 地说,就是把用户用虚拟地址编写的程序按照某种规则装入 到主存储器中,并建立多用户虚地址与主存实地址之间的对 应关系。而地址变换则是在程序被装入主存储器之后,在实 际运行时,把多用户虚地址变换成主存实地址(内部地址变 换)或磁盘存储器地址(外部地址变换)。
块3
11
100033
32
221
是否

√√√√√√
√√
√√√
缺页
(3)近期最少使用算法(LRU算法)
这种算法选择近期最少访问的页面作为被替换的页面。这是一种很合理的算 法,因为到目前为止最少使用的页面,很可能也是将来最少访问的页面。该算法 既充分利用了主存中页面调度算法情况的历史信息,又正确反映了程序的局部性。
0
0
主主程程序序((00段段))
段号
段长 起始地址
1K
0
1K
8K
8K
0
01
510K0
186KK
9K
11段段 500
2
200
9K
16K
0 22段段
200
0 33段段
200
程序空间
3
200
30K
段表
30K
主存储器
段式虚拟存储器的地址映像
-
段式虚拟存储器的地址变换
-
优点:
(1)程序的模块化性能好。 (2)便于程序和数据的共享。 (3)程序的动态链接和调度比较容易。 (4)便于实现信息保护。
段页式虚拟存储器中,要从主存储器中访问一个数据,需要查两次 表,一次是页表,另一次是段表。如果段表和页表都在主存储器中的, 则要访问主存储器三次。
-
5.页面替换算法及其实现
在虚拟存储器中,当发生页面失效时,需要从磁盘存储器中调入 一页(或一段)到主存储器中。由于主存空间的局限性,必然会出现 当主存中所有页面都已经被占用,或者所有主存空间都已经被占用, 而又要从磁盘存储器中调入新页(或新段)的情况。这时,必然从主 存储器中淘汰掉一个不常用的页面(或程序段),以便腾出主存空间 来存放新调入的页面(或程序段)。那么,按照什么样的规则替换主 存储器中的页面(或程序段)呢?这就是页面替换算法要解决的问题。
-
3.2 虚拟存储器
虚拟存储器又称虚拟存储系统,或虚拟存储体系等。虚 拟存储器是由主存储器和联机工作的外部存储器共同组成。 联机工作的外部存储器通常为磁盘存储器,它的存储容量很 大,与主存储器相比,速度很低,单位容量的价格很便宜。 1.地址的映像与变换
在虚拟存储器中有三种地址空间:虚拟地址空间、主存 地址空间、辅存地址空间。
相关主题