分享免费的编程资源和教程

网站首页 > 技术教程 正文

其实你看到的计算机内存并没那么大,内存的虚拟部分是怎么样的呢

goqiw 2024-10-05 19:05:45 技术教程 17 ℃ 0 评论

连续分配方式和基本分页分段方式都要求作业全部装入内存后方能运行,但是会产生两种问题。第一种会导致有的作业很大,要求的内存空间超过内存总容量,作业不能全部装入,导致无法运行。第二种会有大量作业要求运行,但由于内存容量不足以容纳所以作业,会让大量作业在外存等待。这两种情况本质上都是内存大小不足导致的。由于物理上增加内存,往往受限于机器自身,此种方法受到一定的限制。另一种方法则是从逻辑上扩充内存容量,这正是开发虚拟存储技术的目的。

在说虚拟存储器之前,不得不提一下程序局部性原理。就是在一个较短的时间内,程序的执行仅局限于某个部分;相应的,它所访问的存储空间也局限于某个区域。

基于局部性原理,应用程序在运行之前,没有必要全部装入内存,仅须将当前要运行的少数页面或段先装入内存便可运行,其余部分仍留在内存盘上。程序在运行时,只将需要访问的页调入内存,如果页或者段尚未调入内存,程序利用OS所提供的请求调页功能,将它们调入内存。所以,所谓的虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

虚拟存储器通过分页请求系统和请求分段系统实现的:

分页请求系统,是建立在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。这个系统可以在装入少数页面的情况下,启动运行。之后在通过调页功能及页面置换功能,将即将运行的页面调入内存。需要请求分页的页表机制、缺页中断机制的硬件支持,还需要实现请求调页和页面置换的软件。

请求分段系统,是建立在分段系统的基础上,增加了请求调段及分段置换功能后所形成的段式虚拟存储系统。允许装入少数段就能运行,以后在通过调段功能和段的置换功能调进即将运行的段。同样需要请求分段的段表机制、缺段中断机构和地址变换机构。

虚拟存储器具有多次性、对换性和虚拟性三大主要特征:多次性是指一个作业被分成多次调入内存运行,不必一次全部装入内存。对换性是指允许作业在运行过程中进行换进换出,将即将使用和暂时不用的数据和程序,在内存和外存之间换进换出。虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。

下一篇文章就会详细介绍虚拟存储系统的两大存储方式。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表