什么是内存
我们想准备运行程序进程需要经过那几个步骤,这里猜测一下。
首先要去申请内存,操作系统根据现在剩余的地毯空间与你地毯的规模划分一块相应大小的内存给你,接着你就可以愉快的运行程序进程啦。
简而言之,电脑上的程序(进程)运行是需要使用到对应大小的物理内存。
虚拟内存
实际上运行的进程并不是直接使用物理内存地址,而是把进程使用的内存地址与实际的物理内存地址做隔离,即操作系统会为每个进程分配独立的一套「虚拟地址」。
每个进程玩自己的地址,互不干涉,至于虚拟地址怎么映射到物理地址,对进程来说是透明的,操作系统已经把这些安排的明明白白了。
操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来,如下图所示
由此我们引出了两个概念:
进程中使用的内存地址叫虚拟地址
存在计算硬件里的空间地址叫物理地址
简单来说操作系统引入虚拟空间,进程持有的虚拟地址会通过 CPU芯片中的内存管理单元(MMU)的映射关系,来转换成物理地址,再通过物理地址访问物理内存
操作系统是如何管理虚拟地址与物理内存地址之间关系?
主要有三种方式,分别是分段、分页、段页。
全部0条评论
快来发表一下你的评论吧 !