Это может быть глупый вопрос, но он просто появился у меня в голове. Весь текст об адресном пространстве и виртуальной памяти указывает, что адресное пространство процесса имеет зарезервированное для ядра. Напр. на 32-битных системах адресное пространство процесса составляет 4 ГБ, из которых 1 ГБ зарезервировано для ядра в Linux (может отличаться на другой ОС).
Мне просто интересно, почему ядро, как говорят, находится в адресном пространстве процесса, когда процесс не может напрямую обращаться к ядру. Почему бы нам не сказать, что ядро имеет отдельное адресное пространство, чем процесс, и почему мы не можем иметь другую таблицу страниц для самого ядра, которая отделена от таблиц страниц процессов?