认识---虚拟内存

news/2024/10/23 8:38:30/

内存 = 物理内存 = 真正的内存 = 真实插在板子的内存多大

虚拟内存 = 为满足内存容量不足需求 -> 在外存(硬盘)开辟空间

一个程序想要运行,必须运行在真实的物理内存之上。

所以必须在虚拟内存地址和物理内存地址之间建立一种映射关系。

虚拟内存的意义

        32位CPU(控制器),有32根地址线,那么它的寻址空间就是4GB(2的32次方)。也就是说,如果没有其它的限制,我们的主板上最大可以安装4GB的物理内存。

        但是一般的机器是不会装那么多物理内存。

        而且,有时软件应用时所需内存确大大超过了物理内存,这怎么办?

        总不能不用那些程序了吧。

        于是乎,

                OS就提出了一个虚拟内存的概念--------就是进程、用户、不必考虑实际上物理内存限制,而直接对 4GB的进程空间进行寻址。如果所寻址的数据实际上不在物理内存中,那就从“虚拟内存”中来获取。      一般情况下,虚拟内存的大小,各个OS也进行了限制(比如linux的swap分区的大小,win下也可以调整虚拟内存文件的大小和位置)。        所以,我们程序所能使用的存储空间大小就是:物理内存+虚拟内存

虚拟地址空间:

1、每个进程拥有独立的进程地址空间,这个每个进程相互独立,不同进程不能访问其他进程的地址空间。一个进程的错误操作,也只会影响这个进程,不会导致其他进程的奔溃。

2、实模式下的寻址方式,可以直接操作物理内存地址,但是不安全。任何进程都可以修改物理内存

3、每个进程的独立的地址空间,能够使得每个进程拥有独立的4g虚拟内存地址。共享一个物理内存。
4、虚拟内存,在磁盘中存在交换区,以解决虚拟内存地址大于物理内存的情况,通过换页机制,达到进程层面的内存扩容。
5、每个进程的虚拟地址空间是一样大的,这样方便我们在载入可执行文件的时候,分配的是虚拟内存,而不用管物理内存的分配

6、方便共享内存代码的实现,通过虚拟内存到物理内存的映射

7、虚拟内存的连续,可以导致物理内存的不连续,通过映射完成

虚拟地址空间的映射关系:

        虚拟内存地址:通过页表,分页目录,

        最简单的地址转换:一级目录:cr是页表的起始地址

        cr+虚拟地址空间地址的前一部分 =页表的页表项,该页表项指向的是物理内存块的起始地址,物理内存的起始地址+偏移量=物理内存地址


http://www.ppmy.cn/news/421308.html

相关文章

虚拟内存?

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

你知道虚拟内存吗?

虚拟内存 一、虚拟内存概述二、内存分段分段虚拟地址结构分段映射过程分段的不足之处内存碎片内存交换效率低内存交换效率低 三、内存分页内存分页映射过程分页是如何解决分段产生的物理碎片、内存交换效率低?简单分页存在的问题多级页表 四、TLB五、段页式内存管理…

聊聊虚拟内存

目录 前提的内存知识分段和分页页表 理解虚拟内存简述一下如何实现后备存储缺页中断处理过程共享 前提的内存知识 内存是什么?说白了就是一长串字节数组。编程的时候难免申请一段内存空间,有了内存空间才能存放数据、存放指令代码。 早期不存在操作系统…

什么是虚拟内存?服务器虚拟内存怎么设置最好?

什么是虚拟内存?服务器虚拟内存怎么设置最好? 一、什么是虚拟内存?虚拟内存有什么用处?二、怎么设置服务器虚拟内存?虚拟内存设置多少合适? 一、什么是虚拟内存?虚拟内存有什么用处?…

什么是虚拟内存

原文地址 深入剖析虚拟内存工作原理 (qq.com) 原作者:allanpan "计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决" 我们电脑里的物理内存指的是RAM 主存(随机访问存储器),它是与 CPU 直接交换数据的内部…

如何合理使用虚拟内存

这些天电脑老是出现虚拟内存不足现象,就在网上找了相关的信息来琢磨。。这篇文章共赏下。。 网上有很多广泛流传的关于虚拟内存优化的技巧,其实很多都是经不起推敲的。大家一起来看看吧。 观点一: 对于拥有大容量物理内存的用户,…

计算机更改虚拟内存有用吗,电脑内存不足怎么办,虚拟内存能起到多大作用

电脑内存不足怎么办,虚拟内存能起到多大作用?我们可以看到下图网友反映"电脑内存有12GB内存,但是玩大型游戏的时候,经常弹出内存不足的窗口,导致游戏经常崩溃"。怎么回事呢?其实跟我们今天聊的话题很契合,物理内存和虚拟内存有什么区别?那么虚拟内存有什么作…

计算机的体积大小和什么有关,虚拟内存的大小和什么有关?

满意答案 osaeiwqo 2013.06.27 采纳率:53% 等级:13 已帮助:13714人 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个…