Как обрабатываются прерывания в SMP?

Как обрабатываются прерывания на SMP (симметричных многопроцессорных/многоядерных )машинах? Есть ли только один блок управления памятью или несколько?

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

Какова последовательность событий, которые произойдут? Если имеется одна единица управления памятью, на какое ядро ​​перенаправляется ошибка страницы? Как ядро ​​справляется с этим? Есть ли несколько экземпляров ядра, каждый из которых работает на своем ядре? Если да, то как они синхронизируются по таким событиям, как обработка ошибок страниц?

25
задан pythonic 19 April 2012 в 19:22
поделиться