有效无效位的目的是页表吗?

时间:2015-10-08 11:21:03

标签: memory-management operating-system

我正在阅读操作系统概念,我无法理解页表中有效无效位的使用。每个流程都有自己的流程表,不应该所有条目都有效吗?

  

附加到页表中每个条目的有效无效位:

     

“valid”表示关联页面位于进程的逻辑地址空间中,因此是合法页面

     

“invalid”表示该页面不在进程的“逻辑地址空间”

3 个答案:

答案 0 :(得分:1)

如果条目无效,则MMU不会将其用于地址转换,从而在访问相应的内存区域时导致页面错误。

由于MMU不使用该条目,操作系统可以使用它来存储自己的信息,例如对文件系统实体的引用(例如inode号),它存储数据以释放数据一些其他进程的主内存(它将该页面交换出来)

当页面出现故障时,操作系统可以使用之前存储在该条目中的信息作出反应,将该数据从磁盘恢复到主存储器中。

当然,无效位也用于标记,因为它表示页面无效:在大多数系统中,使用过程需要从操作系统显式请求内存,访问尚未被授予的内存进程是一种访问冲突。

答案 1 :(得分:1)

在按需分页中,仅将当前所需的页面带入主存储器。

假定一个进程有5页: A,B,C,D,E A B 在内存中。借助有效无效位,系统可以在需要时知道页面 C,D E 不在内存中。

简而言之:

有效无效位中的1表示该页面在内存中,0表示该页面可能无效或尚未进入内存。

答案 2 :(得分:0)

有效表示关联的页面位于逻辑地址空间中。 无效表示关联的页面不在逻辑地址空间中。