vkernel
Оригинальный автор(ы) | Мэтью Диллон |
---|---|
Разработчик(и) | Стрекоза БСД |
Первоначальный выпуск | DragonFly BSD § 1.8 (30 января 2007 г ) [1] [2] |
Репозиторий | sys/vkernel.h , dev/virtual/vkernel/ , vm/vm_vmspace.c , … |
Написано в | С |
Операционная система | Стрекоза БСД |
Тип | Виртуализация на уровне ОС , виртуализированное ядро пользовательского пространства |
Лицензия | Лицензия БСД |
Веб-сайт | vkernel(7) |
Архитектура виртуального ядра ( vkernel ) — это операционной системы парадигма виртуализации , при которой код ядра может быть скомпилирован для запуска в пользовательском пространстве , например, для облегчения отладки различных компонентов уровня ядра. [3] [4] [5] в дополнение к виртуализации общего назначения и разделению системных ресурсов . Он используется DragonFly BSD в своей реализации vkernel, начиная с DragonFly 1.7. [2] впервые было обнаружено в сентябре 2006 года , [3] [6] и впервые выпущен в стабильной ветке вместе с DragonFly 1.8 в январе 2007 года . [1] [7] [8] [9] Долгосрочная цель, помимо упрощения разработки ядра, состоит в том, чтобы упростить поддержку подключенных к Интернету компьютерных кластеров без ущерба для локальной безопасности . [3] [4] Подобные концепции существуют и в других операционных системах; в Linux аналогичная концепция виртуализации известна как Linux пользовательского режима ; [10] [7] тогда как в NetBSD с лета 2007 года он был первоначальным фокусом инфраструктуры ядра ядра . [11]
Концепция виртуального ядра почти полностью противоположна концепции unikernel : с помощью vkernel компоненты ядра могут запускаться в пользовательском пространстве, что упрощает разработку и отладку ядра, поддерживаемые обычным ядром операционной системы; тогда как при использовании unikernel компоненты уровня пользовательского пространства могут запускаться непосредственно в пространстве ядра для дополнительной производительности, поддерживаемые аппаратным обеспечением без ОС или аппаратным стеком виртуализации. Однако как vkernels, так и unikernels можно использовать и для аналогичных задач, например, для автономного размещения программного обеспечения в виртуализированной среде с низкими накладными расходами. Фактически, ядро NetBSD , первоначально предназначенное для запуска компонентов ядра в пользовательском пространстве, с тех пор также переместилось в пространство одноядерных систем (вслед за прозвищем Anykernel для поддержки обеих парадигм).
Концепция vkernel отличается от джейла FreeBSD тем, что джейл предназначен только для изоляции ресурсов и не может использоваться для разработки и тестирования новых функций ядра в пользовательской среде, поскольку каждая джейл использует одно и то же ядро. [7] (Однако DragonFly по-прежнему поддерживает тюрьму FreeBSD . [7] )
В DragonFly vkernel можно рассматривать как первоклассную компьютерную архитектуру , сравнимую с i386 или amd64, и, по словам Мэтью Диллона примерно в 2007 году, его можно использовать в качестве отправной точки для портирования DragonFly BSD на новые архитектуры. [12]
Ядро DragonFly поддерживается ядром хоста посредством новых системных вызовов , которые помогают управлять адресным пространством виртуальной памяти ( vmspace ). vmspace_create()
и др., [3] [9] [13] а также расширения нескольких существующих системных вызовов, таких как mmap
's madvise
— mcontrol
. [9] [14] [15]
См. также [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б «Примечания к выпуску DragonFly 1.8.0» . Драгонфлай БСД . 30 января 2007 г. Проверено 08 апреля 2019 г.
- ↑ Перейти обратно: Перейти обратно: а б Саша Вильднер (8 января 2007 г.). «vkernel, vcd, vkd, vke — архитектура виртуального ядра» . Прочее информационное руководство по DragonFly . Драгонфлай БСД .
- «vkernel, vcd, vkd, vke — архитектура виртуального ядра». Страницы онлайн-руководства DragonFly .
- ↑ Перейти обратно: Перейти обратно: а б с д Мэтью Диллон (2 сентября 2006 г.). «Когерентность кэша, кластеризация и виртуализация ядра» . kernel@ (список рассылки). Драгонфлай БСД .
- ↑ Перейти обратно: Перейти обратно: а б Джереми С. Рид, изд. (10 февраля 2007 г.). «Ответы Мэтта Диллона о виртуальном ядре DragonFly» . Информационный бюллетень BSD .com . Рид Медиа.net. Архивировано из оригинала 24 февраля 2007 г.
- ^ Дэниел Лорх (10 июня 2009 г.). «Портирование файловой системы HAMMER в Linux» (PDF) .
UML запускает ядро Linux как процесс пользовательского пространства, аналогичный виртуальным ядрам DragonFly BSD… допускает быстрый цикл перекомпиляции-перезапуска и может легко отлаживаться с помощью стандартного GDB.
- Дэниел Лорх (10 июня 2009 г.). «Портирование файловой системы HAMMER в Linux» (PDF) . гитхаб .
- ^ Мэтью Диллон (2006). "sys/vkernel.h" . Перекрестная ссылка BSD . Драгонфлай БСД .
- ↑ Перейти обратно: Перейти обратно: а б с д Дэвид Чисналл (15 июня 2007 г.). «DragonFly BSD: UNIX для кластеров?» . ИнформИТ . Прентис Холл Профессионал . Проверено 6 марта 2019 г.
- ^ Аггелос Экономопулос (29 марта 2010 г.). «Взгляд на виртуальное ядро DragonFly (часть 1)» . LWN.net . Проверено 08 апреля 2019 г.
- ↑ Перейти обратно: Перейти обратно: а б с Аггелос Экономопулос (16 апреля 2010 г.). «Взгляд на виртуальное ядро DragonFly (часть 2)» . LWN.net . Проверено 08 апреля 2019 г.
- ^ Коэн Вервлёсем (21 апреля 2010 г.). «DragonFly BSD 2.6: на пути к операционной системе со свободной кластеризацией» . LWN.net . Проверено 7 марта 2019 г.
- ^ Антти Канти (5 августа 2007 г.). «CVS-фиксация: src/sys/rump» . source-changes@ (список рассылки). НетБСД .
Представляем RUMP — запускаемые метапрограммы пользовательского пространства
- ^ Джереми Эндрюс (6 августа 2007 г.). «Интервью: Мэтью Диллон» . Ядерная ловушка . Архивировано из оригинала 7 февраля 2012 г. Проверено 3 марта 2019 г.
- ^ Мэтью Диллон (2006). «vm/vm_vmspace.c § sys_vmspace_create()» . Перекрестная ссылка BSD . Драгонфлай БСД .
- ^ «madvise, posix_madvise, mcontrol — дать совет по использованию памяти» . Руководство по системным вызовам DragonFly . Драгонфлай БСД .
- «madvise, posix_madvise, mcontrol — дать совет по использованию памяти». Страницы онлайн-руководства DragonFly .
- ^ "керн/syscalls.master" . Перекрестная ссылка BSD . Драгонфлай БСД .
Внешние ссылки [ править ]
- программное обеспечение 2006 года
- программное обеспечение BSD
- Компьютерная архитектура
- Производительность компьютера
- Стрекоза БСД
- Бесплатное программное обеспечение, написанное на C.
- Бесплатное программное обеспечение для виртуализации
- Ядра операционной системы
- Безопасность операционной системы
- Технология операционной системы
- Системное администрирование
- Виртуальные машины
- Программное обеспечение для виртуализации
- Программное обеспечение, использующее лицензию BSD
- Незавершенные расчеты по вычислительной технике