浅谈虚拟内存与Linux虚拟存储器系统

虚拟存储器因应对CPU需求增长和存储器管理挑战而诞生,为每个进程提供一致且私有的地址空间,实现高效内存使用和进程保护。虚拟内存通过地址翻译,将虚拟地址转换为物理地址,利用磁盘作为缓存,动态管理内存。Linux系统通过页表进行虚拟页到物理页的映射,实现虚拟内存管理,确保进程间不相互干扰。
摘要由CSDN通过智能技术生成

1.虚拟存储器出现的原因

一个系统中的进程是与其他进程共享CPU和主存资源的,但是共享主存会形成一些特殊的挑战。随着对CPU需求的增长,进程就会慢慢的慢下来。如果同时有太多的进程就需要太多的存储器,一些进程根本就无法运行。存储器还很容易被破坏。还有可能一个进程不小心写了另一个进程使用的存储器,它就可能以某种完全和程序无关的方式失败,这种失败我们很难去查找到其真正原因。
虚拟存储器是为了更有效的管理存储器以及减少出错而产生的。现代系统提供了一种对主存的抽象概念,叫做虚拟存储器(VM)。虚拟存储器是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完美交互,它利用了画饼充饥的思想,因为每个进程需要一个一致私有的连续地址空间,它就构建了一个虚拟存储器为进程在该虚拟存储器中分配连续的地址空间,满足了进程的需求,但是它此时为进程分配的地址空间并不是我们真实的物理地址。它通过一个很清晰的机制,提供了三个重要的能力:
1>它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存了活动区域而并非一下为一个进程分配一次活动的所有所需空间,它会根据需要在磁盘和主存之间来回传送数据,从而高效的使用主存。
2>虚拟存储器为每一个进程提供了一致的地址空间,简化了存储器管理。
3>它保护了每个进程的地址空间不被其他进程破坏,极大的降低了由于进程间的互相干扰而产生的不可控结果。
虚拟存储器是计算机系统中最重要的概念之一。它成功的一个主要原因就是因为它是沉默地,自动地工作的,它不需要程序员的任何干涉。

2.物理和虚拟寻址

物理:计算机系统的主存被组织成一个由M个连

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值