首页 > 系统相关 >5.3 虚拟内存把磁盘作为部分内存来使用

5.3 虚拟内存把磁盘作为部分内存来使用

时间:2023-02-10 21:15:24浏览次数:33  
标签:5.3 Windows 程序 内存 磁盘 运行 虚拟内存

虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。

通过借助虚拟内存,在内存不足时也可以运行程序。例如,在只剩下5MB内存空间的情况下也能运行10MB大小的程序。不过,就如本章开头所讲述的那样,CPU只能执行加载到内存中的程序。虚拟内存虽说是把磁盘作为内存的一部分来使用,但实际上正在运行的程序部分,在这个时间点上是必须存在在内存中的。也就是说,为了实现虚拟内存,就必须把实际内存(也可称为物理内存)的内容,和磁盘上的虚拟内存的内容进行部分置换,并同时运行程序。

刚才已经说过,Windows提供了虚拟内存机制作为操作系统。在当前的Windows中,虚拟内存依然发挥着很大的作用。虚拟内存的方法有分页式和分段式两种。

分段式虚拟内存是指,把要运行的程序分割成以处理集合及数据集合等为单位的段落,然后再以分割后的段落为单位在内存和磁盘之间进行数据置换。

Windows采用的是分页式。该方式是指,在不考虑程序构造的情况下,把运行的程序按照一定大小的页(page)进行分割,并以页为单位在内存和磁盘间进行置换。在分页式中,我们把磁盘的内容读出到内存称为Page In,把内存的内容写入磁盘称为Page Out。一般情况下,Windows计算机的页的大小是4KB。也就是说,把大程序用4KB的页来进行切分,并以页为单位放入磁盘(虚拟内存)或内存中(如下图)。

 

 为了实现虚拟内存功能,Windows在磁盘上提供了虚拟内存用的文件(page file,页文件)。该文件由Windows自动做成和管理。文件的大小也就是虚拟内存的大小,通常是实际内存的相同程度至两倍程度。通过Windows的控制面板,可以查看或变更当前虚拟内存的设定。

标签:5.3,Windows,程序,内存,磁盘,运行,虚拟内存
From: https://www.cnblogs.com/ttmeng/p/17110277.html

相关文章

  • 5.1 不读入内存就无法运行
    从都具有存储程序命令和数据这点来看,内存和磁盘的功能是相同的。在计算机的5大部件( 一般把输入装置、输出装置、存储器、运算器和控制器这5种部件设备称为计算机的5大部件......
  • 4.4数组是高效使用内存的基础
       数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据会通过连续的编号被区分开来,这个编号称为索引(index)。指定索引后,就可以对该索引......
  • SpringBoot + Disruptor实现高并发内存消息队列
    1.简介  Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开......
  • 4.1内存的物理机制很简单
       内存实际上是一种名为内存IC的电子元件。虽然内存IC包括DRAM、SRAM、ROM等多种形式,但从外部来看,基本机制都是一样的。内存IC中有电源、地址信号、数据信号、控制......
  • 动态内存的开辟
    c程序的内存分配:执行程序会将程序加载到内存,内存大体上被分为三个区:栈段、堆段、数据段(全局变量和static变量)  栈:局部变量和形式参数会保存在栈区,函数调用完之后,释放......
  • 内存泄露 内存释放 和垃圾回收机制
    答:当使用一个参数,会进行内存的分配,内存的使用,内存的释放。什么会导致内存泄露答:1.意外的全局变量=》必须确保在使用过后将它设置为null2定时器=》清除定......
  • arthas内存也可以分析 -线程死锁 -cpu高
    https://blog.csdn.net/qq_43692950/article/details/122688520......
  • Linux系统查看内存型号、主板、硬盘等信息
    1.Linux查看内存的插槽数,已经使用多少插槽.每条内存多大:[root@mxh~]#dmidecode|grep-A5"MemoryDevice"|grepSize|grep-vRangeSize:4096MBSize:4096MBSiz......
  • jvm内存模型
    1. jvm的本质     用于解释和运行Java程序的C++程序,本质就是一个程序。2.  JVM主要由三部分组成    (1)执行引擎:用于解释字节码    (2)类加载......
  • 解读 Java 云原生实践中的内存问题
    作者:风敬(谢文欣)Java凭借着自身活跃的开源社区和完善的生态优势,在过去的二十几年一直是最受欢迎的编程语言之一。步入云原生时代,蓬勃发展的云原生技术释放云计算红利,推动业......