2

我在 xv6 中定义了一个向上的堆栈(它有一个向下的堆栈),并且想知道我如何在堆栈和堆之间放置一个保护页。我可以使用任何特定的系统调用吗?另外,如何保持一页地址空间始终位于堆栈和堆之间?

4

1 回答 1

0

所以你确切地知道你的堆栈从哪里开始增长?在那种情况下,你为什么不留下一页,然后从下一页开始。而且您可能需要使用一些数据分配和污染内存,以便可以检测到它。就像其中一些内存溢出检测工具的工作方式一样。或者您可能需要为该页面设置一些自定义标志,以便在尝试访问它们时,如果发现不合适,您可以检查标志和故障。

顺便说一句,我是否正确地回答了您的问题?

于 2013-10-22T01:53:12.893 回答