1

我正在尝试破解旧的 unix 内核。我只想使用软件实现 MMU 和 TLB。有人可以告诉我在构建一个时使用的最佳数据结构和算法是什么。我看到很多人使用伸展树,因为它很容易实现 LRU。有没有更好的数据结构?在软件中将虚拟地址转换为物理地址的最有效方法是什么。假设它的 x86 架构和转换是任何基本的页表转换。

4

1 回答 1

0

你提到效率。这是你工程的目标吗?如果您不受任何特定目标的约束,请尝试使其发挥作用。如果可以的话,我会做一个单级页表,直接或完全关联。听起来你已经过去了。

最有效的将取决于大小-速度的权衡以及您期望的位置类型。您是否对任何关键应用程序进行了概要分析,或者这只是为了尝试一些实现而搞砸了?在一些较新的架构上使用倒置页表。我认为这表明有人花了很多时间在这方面工作,认为这是一个好方法。

于 2010-07-20T03:04:40.480 回答