Re:Writing an OS in Rust: Advanced Paging
by richardwhiuk on Monday January 28, 2019 @03:55PM
(#19020995)
Linux's kernel runs on more than one core and is pre-emptible, so that's just not generally true.
[ Parent
| on HN ]
In the context of a single core, this happens. Multiple cores make it harder because on top of an interrupt taking locks, other cores now also take locks and you can no longer rely on various promises that a single core gives you.
While the Linux kernel can do this, it's not easy to write from scratch, especially because Linux is in C so the compiler doesn't complain about weird things you do.