-
Explain how memory-mapping registers work.
-
SpinLocks.
-
Physical page allocation.
-
Learn in-depth about constant evaluation.
-
Understand what are
pulse interrupts
(edge triggered). -
Understand what the
array_macro
crate does, such that we can initialize an array even if the elements don't have theCopy
trait implemented. -
Read about
atomics
andmemory ordering
in detail. -
Read : https://amjad.alsharafi.dev/en/posts/operating-system/spinlocks/ and https://www.reddit.com/r/rust/comments/18be8fg/blog_operating_systems_spinlocks/.
-
Support the
multiboot
protocol. -
Take a look at the spinning_top SpinLock implementation.
-
Use a
Slab allocator
instead of the Buddy allocator. -
Support multi-threading.