【发布时间】:2016-04-20 02:35:54
【问题描述】:
我试图了解操作系统内核如何处理页面错误。 https://en.wikipedia.org/wiki/Page_fault 上的维基百科文章区分了 Minor、Major 和 Invalid 页面错误。
主要页面错误是指虚拟->真实地址映射尚未出现在主内存中,但真实地址存在于磁盘上,对于此页面错误异常,异常处理程序会搜索磁盘并返回页面框架到主存并进行虚拟->真实地址映射。
无效页面错误是指应用程序尝试访问未映射的地址,例如恶意指针。引发了相同的页面错误异常,但异常处理程序现在决定终止程序,主要是出现 Seg Fault (core dumped) 错误。
我的问题是,内核如何区分这两种类型的页面错误?我希望对此进行深入了解,并希望尽可能将我链接到更详细的文章。请向我寻求任何澄清!
谢谢。
【问题讨论】:
-
删除了 linux 标签。我宁愿在这个页面上回答这个问题;由于某种原因,这个问题很难得到一个直截了当的答案......
标签: memory-management operating-system kernel