内存物理结构

内存管理(1)-linux内核体系结构(2)

•内核占用内存开始部分;接下来是共硬盘,软盘使用的高速缓冲区部分,其中扣除显存和bios的640k到1m;然后是虚拟盘;最后一部分是为所有程序可以使用的主内存区。


每台设备内存大小等参数都可能不一样。程序直接使用物理内存地址,将使得程序无法在通用的机器上运行。

为了隔离物理内存和程序使用内存,对其地址的访问。在程序运行时将使用虚拟地址。系统内核将建立虚拟地址到物理内存地址的映射。

应用程序的虚拟地址将是独立的。即没个程序看起来好像可以霸占整个主存空间。


以下是内核地址转化示意图:


内存管理(1)-linux内核体系结构(2)

虚拟地址(逻辑地址)访问全系统内存采用如下“索引”设计:

由段选择符和段内偏移地址

内存管理(1)-linux内核体系结构(2)

段变换:将一个由段选择符和段内偏移构成的逻辑地址转换为一个线性地址。页变换:将线性地址转换为对应的物理地址。

为什么要采用这种方式呢?


具体如何管理呢?

内存管理(1)-linux内核体系结构(2)


分段管理

内存管理(1)-linux内核体系结构(2)内存管理(1)-linux内核体系结构(2)


分页管理

内存管理(1)-linux内核体系结构(2)


未完,待修整

内存管理(1)-linux内核体系结构(2)

相关文章:

  • 2018-03-25
  • 2021-11-17
  • 2020-05-08
  • 2022-01-21
  • 2022-01-13
  • 2021-10-29
  • 2021-07-31
  • 2021-08-14
猜你喜欢
  • 2018-07-31
  • 2021-11-24
  • 2021-06-04
  • 2021-09-14
  • 2021-10-10
  • 2021-10-19
  • 2021-10-23
  • 2021-10-19
相关资源
相似解决方案