物理内存和虚拟内存

物理内存是硬件设备,虚拟内存是磁盘空间的逻辑内存。虚拟内存解决了物理内存不足的问题,每个进程都有4G虚拟内存,实际使用多少对应多少物理内存。Linux采用分页机制,使用交换空间进行页面交换。当进程访问内存时,如果数据不在物理内存,则发生缺页异常,内核将数据从磁盘拷贝到物理内存。页表用于管理虚拟页和物理页的映射。不同进程可以共享物理内存中的代码段,节省资源。
摘要由CSDN通过智能技术生成

1.概念

物理内存:真实的硬件设备(内存条)
虚拟内存:利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。(为了满足物理内存的不足而提出的策略)

在很久以前,还没有虚拟内存概念的时候,程序寻址用的都是物理地址,取决于CPU的地址线条数,32位平台的话 2^32也就是4G 。且每次开启一个进程都给4G的物理内存。很显然你内存小一点,这很快就分配完了,于是没有得到分配资源的进程就只能等待。

而后引入了虚拟内存极大解决了这方面的问题,一个进程运行时都会得到4G的虚拟内存。这个虚拟内存你可以认为,每个进程都认为自己拥有4G的空间,这只是每个进程认为的,但是实际上,在虚拟内存对应的物理内存上,可能只对应的一点点的物理内存,实际用了多少内存,就会对应多少物理内存。

2.使用过程

内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。

linux的内存管理采取的是分页存取机制,Linux系统会不时的进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间。而liunx 常用的交换算法,根据”最近最经常使用“算法,会将一些不经常使用的页面文件交换到虚拟内存。

有时我们会看到这么一个现象:linux物理内存还有很多,但是交换空间也使用了很多。其实&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值