Введение

Способ использования компьютерной памяти

Пользовательское пространство на Википедии

Современная компьютерная операционная система обычно использует виртуальную память для обеспечения отдельных адресных пространств, называемых пользовательским пространством и пространством ядра. Прежде всего, это разделение служит для защиты памяти и аппаратного обеспечения от вредоносных или ошибочных действий программного обеспечения. Пространство ядра строго зарезервировано для работы привилегированного ядра операционной системы, расширений ядра и большинства драйверов устройств. В отличие от этого, пользовательское пространство – это область памяти, где выполняются прикладные программы и некоторые драйверы, как правило, одно адресное пространство на процесс.

Обзор

Термин user space (или userland) относится ко всему коду, выполняемому вне ядра операционной системы. Пользовательское пространство обычно включает в себя различные программы и библиотеки, которые операционная система использует для взаимодействия с ядром: программное обеспечение для ввода/вывода, манипулирования объектами файловой системы, прикладное программное обеспечение и т.д. Каждый процесс в пользовательском пространстве обычно выполняется в собственном виртуальном адресном пространстве и, если явно не разрешено, не может получить доступ к памяти других процессов. Это основа защиты памяти в современных операционных системах и один из ключевых элементов разделения привилегий. Отдельный пользовательский режим также может использоваться для создания эффективных виртуальных машин – см. требования к виртуализации Попека и Голдберга. При наличии достаточных прав процессы могут запросить у ядра отображение части адресного пространства другого процесса в свое собственное, как это происходит, например, с отладчиками. Программы также могут запрашивать области разделяемой памяти с другими процессами, хотя для межпроцессного взаимодействия доступны и другие механизмы.