Jump to content

Экзоядро

Графический обзор Экзоядра. Экзоядра намного меньше обычного ядра ( монолитного ядра ). Они предоставляют более прямой доступ к оборудованию, тем самым удаляя большинство абстракций.

Экзоядро — это ​​операционной системы, ядро разработанное группой MIT . параллельных и распределенных операционных систем [1] а также класс подобных операционных систем.

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

Реализованные абстракции называются библиотечными операционными системами; они могут запрашивать определенные адреса памяти, дисковые блоки и т. д. Ядро лишь гарантирует, что запрошенный ресурс свободен и приложению разрешен доступ к нему. Этот низкоуровневый аппаратный доступ позволяет программисту реализовывать собственные абстракции и исключать ненужные, чаще всего для повышения производительности программы. Это также позволяет программистам выбирать, какой уровень абстракции они хотят: высокий или низкий.

Экзоядра можно рассматривать как применение сквозного принципа к операционным системам, поскольку они не заставляют прикладную программу накладывать свои абстракции поверх других абстракций, которые были разработаны с учетом других требований. Например, в проекте MIT Exokernel веб-сервер Cheetah хранит на диске предварительно отформатированные пакеты интернет-протокола , ядро ​​обеспечивает безопасный доступ к диску, предотвращая несанкционированное чтение и запись, но то, как диск абстрагируется, зависит от приложения или библиотеки, которые использует приложение.

Мотивация [ править ]

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

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

Экзоядра MIT [ править ]

MIT разработал две операционные системы на основе экзоядра, использующие два ядра: Aegis, экспериментальную концепцию с ограниченной поддержкой хранилища, и XOK, в которой концепция экзоядра применялась более тщательно.

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

Дизайн [ править ]

Экзоядро MIT управляет аппаратными ресурсами следующим образом:

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

Приложения [ править ]

Доступные библиотеки операционных систем для Exokernel включают специальную систему ExOS и эмулятор для BSD . В дополнение к этому команда exokernel создала веб-сервер Cheetah , который использует ядро ​​напрямую.

История [ править ]

Архитектура MINIX 3

Концепция экзоядра существует как минимум с 1994 года. [3] но по состоянию на 2010 год экзоядра все еще являются исследовательской разработкой и не использовались ни в одной крупной коммерческой операционной системе.

Концепция управления экзоядерной системой — Nemesis , разработанная Кембриджским университетом , Университетом Глазго , Citrix Systems и Шведским институтом компьютерных наук . MIT также создал несколько систем на основе экзоядра, включая ExOS.

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

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

  1. ^ «Экзоядерная операционная система MIT» . pdos.csail.mit.edu . Проверено 25 января 2018 г.
  2. ^ Энглер, доктор медицинских наук; Каашук, МФ; О'Тул младший, Дж.; Энглер, доктор медицинских наук; Каашук, МФ; О'Тул младший, Дж. (3 декабря 1995 г.). «Экзоядро: архитектура операционной системы для управления ресурсами на уровне приложений». Обзор операционных систем ACM SIGOPS . 29 (5): 251, 251–266, 266. doi : 10.1145/224056.224076 . ISSN   0163-5980 . S2CID   221932539 .
  3. ^ Энглер, Каашук и О'Тул 1995 .

Библиография [ править ]

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

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