段页式内存管理

简介: 为了方便管理程序被分成了若干逻辑段,后来为了解决大量外部内存碎片问题,出现了内存分页,本期将介绍分段、分段机制以及后来出现的调表机制。

1.分段机制

(1)概念:程序是由若干逻辑分段组成的,如可由代码分段、数据分段组成,这样的机制叫分段机制。

(2)缺点:产生了大量的外部内存碎片


2.分页机制

(1)为了解决大量的外部内存碎片,对内存进行分成很多页。

(2)缺点:产生了大量的内部内存碎片。


3.多级页表

(1)概念:为了解决大量的内部内存碎片,将每页进行再分页。

(2)缺点:在内存访问方面产生了较大的开销。


4.TLB

(1)概念:为了解决多级页表的内存访问方面的开销,根据程序的局部性原理,加入了一块最常访问的页表项的Cache,这个Cache就是TLB,也被称为页表缓存转址旁路缓存快表等。

(2)工作机制:CPU在寻址时,会先查TLB,如果没找到,才会继续查常规的页表,TLB的命中率通常会很高。


相关文章
|
4月前
|
缓存 Linux C语言
Linux内存管理宏观篇(四)物理内存:物理内存管理区
Linux内存管理宏观篇(四)物理内存:物理内存管理区
82 1
|
1月前
|
存储 Java C语言
【C++】C/C++内存管理
【C++】C/C++内存管理
|
3月前
|
C++
C/C++内存管理(1):C/C++内存分布,C++内存管理方式
C/C++内存管理(1):C/C++内存分布,C++内存管理方式
|
4月前
|
安全 程序员 C语言
c内存管理
c内存管理
30 1
|
4月前
|
存储 C语言 C++
【C++】C&C++内存管理
【C++】C&C++内存管理
|
11月前
|
存储 编译器 C语言
【C++】C/C++内存管理:
1.C中的malloc、realloc、calloc和free函数: 【面试问题】 malloc、calloc和realloc的区别是什么?
63 0
|
10月前
|
存储 缓存 Linux
系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理
虚拟内存的主要作用是提供更大的地址空间,使得每个进程都可以拥有大量的虚拟内存,而不受物理内存大小的限制。此外,虚拟内存还可以提供内存保护和共享的机制,保护每个进程的内存空间不被其他进程非法访问,并允许多个进程共享同一份物理内存数据,提高了系统的资源利用率。虚拟内存的实现方式有分段和分页两种,其中分页机制更为常用和灵活。分页机制将虚拟内存划分为固定大小的页,将每个进程的虚拟地址空间映射到物理内存的页框中。为了减少页表的大小和访问时间,采用了多级页表的方式,将大的页表划分为多个小的页表,只加载需要的页表项,节约了内存空间。
357 0
系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理
|
10月前
|
存储 C++
C++内存管理
C++内存管理
|
存储 C语言 C++
C++的内存分布及内存管理
C++的内存分布及内存管理
129 0
|
存储 Linux C++
内存管理 - 物理内存
内存管理 - 物理内存
204 0