Из Википедии, бесплатной энциклопедии
  (Перенаправлено из пространства ядра )
Перейти к навигации Перейти к поиску

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

Пространство ядра строго зарезервировано для запуска ядра привилегированной операционной системы , расширений ядра и большинства драйверов устройств . Напротив, пространство пользователя - это область памяти, в которой выполняется прикладное программное обеспечение и некоторые драйверы.

Обзор [ править ]

Термин пользовательские программы (или в пространстве пользователя) относится ко всему коду , который работает вне ядра операционной системы. [1] Userland обычно относится к различным программам и библиотекам, которые операционная система использует для взаимодействия с ядром: программное обеспечение, которое выполняет ввод / вывод , управляет объектами файловой системы , прикладное программное обеспечение и т. Д.

Каждый процесс пользовательского пространства обычно выполняется в собственном пространстве виртуальной памяти и, если это явно не разрешено, не может получить доступ к памяти других процессов. Это основа защиты памяти в современных основных операционных системах и строительный блок для разделения привилегий . Отдельный пользовательский режим также можно использовать для создания эффективных виртуальных машин - см. Требования к виртуализации Попека и Голдберга . Обладая достаточными привилегиями, процессы могут запрашивать ядро ​​для отображения части пространства памяти другого процесса на его собственное, как в случае с отладчиками . Программы также могут запрашивать общую памятьрегионов с другими процессами, хотя доступны и другие методы, позволяющие осуществлять обмен данными между процессами .

Реализация [ править ]

Наиболее распространенный способ реализации пользовательского режима отдельно от режима ядра - это кольца защиты операционной системы .

Другой подход, принятый в экспериментальных операционных системах, заключается в том, чтобы иметь единое адресное пространство для всего программного обеспечения и полагаться на семантику языка программирования, чтобы гарантировать невозможность доступа к произвольной памяти - приложения просто не могут получить какие-либо ссылки на объекты, которые им запрещены. доступ. [2] [3] Этот подход был реализован в JXOS , Unununium, а также в исследовательском проекте Microsoft Singularity .

См. Также [ править ]

  • BIOS
  • Режимы ЦП
  • Защита памяти

Заметки [ править ]

  1. ^ Старые операционные системы, такие как DOS и Windows 3.1x , не используют эту архитектуру.

Ссылки [ править ]

  1. ^ "userland, n." Жаргон файла . Эрик С. Раймонд . Проверено 14 августа 2016 .
  2. ^ "Введение в систему Unununium" . Архивировано из оригинала на 2001-12-15 . Проверено 14 августа 2016 .
  3. ^ "uuu / docs / system_introduction / uuu_intro.tex" . Руководство по внедрению системы UUU . 2001-06-01 . Проверено 14 августа 2016 .

Внешние ссылки [ править ]

  • Определение пространства ядра Linux
  • Вход в режим пользователя на Wayback Machine (архивировано 26 марта 2016 г.)