Как обрабатываются прерывания на SMP (симметричных многопроцессорных/многоядерных )машинах? Есть ли только один блок управления памятью или несколько?
Скажем, два потока, A и B, работающие на разных ядрах, касаются страницы памяти (одновременно ), которой нет в таблице страниц, и в этом случае будет ошибка страницы и новая страница вносится из памяти.
Какова последовательность событий, которые произойдут? Если имеется одна единица управления памятью, на какое ядро перенаправляется ошибка страницы? Как ядро справляется с этим? Есть ли несколько экземпляров ядра, каждый из которых работает на своем ядре? Если да, то как они синхронизируются по таким событиям, как обработка ошибок страниц?