Describe one type of bugs that cannot be prevented by STACK and one type of bugs that cannot be prevented by Hyperkernel.
Compare Figure 10 from the Hyperkernel paper to Tables 2 and 3 from the Dune paper (“getpid”, “trap”, “appel1”, and “appel2”). Why do you think Dune performs much better on “appel1” and “appel2” than Hyperkernel?
Provide a list of questions you would like to discuss in class. Feel free to provide any comments on the papers and related topics (e.g., which parts you like and which parts you find confusing). For instance, would STACK and the Hyperkernel approach prevent any bugs you had in your xv6 labs?
If you are interested, check out the source code of Hyperkernel on GitHub.
Write down your answers in a file named answers.txt
, and upload it
using Canvas.
test_me
program-fsanitize=address
on Linux