📌  相关文章
📜  教资会网络 | UGC NET CS 2016 年 7 月 – II |问题 32(1)

📅  最后修改于: 2023-12-03 14:54:49.683000             🧑  作者: Mango

UGC NET CS 2016 年 7 月 – II |问题 32

该题目涉及到操作系统中的诸多概念,特别是与进程切换有关的概念。面对这样的问题,程序员需要了解操作系统的基本结构和调度算法,并能够将这些信息用自己熟悉的编程语言实现出来。以下是对该问题的解答:

问题:

考虑一个二级页面表式的情况下,当什么时候才能发生缺页异常?

解答:

在操作系统中,每个进程都有自己的虚拟地址空间,其中又经常包含指向物理地址空间的页表项。由于每个页表在虚拟地址空间的大小与使用的内存大小可能不相等,因此会有许多页表,构成了一个层次结构。这样的层级结构被称为多级页表。

假设我们现在有一个二级页表,其中第一级页表有1024个条目,第二级页表每个页表有1024个条目。因此,我们有1,048,576个虚拟地址。当我们需要访问某个虚拟地址时,系统只会将访问该地址所需的页面信息载入内存,其他地址的信息则不会载入。这可以有效降低内存的开销和访问延迟。

当某个指令所需的页面信息没有被载入内存时,就会发生缺页异常。此时,操作系统会选择一个页面进行替换,并将该指令需要的页面信息载入。如果二级页表中的某个页表项没有指向实际物理页面,那么也会发生缺页异常。所以,在二级页表中,当某个页表项没有指向实际物理页面时,就会发生缺页异常。