Vkernel - Vkernel
Оригинальный автор (ы) | Мэтью Диллон |
---|---|
Разработчики) | DragonFly BSD |
изначальный выпуск | DragonFly BSD § 1.8 (30 января 2007 г. )[1][2] |
Репозиторий | sys / vkernel.h, разработчик / виртуальный / vkernel /, vm / vm_vmspace.c, … |
Написано в | C |
Операционная система | DragonFly BSD |
Тип | Виртуализация на уровне ОС, виртуализированное ядро пользовательского пространства |
Лицензия | Лицензия BSD |
Интернет сайт | 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компоненты уровня пользовательского пространства запускаются непосредственно в пространстве ядра для обеспечения дополнительной производительности, поддерживаемой аппаратным обеспечением без операционной системы или стеком аппаратной виртуализации. Однако и vkernel, и unikernels могут использоваться для аналогичных задач, например, для автономного программного обеспечения в виртуализированной среде с низкими накладными расходами. Фактически, NetBSD крупа, изначально ориентированный на запуск компонентов ядра в пользовательском пространстве, с тех пор также переместился в пространство unikernel (после любое ядро прозвище для поддержки обеих парадигм).
Концепция vkernel отличается от FreeBSD тюрьма в этой тюрьме предназначена только для изоляции ресурсов и не может использоваться для разработки и тестирования новых функций ядра в пользовательской среде, потому что каждая тюрьма использует одно и то же ядро.[7] (Однако DragonFly все еще FreeBSD тюрьма поддержка тоже.[7])
В DragonFly vkernel можно рассматривать как первоклассный компьютерная архитектура, сравнимо с i386 или amd64, и, согласно Мэтью Диллон около 2007 г., может использоваться в качестве отправной точки для переноса DragonFly BSD на новые архитектуры.[12]
Ядро DragonFly поддерживается ядром хоста через новые системные вызовы которые помогают управлять адресным пространством виртуальной памяти (vmspace) — vmspace_create ()
и другие.,[3][9][13] а также расширения для нескольких существующих системных вызовов, таких как mmap
с Madvise
— mcontrol
.[9][14][15]
Смотрите также
Рекомендации
- ^ а б «Примечания к выпуску DragonFly 1.8.0». DragonFly BSD. 2007-01-30. Получено 2019-04-08.
- ^ а б Саша Вильднер (2007-01-08). "vkernel, vcd, vkd, vke - архитектура виртуального ядра". Руководство по разной информации DragonFly. DragonFly BSD. Сложить резюме.
- ^ а б c d Мэтью Диллон (2006-09-02). «Согласованность кэша, кластеризация и виртуализация ядра». ядро @ (Список рассылки). DragonFly BSD.
- ^ а б Джереми К. Рид, изд. (2007-02-10). «Ответы Мэтта Диллона о виртуальном ядре DragonFly». Информационный бюллетень BSD .com. Reed Media .net. В архиве из оригинала от 24 февраля 2007 г.
- ^ Дэниел Лорч (10.06.2009). «Перенос файловой системы HAMMER на Linux» (PDF). Сложить резюме (PDF).
UML запускает ядро Linux как процесс пользовательского пространства, аналогичный виртуальным ядрам DragonFly BSD… позволяет выполнять быстрый цикл перекомпиляции-перезапуска и может быть легко отлажен с помощью стандартного gdb.
- ^ Мэтью Диллон (2006). "sys / vkernel.h". Перекрестная ссылка BSD. DragonFly BSD.
- ^ а б c d Дэвид Чизнолл (15.06.2007). "DragonFly BSD: UNIX для кластеров?". InformIT. Prentice Hall Professional. Получено 2019-03-06.
- ^ Аггелос Экономопулос (29 марта 2010 г.). «Взгляд на виртуальное ядро DragonFly (часть 1)». LWN.net. Получено 2019-04-08.
- ^ а б c Аггелос Экономопулос (16 апреля 2010 г.). «Взгляд на виртуальное ядро DragonFly (часть 2)». LWN.net. Получено 2019-04-08.
- ^ Коэн Вервлосем (21 апреля 2010 г.). «DragonFly BSD 2.6: на пути к бесплатной кластерной операционной системе». LWN.net. Получено 2019-03-07.
- ^ Антти Канти (2007-08-05). "CVS commit: src / sys / rump". источник-изменения @ (Список рассылки). NetBSD.
Представляем RUMP - исполняемые мета-программы пользовательского пространства
- ^ Джереми Эндрюс (2007-08-06). «Интервью: Мэтью Диллон». KernelTrap. Получено 2019-03-03.
- ^ Мэтью Диллон (2006). "vm / vm_vmspace.c § sys_vmspace_create ()". Перекрестная ссылка BSD. DragonFly BSD.
- ^ "madvise, posix_madvise, mcontrol - дать совет по использованию памяти". Руководство по системным вызовам DragonFly. DragonFly BSD. Сложить резюме.
- ^ "kern / syscalls.master". Перекрестная ссылка BSD. DragonFly BSD.
внешняя ссылка
Эта статья о вычислительной технике заглушка. Вы можете помочь Википедии расширяя это. |