天天3分钟操做系统修炼秘籍(7):虚拟内存简介

点我查看秘籍连载操作系统

资源隔离:虚拟内存

前面描述的全部操做系统基础知识都是进程和CPU资源相关的内容,另外一个操做系统中和进程相关的比较重要的话题是内存资源。翻译

操做系统主要目的是执行程序,而程序在执行时,程序自身以及程序所访问的数据、所产生的数据都在内存里(至少全部数据的流向都会通过内存)。此外,现代操做系统能够同时运行多个进程,而每一个进程都有属于本身的一部份内存。进程

操做系统必须负责管理这些同时运行的这些进程的内存,而且还要保证进程A不会访问到进程B的内存,从而实现进程的隔离。内存

操做系统使用了一个称为虚拟内存(Virtual Memory,VM)的概念来实现进程的内存管理,虚拟内存也称为地址空间或虚拟地址空间,和物理内存的称呼相对应。资源

每一个进程都拥有一个属于本身的虚拟内存。进程在使用本身的虚拟地址空间时,任何虚拟地址都必须翻译成对应的物理内存地址才能使用到物理内存。get

虚拟内存是操做系统对进程营造的另外一个假象:让进程觉得本身占有了全部的物理内存。但实际上,它只使用了物理内存的一部分,每一个进程所实际使用的那部分物理内存由操做系统进行分配和回收,从而实现内存的管理。内存管理

虚拟内存的主要目标之一是对进程透明,进程不该该感知到内存被虚拟的这个事实,相反,还要让进程觉得本身拥有全部的物理内存,想怎么使用就怎么使用,而不该该收到限制。基础

虚拟内存另外一个目标是保护进程,进程A不容许访问到进程B的虚拟内存时,在进程A崩溃时也不该该让它影响到进程B,更不能让用户进程影响到操做系统自己。因此,每一个进程都是彻底隔离的,互不影响。程序

相关文章
相关标签/搜索