📜  实现非连续内存管理技术

📅  最后修改于: 2021-09-27 22:33:14             🧑  作者: Mango

内存管理技术是用于管理操作系统内存的基本技术。内存管理技术基本上分为两类:

(i) Contiguous
(ii) Non-contiguous 

我们已经在文章实现连续内存管理技术中讨论了连续的实现。这里我们将讨论非连续内存管理技术的实现。

非连续内存管理技术:
在这种技术中,内存以非连续方式分配给进程。它有五种类型:

分页:
分页是一种非连续内存管理技术,它允许进程的物理地址空间是非连续的。每当创建进程时,将在进程上应用分页并创建页表。分页与每个进程有关,每个进程都有自己的页表。

分页中没有外部碎片。内部碎片存在于最后一页,分页中的内部碎片被认为是 P/2,其中 P 是页面大小。

多级分页:
多级分页是一种非连续内存管理技术,它以分层方式包含两级或更多级页表。
在多级分页中,当分页应用于页表时,最后一页称为一级页表。在多级分页中,当分页应用于页表时,所有页表都将存储在主内存中。

反向分页:
为了避免维护页表过程的开销,实现了反向分页的概念。在反向分页中,所有进程只维护一个页表。维护进程页表所需的内存会更少,但查找进程对应页的时间会更多。

分割:
分段是一种非连续的内存管理技术,其中将内存划分为段。每个进程被分配一个段。有两种类型的分割:

(i) Simple
(ii) Virtual 

分段分页:
为了避免将大尺寸段带入内存的开销,实现了分段分页的概念。在分段分页中,分页将应用于段,而不是将整个段带入内存,而是将段的页面带入内存。段页表中的条目数与段上的页数相同。

段的页大小与物理地址空间的帧大小相同。