各プロセッサには、トランスレーションルックアサイドバッファを備えた独自のメモリ管理ユニットがあります。これが必要なのは、各コアが異なるアドレス空間を持つ異なるプロセスを実行している可能性があるためです。
複数のコアは、同時に割り込み/例外を独立して処理できます。したがって、カーネルで同時に実行されている複数の同時割り込みコンテキストが存在する可能性があります。
ページフォールトやゼロ除算などの例外は、そのプロセッサが実行していることに関係するため、常に発生した同じプロセッサで処理されます。
外部割り込みは通常、静的または動的に何らかの方法でプロセッサにマッピングできるようにする、ある種のスイッチングファブリックを通過します。たとえば、PCタイプのハードウェアの「APIC」。
ファブリックが十分に洗練されている場合は、その場で別のコアをターゲットにして割り込みを再プログラムできます。
アーキテクチャによって異なります。たとえば、単純なアーキテクチャでは、すべての外部割り込みを1つのコアに結び付けることができます。しかし、それはあまり対称的ではありません。IRQロードバランシングは許可されません。
(また、すべてのプロセッサで特定の外部割り込みを発生させると便利です。この例はタイマー割り込みです。すべてのコアに独自の割り込みタイマーがある場合、スケジューラでのタイムスライスの処理は対称的です。特別な場合の処理はありません。 1つのメインコアと他のコアに対して割り込みが発生し、コアはスケジューラコードを実行し、現在のタスクのタイムクォンタムがアップしている場合は、そのコアで実行する別のタスクを選択します。)