操作系统 (OS) 中的分页:什么是分页,优点,示例

什么是操作系统中的分页?

分页是一种存储机制,它允许操作系统将进程从二级存储器以页的形式检索到主内存中。在分页方法中,主内存被划分为固定大小的物理内存块,称为页框。页框的大小应与页面大小保持一致,以最大限度地利用主内存并避免外部碎片。分页用于更快地访问数据,它是一个逻辑概念。

操作系统中分页的例子

例如,如果主内存大小为 16 KB,页框大小为 1 KB。这里,主内存将被划分为 16 个 1 KB 的页框集合。

系统中共有 A1、A2、A3 和 A4 四个独立的进程,每个进程大小为 4 KB。这里,所有进程都按 1 KB 大小的页面划分,以便操作系统可以将一个页面存储在一个页框中。

在进程开始时,所有页框都保持为空,这样所有进程的页面都可以以连续的方式存储。

Example of Paging in OS

在这个例子中,您可以看到 A2 和 A4 在一段时间后被移到等待状态。因此,八个页框变为空闲,其他页面可以加载到这些空闲块中。大小为 8 个页面(8 KB)的进程 A5 正在就绪队列中等待。

Example of Paging in OS

在这个例子中,您可以看到内存中有八个不连续的可用页框,分页提供了在不同位置存储进程的灵活性。这使得我们可以加载进程 A5 的页面而不是 A2 和 A4。

什么是分页保护?

分页过程应通过插入一个附加位(称为有效/无效位)的概念来保护。分页内存保护是通过为每个页面关联保护位来实现的。这些位与每个页表项相关联,并指定对相应页面的保护。

分页的优点

以下是使用分页方法的优点

  • 易于使用的内存管理算法
  • 无需外部碎片
  • 相同大小的页面和页框之间的交换很容易。

分页的缺点

以下是分页的缺点/劣势

  • 可能导致内部碎片
  • 页表占用额外内存。
  • 多级分页可能导致内存引用开销。

什么是分段?

分段方法的操作几乎与分页类似,两者之间的唯一区别在于段是可变长度的,而在分页方法中,页面始终是固定大小的。

程序段包括程序的 main 函数、数据结构、实用函数等。操作系统为所有进程维护一个段映射表。它还包括一个免费内存块列表,以及它们的大小、段号和它们在主内存或虚拟内存中的内存位置。

分段的优点

以下是分段的优点/好处

  • 在段内提供保护
  • 通过引用多个进程的段可以实现共享。
  • 不产生内部碎片
  • 段表使用的内存比分页少

分段的缺点

以下是分段的缺点/劣势

  • 在分段方法中,进程被加载/移出主内存。因此,免费内存空间被分成小块,这可能导致外部碎片问题
  • 昂贵的内存管理算法

摘要

  • 分页是一种存储机制,它允许操作系统以页的形式将进程从二级存储器检索到主存储器。
  • 分页过程应通过插入一个附加位(称为有效/无效位)的概念来保护。
  • 分页最大的优点是它是一种易于使用的内存管理算法。
  • 分页可能导致内部碎片
  • 分段方法的操作几乎与分页类似,两者之间的唯一区别在于段是可变长度的,而在分页方法中,页面始终是固定大小的。
  • 通过引用多个进程的段可以实现共享。
  • 分段是昂贵的内存管理算法