This paper describes what it means for a kernel to be debuggable and proposes a kernel design with debuggability in mind. We evaluate the proposed kernel design by comparing the iterations required in cyclic debugging for different classes of bugs in a vanilla monolithic kernel to a variant enhanced with our design rules for debuggability. We discuss the trade offs involved in designing a debuggable kernel.
翻译:本文阐述了内核可调试性的含义,并提出了一种以可调试性为设计目标的内核架构。我们通过对比普通宏内核与采用可调试性设计规则的增强型内核在循环调试中修复不同类别缺陷所需的迭代次数,对所提出的内核架构进行了评估。此外,本文还讨论了设计可调试内核时涉及的相关权衡。