Jump to content

вДСО


vDSO ( виртуальный динамический общий объект ) — это механизм ядра для экспорта тщательно выбранного набора подпрограмм пространства ядра в приложения пользовательского пространства , чтобы приложения могли вызывать эти подпрограммы пространства ядра в процессе, не подвергаясь снижению производительности при переключении режима из пользовательского режима. в режим ядра , который присущ при вызове тех же подпрограмм пространства ядра посредством интерфейса системного вызова . [1] [2]

vDSO использует стандартные механизмы для связывания и загрузки, то есть стандартный формат исполняемых и связываемых файлов (ELF). [3] [4] vDSO — это область памяти, выделенная в пользовательском пространстве, которая предоставляет некоторые функции ядра. vDSO распределяется динамически , обеспечивает повышенную безопасность за счет рандомизации структуры адресного пространства и поддерживает более четырех системных вызовов. Некоторые стандартные библиотеки C , такие как glibc , могут предоставлять ссылки vDSO, поэтому, если ядро ​​не поддерживает vDSO, традиционный системный вызов . выполняется [5] vDSO помогает снизить накладные расходы на вызовы в простых процедурах ядра, а также может служить способом выбора лучшего метода системного вызова на некоторых компьютерных архитектурах, таких как IA-32 . [6] Преимущество перед другими методами заключается в том, что такие экспортированные процедуры могут предоставить правильную отладочную информацию DWARF (отладка с форматом записи с атрибутами). Реализация обычно подразумевает перехваты в динамическом компоновщике для поиска vDSO.

vDSO был разработан, чтобы предложить функции vsyscall, преодолевая при этом его ограничения: небольшой объем статически выделенной памяти, который позволяет использовать только четыре системных вызова, и одинаковые адреса двоичного интерфейса приложения (ABI) в каждом процессе, что ставит под угрозу безопасность. Эта проблема безопасности была устранена за счет эмуляции вызова виртуальной системы , но эмуляция приводит к дополнительной задержке. [5]

  1. ^ Энрико Перла; Массимилиано Олдани (16 декабря 2016 г.). Взлом ядра: понимание, написание и защита от эксплойтов: выявление уязвимостей в архитектуре ядра и принятие контрмер (на немецком языке). Франциск Верлаг. стр. 466–. ISBN  978-3-645-20503-0 .
  2. ^ «vDSO — обзор виртуального динамического общего объекта ELF» . Канонический. Архивировано из оригинала 4 марта 2016 года . Проверено 10 декабря 2015 г.
  3. ^ «Создание vDSO: другая курица полковника» . Linuxjournal.com . Проверено 16 февраля 2015 г.
  4. ^ «О vsyscalls и vDSO» . Lwn.net . Проверено 16 февраля 2015 г.
  5. ^ Jump up to: а б "Ответ сообщества на вопрос "Что такое vDSO и vsyscall?" " . Проверено 19 ноября 2016 г.
  6. ^ «Анатомия системного вызова, часть 2» . Lwn.net . Проверено 19 ноября 2018 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 24ceb9523dea5f54ca59d7e9253aa973__1711866240
URL1:https://arc.ask3.ru/arc/aa/24/73/24ceb9523dea5f54ca59d7e9253aa973.html
Заголовок, (Title) документа по адресу, URL1:
vDSO - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)