我试图破解一个旧的UNIX内核。我只想使用软件来实现MMU和TLB。有人可以告诉我在构建一个时最好的数据结构和算法是什么。我看到很多人使用splay树,因为它很容易实现LRU。有没有更好的数据结构?以软件翻译虚拟地址的最有效方式是什么.Assume x86架构和翻译为任何基本页表表翻译。

有帮助吗?

解决方案

你提到效率。这是你对工程的目标吗?如果您没有约束任何特定目标,请尝试使其工作。如果可以,我可以执行单个级别页面表,无论是直接还是完全关联。这听起来像你越过这个。

最有效的是取决于尺寸 - 速度权衡以及您期望的是什么样的地方。您是否有任何关注的应用程序,或者这只是搞砸了尝试一些实施?inverted页面表在某些较新的架构上使用。我会认为这是一个指示,有人花了很多时间努力,这想到了这是一个很好的方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top