Jump to content

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

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

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

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

Термин «пространство пользователя» (или «страна пользователя» ) относится ко всему коду, который выполняется вне ядра операционной системы. [2] Под пользовательским пространством обычно понимаются различные программы и библиотеки , которые операционная система использует для взаимодействия с ядром: программное обеспечение, выполняющее ввод/вывод , манипулирующее файловой системы объектами , прикладное программное обеспечение и т. д.

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

Различные уровни в Linux, также показывающие разделение между пользовательской областью и пространством ядра.
Пользовательский режим Пользовательские приложения bash , LibreOffice , GIMP , Blender , 0 AD , Mozilla Firefox , ...
Компоненты системы демон инициализации :
OpenRC , runit , systemd ...
Системные демоны :
polkitd , smbd , sshd , udevd ...
Оконный менеджер :
X11 , Wayland , SurfaceFlinger (Android)
Графика :
Меса , катализатор AMD , ...
Другие библиотеки:
GTK , Qt , EFL , SDL , SFML , FLTK , GNUstep , ...
Стандартная библиотека C fopen, execv, malloc, memcpy, localtime, pthread_create... (до 2000 подпрограмм )
glibc стремится быть быстрым, musl стремится быть легким, uClibc нацелен на встраиваемые системы, bionic написан для Android и т. д. Все стремятся быть POSIX / SUS -совместимыми.
Режим ядра Ядро Linux stat, splice, dup, read, open, ioctl, write, mmap, close, exitи т. д. (около 380 системных вызовов)
ядра Linux Интерфейс системных вызовов (SCI) должен быть POSIX / SUS -совместимым. [3]
планирования процессов Подсистема IPC Подсистема управления памятью Подсистема виртуальных файлов Подсистема Сетевая подсистема
Другие компоненты: ALSA , DRI , evdev , klibc , LVM , устройство отображения устройств , сетевой планировщик Linux , Netfilter.
Модули безопасности Linux : SELinux , TOMOYO , AppArmor , Smack
Аппаратное обеспечение ( ЦП , основная память , устройства хранения данных и т. д.)

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

Самый распространенный способ реализации пользовательского режима отдельно от режима ядра операционной системы включает в себя защитные кольца .Кольца защиты, в свою очередь, реализованы с помощью режимов ЦП .Обычно программы пространства ядра работают в режиме ядра , также называемом режимом супервизора ;обычные приложения в пользовательском пространстве запускаются в пользовательском режиме.

Некоторые операционные системы представляют собой операционные системы с единым адресным пространством — они имеют единое адресное пространство для всего кода пользовательского режима. (Код режима ядра может находиться в том же адресном пространстве или во втором адресном пространстве).Другие операционные системы имеют адресное пространство для каждого процесса и отдельное адресное пространство для каждого процесса пользовательского режима.

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

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

Примечания [ править ]

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

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

  1. ^ «Адресное пространство» . Параметры адресного пространства для 32-битных систем.
  2. ^ "пользовательское пространство, n." Файл жаргона . Эрик С. Рэймонд . Проверено 14 августа 2016 г.
  3. ^ «Руководство администратора README» . Git-репозитории Kernel.org .
  4. ^ «Введение в систему Унунуниум» . Архивировано из оригинала 15 декабря 2001 г. Проверено 14 августа 2016 г.
  5. ^ "uuu/docs/system_introduction/uuu_intro.tex" . Руководство по ознакомлению с системой UUU . 01.06.2001 . Проверено 14 августа 2016 г.

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

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 91a7c4d81f07abc8e318f36957e397b7__1718568780
URL1:https://arc.ask3.ru/arc/aa/91/b7/91a7c4d81f07abc8e318f36957e397b7.html
Заголовок, (Title) документа по адресу, URL1:
User space and kernel space - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)