iOS底层原理iOS技术

iOS原理 物理内存&虚拟内存

2020-12-14  本文已影响0人  东篱采桑人

iOS原理 文章汇总

物理内存

物理内存指的是内存条上的内存,早期一个进程的数据是全部加载在物理内存上,CPU直接通过物理内存地址来访问进程数据。这种方式会产生以下几个问题:

为了解决物理内存的这几个问题,CPU访问进程数据就不能直接通过物理内存地址,而是通过虚拟内存来间接访问。

虚拟内存

虚拟内存是处于进程和物理内存之间的一个中间层,由系统生成,内部作分页管理,结构如下图所示:

虚拟内存的结构.png

一个虚拟内存对应一个进程,大小为4GB,虚拟内存里会分为很多页(page),每页的大小在iOS中为16kb,其他系统中为4kbPage里的每一格对应进程中的某一项数据,会记录该数据的虚拟内存地址和物理内存地址,因此虚拟内存本质上是一张关联进程各项数据的虚拟内存地址和物理内存地址的映射表。

采用虚拟内存后,CPU访问进程数据的情况如下:

因此,相比直接访问物理内存,虚拟内存的优势如下:

上一篇 下一篇

猜你喜欢

热点阅读