ZeroVM

редактировать
ZeroVM
Первоначальный автор (ы) Камуэль Гилядов, Константин Пересыпкин и Дмитрий Борток
Разработчик (и) LiteStack, который был приобретен Rackspace
Предварительный выпуск 0.9.4 / 26 ноября, 2013; 6 лет назад (26.11.2013)
Репозиторий Отредактируйте это в Wikidata
Написано наC, сборке
Операционная система Linux
Платформа x86-64
Тип Виртуализация приложений
Лицензия Лицензия Apache 2.0
Веб-сайтzerovm.org

ZeroVM - это технология с открытым исходным кодом облегченная виртуализация и песочница. Он виртуализирует один процесс с помощью платформы Google Native Client. Поскольку виртуализирован только один процесс (вместо полной операционной системы), накладные расходы на запуск составляют порядка 5 мс.

Содержание
  • 1 Песочница
  • 2 Интеграция со Swift
  • 3 История
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Изолированная среда

ZeroVM создает изолированную программную среду вокруг одного процесса с использованием технологии, основанной на Google Native Client (NaCl). Песочница гарантирует, что выполняемое приложение не может получить доступ к данным в операционной системе хоста, поэтому выполнение ненадежного кода безопасно. Программы, выполняемые в ZeroVM, сначала должны быть скомпилированы на платформе NaCl. ZeroVM может выполнять только код NaCl, скомпилированный для платформы x86-64, но не формат Portable Native Client (PNaCl).

Код, выполняемый в ZeroVM, не может вызывать обычные системные вызовы и изначально не может взаимодействовать с хост-средой. Все коммуникации с внешним миром происходят по каналам, о которых необходимо объявить перед запуском программы. Вне песочницы канал может быть подключен к локальному файлу, каналу или другому экземпляру ZeroVM. Внутри песочницы программа видит канал как файловый дескриптор . Изолированная программа может читать / записывать данные из / в канал, но не знает, где канал подключен на хосте.

Программы, скомпилированные для ZeroVM, могут дополнительно использовать библиотеку времени выполнения ZeroVM под названием ZRT. Эта библиотека предназначена для обеспечения программы средой POSIX. Это делается путем замены частей стандартной библиотеки C. В частности, ZRT заменяет функции ввода / вывода файла C, такие как fopenи opendir, версиями, которые работают с файловой системой в памяти. Корневая файловая система предоставляется в виде архива. Это позволяет программе «видеть» обычную среду Unix.

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

Интеграция со Swift

ZeroVM интегрирован с Swift, компонентом распределенного хранилища объектов в OpenStack. Когда промежуточное ПО ZeroCloud установлено в Swift, клиент может сделать запрос к Swift, содержащий программу ZeroVM. Затем программа выполняется непосредственно на узлах хранения. Это означает, что программа имеет прямой доступ к данным.

История

ZeroVM был разработан LiteStack, израильским стартапом. Первый коммит в репозиторий zerovmGit был добавлен в ноябре 2011 года. LiteStack был куплен Rackspace в октябре 2013 года. ZeroVM участвовала в Techstars Программа инкубатора Cloud 2013 и получила начальное финансирование в размере 500 000 долларов США. Первый саммит ZeroVM Design Summit прошел в январе 2014 года в Техасском университете в Сан-Антонио.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-23 08:38:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте