Друзья
Я видел эту статью Инго Молнара (Ingo Molnar), известного энтузиаста ядра Linux, где он рассказывает о разделении на 4 ГБ / 4 ГБ.
В этой статье он говорит, что
с патчем 4G / 4G ядро может быть скомпилировано в режиме 4G / 4G, в котором
В случае, если для ядра есть полная отдельная виртуальная машина 4 Гб,
отдельные полные (и для каждого процесса) виртуальные машины объемом 4 ГБ для пространства пользователя.
Моя проблема начинается здесь:
Я предполагал, что в монолитном ядре , как и в Linux, ядро и пользователь часть процесса совместно использует то же пространство ПРОЦЕССА АДРЕСА. Так что с ядром Linux, которое не имеет этот патч 4G / 4G, мы имеем 3/1 разбиение для пользовательского виртуального пространства и виртуального пространства ядра соответственно.
Фактически 1 ГБ виртуального пространства ядра отображается в виртуальном адресном пространстве каждого процесса. Проще говоря, ПРОЦЕСС АДРЕС ПРОСТРАНСТВА составляет 4 ГБ, из которых 1 ГБ выделено для ядра. Это правда?
Исходя из статьи в вопросе - и если мое предположение, как сказано в 1), верно, он подразумевает, что адресное пространство ядра больше не отображается в ПРОЦЕССНОЕ АДРЕСНОЕ ПРОСТРАНСТВО, и у нас есть другое виртуальное адресное пространство для ядра и нет разделения адресного пространства?
То есть ПРОЦЕСС АДРЕСА ПРОБЕЛ составляет 4 ГБ, а KERNEL АДРЕС ПРОБЕЛ - еще 4 ГБ; а не тот факт, что PROCESS ADDRESS SPACE увеличился до 8 ГБ, из которых 4 ГБ используются для ядра.
Я знаю, что здесь я звучу немного глупо:).