什么是虚拟存储器?它的原理是是什么?

2024-07-27 17:59:19
推荐回答(3个)
回答1:

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成禅吵型多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

原理:

①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。 

②如该组号已在主存内,则转而执行;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。 

③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。 

④从地址变换碰知表读出与逻辑组号a对应的物理组号a。

⑤从物理组号a和组内字节地址b得到物理地址。

⑥根据物理地址从主存中存取必要的信贺猜息。

扩展资料:

虚拟内存的关键问题:

(1)调度问题:决定哪些程序和数据应被调入主存。

(2)地址映射问题:在访问主存时把虚地址变为主存物理地址(这一过程称为内地址变换);在访问辅存时把虚地址变成辅存的物理地址(这一过程称为外地址变换),以便换页。此外还要解决主存分配、存储保护与程序再定位等问题。 

(3)替换问题:决定哪些程序和数据应被调出主存。 

(4)更新问题:确保主存与辅存的一致性。

在操作系统的控制下,硬件和系统软件为用户解决了上述问题,从而使应用程序的编程大大简化。

参考资料来源:百度百科-虚拟内存

回答2:

虚拟存储器的概念为解决内存小而作业大、作业多的矛盾,以及执行过程中只是把当前运行需要的那部分程序和数据装入内存。

原理:中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。

如该组号已在主存内,则转而执行;如果该组号不在主存内,则检查主存中是否有空闲区,如果悉困没有,便将某个暂时不用的组调睁姿念出送往辅存,以便将这组信息调入主存。

虚拟存储器

源出于英国ATLAS计算机的一级存储器概念。这种系统的主存为16千字的磁芯存储器,但中央处理器可用20位逻辑地址对主存寻址。到1970年,美国RCA公册森司研究成功虚拟存储器系统。IBM公司于1972年在IBM370系统上全面采用了虚拟存储技术。虚拟存储器已成为计算机系统中非常重要的部分。

以上内容参考:百度百科-虚拟存储器

回答3:

虚拟存储器的概念 为解决内存小而作业大、作业多的矛盾, 以及执行过程中只是把当前运行需要的那宽羡部分程序和数据装入内存。 所以,操作系统把各级存储器统一管理起来。就是说, 应该把一个程序当前正在使用的部分放在内存, 而其余部分放在磁盘上,就启动执行它。操作系统根据程序执行时的要求和内存的实际使用情况, 随机地对每个程序进行换入/换出。 这样, 就给用户提供一个比正式的内存空间大的多的地址空间, 这就是虚拟存储器。所谓虚拟存储器是用户能作为可编址内存对待的存储空间, 在这种计算机系统中虚地址被映射成实地址。简单地说,虚拟存储器:是由操作系统提供的一个假想的特大存储器。就是说指枣, 虚拟存慎逗拍储器并不是实际的内存,它的大小比内存空间大的多; 用户感觉所能使用的“内存”非常大, 但这是操作系统对物理内存的扩充。 它的物质基础是:二级存储器结构、和动态地址转换(DAT)。 机构虚拟存储器的基本特征: 虚拟扩充。 虚拟存储器不是物理上扩充内存空间, 而是逻辑上扩充了内存容量。 部分装入。 每个作业不是全部一次的装入内存, 而是分成若干部分。 离散分配。 一个作业分成多个部分,没有全部装入内存。 即使装入内存的那些部分也不必占用连续的内存空间, 而是“见缝插针”。 多次对换。 在一个进程运行期间, 它所需的全部程序和数就要分成多次调入内存。 注意: 虚拟存储器的容量虽然提供了特大的地址空间, 用户在编程时一般不应考虑可用空间有多大。 但是, 虚拟存储器的容量不是无限大的。 它主要受两方面的限制:(1)机器指令中表示地址的二进制数是有限的;(2)外存的容量也是有限的。