Я читал, что когда выполняется вызов ОС, процесс подвергается только переключению режима, а не переключению контекста. Насколько я понимаю, это повысит привилегии процесса и позволит ему получить доступ к коду ядра, который отображается в его виртуальном адресном пространстве. (Я полагаю, что для этого потребуется сменить защитное кольцо с помощью ворот-ловушек). Однако, если этот вызов ОС будет выполнять ввод-вывод, может потребоваться использование кэша страниц. Как это происходит без переключения контекста? Или кеш страниц также сопоставляется с виртуальным адресным пространством каждого процесса?
Я могу ошибаться в некоторых своих описаниях выше. Поправьте меня, если я. Я пытаюсь собрать это воедино. Кроме того, меня больше интересует ядро Linux.