什么是虚拟内存?它的作用是什么?

虚拟内存概念

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

虚拟内存的工作原理

当进程开始运行时,先将一部分程序装入内存,另一部分暂时留在外存;当要执行的指令不在内存时,由系统自动完成将它们调入内存的工作;当没有足够的内存时,系统自动选择部分暂时不被执行的内存空间,将其中原有的内容交换(swap)到磁盘上,并释放这些内存空间供其他进程使用。

为什么要使用虚拟内存?

操作系统的物理内存是有限的,假设有4G物理内存,一个软件占用了2G内存,当我们开了2个这样软件的时候,物理内存基本就消耗殆尽了。

但是电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽,为了解决这个问题,Windows 运用了虚拟内存技术。

其次,就是安全性,虚拟内存为每个进程提供了独立的,隔离的,安全的空间。

虚拟内存的作用

  1. 虚拟内存可以使得进程对运行内存超过物理内存大小,因为程序运行符合局部性原理,CPU访问内存会有很明显的重复访问的倾向性,对于那些没有被经常使用到的内存,我们可以把它换出到物理内存之外,比如硬盘上的 swap 区域,从而释放物理内存空间,使其他应用程序能够正常运行。这有助于提高系统性能,尤其是在多任务处理时。
  2. 由于每个进程都有自己的页表,所以每个进程的虚拟内存空间就是相互独立的。进程也没有办法访问其他进程的页表,所以这些页表是私有的,这就解决了多进程之间地址冲突的问题。
  3. 页表里的页表项中除了物理地址之外,还有一些标记属性的比特,比如控制一个页的读写权限标记该页是否存在等。在内存访问方面,操作系统提供了更好的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值