目前的手机厂商都喜欢将虚拟内存算成物理内存进行宣传,但虚拟内存有一个最大的缺点,就是寿命问题,虽然解决了RAM的负载压力,但实际上频繁的读写操作会加速消耗ROM的使用寿命,属于伤敌一千自损八百的玩法,而且实际体验也并不是太好,后台应用会卡死退出时的界面。
“虚拟内存是现代计算机、操作系统的基石,但为什么虚拟内存在编程中,毫无存在感?为什么也有人:虚拟内存就是一个骗子?”人人都听说过虚拟内存,人人似乎都没有用过虚拟内存。为什么说虚拟内存是现代操作系统过的基石?没有虚拟内存的世界,会是什么样子?为什么苹果最近才打开SWAP功能?
物理地址通常应用在“简单”的嵌入式微控制器中,内存管理较简单,但现代计算机,包括其他智能设备如笔记本电脑、智能手机等,需要较复杂的内存管理机制,因此虚拟地址必不可少,它是计算机科学中最伟大的ideas之一。
操作系统中的 CPU 和主内存都是稀缺资源,所有运行在当前操作系统的进程会共享系统中的 CPU 和内存资源,操作系统会使用 CPU 调度器分配 CPU 时间1并引入虚拟内存系统以管理物理内存,本文会分析操作系统为什么需要虚拟内存。
不知道大家在运行自己写的程序时,有没有发现一个问题:就是物理机器明明只有8G内存,但是我们运行的程序却可以申请到16G的内存?或者说机器上运行的多个进程,占用的总内存已经远超物理内存了,却还能正常工作。其实,这都要归功于CPU和操作系统设计的虚拟内存的机制。