页面错误处理程序如何知道读取或写入操作是错误的?此指示的任何标志/状态值?
答案 0 :(得分:0)
页面错误处理程序不应该关心是否由于read()或write()操作而访问页面。但是,它仅检查页面所属的vma及其可用性,并确定页面发生故障时其可写或可读或可执行。这是通过验证页面访问的有效性来实现的,页面错误处理程序必须在vm区域列表(或AVL树)中搜索覆盖正在访问的页面的vm区域。如果vm-area存在且其访问权限标志(VM_READ,VM_WRITE和VM_EXEC)允许访问,则访问有效。您也可能对与enum pageflag
关联的其他标志感兴趣