虚拟内存,物理内存,虚拟地址,物理地址

查阅此文章,应该就是和我一样想要搞懂计算机内存管理相关知识的小伙伴。那么进入正题。

四点对应概念

物理内存

物理内存是实际的硬件内存,用来存储数据和程序指令。物理内存是计算机硬件直接访问的存储空间。记住,物理内存是真实存在的硬件结构

虚拟内存

虚拟内存是计算机操作系统提供的一种机制,它允许程序访问一个伪装成物理内存的地址空间,而实际上,部分数据可能存储在辅助存储设备上。虚拟内存的目标是扩展可用内存,以便运行更大的程序或多个程序,同时提供了一种内存管理方式,使得程序不必关心物理内存的细节。

是操作系统提供给每个进程的一种抽象概念,它使得每个进程认为它拥有连续的、私有的地址空间,这个空间称为虚拟地址空间。

而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

虚拟存储器的容量限制:主存容量+辅存(硬盘)容量。

说到虚拟内存就不得不提到分页的知识

分页
虚拟内存通常使用分页技术来管理数据。物理内存和磁盘都被划分成固定大小的页面(通常是4KB或更大),操作系统负责将数据从物理内存复制到磁盘(称为页面交换)或从磁盘加载到物理内存。这个过程是透明的,对于程序来说是不可见的。

物理地址

物理地址是指实际存在于计算机硬件(如RAM)中的真实地址。它是硬件层面上的地址,直接对应着物理内存的位置。

计算机的内存控制器使用物理地址来读取和写入存储器中的数据,这些地址是硬件电路直接处理和识别的

虚拟地址

虚拟地址是进程在运行时所使用的地址空间中的地址。每个进程都拥有自己的虚拟地址空间,这些地址在进程间是相互隔离的。

虚拟地址空间允许进程使用连续的地址范围,方便编程和内存管理。这些地址由操作系统分配和管理,不直接对应物理内存中的实际位置

四点对应关系

虚拟内存和物理内存之间的关系

当计算机程序运行所需要的物理内存不够用时,这时就会使用虚拟内存,也就是使用磁盘空间来充当内存使用。虚拟内存和物理内存通过操作系统的管理和硬件的支持,相互结合,实现了进程间内存的隔离、高效的地址转换和动态的内存分配,从而提升了计算机系统的整体性能和资源利用率。

虚拟地址和物理地址之间的关系

虚拟地址通过操作系统的内存管理单元(MMU)转换为物理地址。MMU使用由操作系统维护的页表来实现虚拟地址到物理地址的映射关系。

当进程访问一个虚拟地址时,MMU会查找页表以确定对应的物理地址。如果虚拟地址对应的物理页不在内存中,会触发页错误,操作系统则负责将该物理页从磁盘加载到内存并更新页表。

虚拟内存和虚拟地址之间关系

虚拟地址是虚拟内存的一部分,它是进程在虚拟内存空间中使用的地址。

虚拟地址通过操作系统和硬件的协作,最终会被映射到物理内存中的物理地址,这种映射关系由操作系统的页表来管理和维护。

物理内存和物理地址之间关系

操作系统通过内存管理单元MMU和硬件支持来管理物理地址的分配和访问。MMU负责将程序中的虚拟地址转换为对应的物理地址。

物理地址是硬件层面上的概念,直接对应于RAM中的存储单元,而虚拟地址则是操作系统提供的抽象,方便了进程间的内存隔离和管理。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值