НольВМ
Оригинальный автор(ы) | Camuel Gilyadov, Constantine Peresypkin & Dmitri Bortok |
---|---|
Разработчик(и) | LiteStack, приобретенный Rackspace. |
Стабильная версия | 1.0 [1] ![]() |
Репозиторий | |
Написано в | С , сборка |
Операционная система | Линукс |
Платформа | х86-64 |
Тип | Виртуализация приложений |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | нольвм |
ZeroVM — это с открытым исходным кодом облегченная технология виртуализации и песочницы . Он виртуализирует один процесс с использованием платформы Google Native Client . Поскольку виртуализируется только один процесс (а не вся операционная система), затраты на запуск составляют порядка 5 мс. [2] [ нужен сторонний источник ]
Песочница [ править ]
ZeroVM создает «песочницу» вокруг одного процесса. [3] с использованием технологии на базе Google Native Client (NaCl). Песочница гарантирует, что выполняемое приложение не сможет получить доступ к данным в операционной системе хоста, поэтому выполнение ненадежного кода безопасно. Программы, выполняемые в ZeroVM, сначала необходимо скомпилировать на платформе NaCl. ZeroVM может выполнять только код NaCl, скомпилированный для платформы x86-64 , а не формат переносимого собственного клиента (PNaCl).
Код, выполняемый в ZeroVM, не может вызывать обычные системные вызовы и изначально не может взаимодействовать со средой хоста. Вся связь с внешним миром происходит по каналам , которые необходимо объявить перед запуском программы. За пределами песочницы канал можно подключить к локальному файлу, каналу или другому экземпляру ZeroVM. [4] Внутри песочницы программа видит канал как файловый дескриптор . Программа в песочнице может читать/записывать данные из/в канал, но не знает, к какому каналу подключен хост.
Программы, скомпилированные для ZeroVM, могут дополнительно использовать библиотеку времени выполнения ZeroVM под названием ZRT. Цель этой библиотеки — предоставить программе среду POSIX . [5] Это достигается путем замены частей стандартной библиотеки C. В частности, ZRT заменяет функции ввода/вывода файлов C, такие как fopen
и opendir
с версиями, которые работают в файловой системе в памяти. Корневая файловая система предоставляется в виде архива. Это позволяет программе «видеть» обычную среду Unix.
ZRT также заменяет функции даты и времени C, такие как time
предоставить программам фиксированную и детерминированную среду. При фиксированных входных данных каждое выполнение гарантированно дает один и тот же результат. Даже нефункциональные программы становятся детерминированными в этой ограниченной среде. [6] Это упрощает отладку программ, поскольку их поведение фиксировано.
Интеграция со Swift [ править ]
ZeroVM интегрирован со Swift , компонентом распределенного объектного хранилища OpenStack . [7] Когда промежуточное программное обеспечение ZeroCloud установлено в Swift, клиент может отправить запрос Swift, содержащий программу ZeroVM. Затем программа выполняется непосредственно на узлах хранения. Это означает, что программа имеет прямой доступ к данным.
История [ править ]
ZeroVM был разработан израильским стартапом LiteStack. Первый коммит в zerovm
Репозиторий Git был добавлен в ноябре 2011 года. [8] LiteStack был куплен Rackspace в октябре 2013 года. [2] [9] [10] ZeroVM приняла участие в инкубаторной программе Techstars Cloud 2013 и получила стартовое финансирование в размере 500 000 долларов США. [11] [12] Первый саммит по проектированию ZeroVM прошел в январе 2014 года в Техасском университете в Сан-Антонио . [13]
См. также [ править ]
- Собственный клиент Google
- LXC (контейнеры Linux)
- секкомп
- Докер (программное обеспечение)
Ссылки [ править ]
- ^ «Релиз 1.0» . 20 марта 2014 года . Проверено 23 июля 2018 г.
- ↑ Перейти обратно: Перейти обратно: а б Линдберг, Ван. «ZeroVM: меньше, легче, быстрее» . Блог Rackspace . Архивировано из оригинала 19 сентября 2015 года . Проверено 14 апреля 2014 г.
- ^ Егулалп, Сердар (23 октября 2013 г.). «ZeroVM виртуализирует приложения, а не машины» . Инфомир . Проверено 14 апреля 2014 г.
- ^ «Каналы ZeroVM» . Гитхаб . Проверено 14 апреля 2014 г.
- ^ «ЗРТ Readme» . Гитхаб . Проверено 14 апреля 2014 г.
- ^ «Архитектура ZeroVM» . Проверено 14 апреля 2014 г.
- ^ «ЗероОблако» . Гитхаб . Проверено 14 апреля 2014 г.
- ^ Гилядов, Камуэль. «Первый коммит» . Гитхаб . Проверено 18 апреля 2014 г.
- ^ Шама, Дэвид (24 октября 2013 г.). «Rackspace приобретает гипервизор ZeroVM, созданный для облака» . ЗДНет . Проверено 14 апреля 2014 г.
- ^ Кларк, Джек (25 октября 2013 г.). «Rackspace отправляется в Израиль, чтобы подобрать новое оружие для облачных войн» . Регистр . Проверено 14 апреля 2014 г.
- ^ Идан, Хенн (3 ноября 2013 г.). «Израильская компания ZeroVM приобретена RackSpace» . Время для компьютерщиков . Проверено 14 апреля 2014 г.
- ^ Лорек, Лаура (19 апреля 2013 г.). «ZeroVM создает программное обеспечение для облачных вычислений» . Новости Кремниевых Холмов . Проверено 14 апреля 2014 г.
- ^ Рэкспейс. «Саммит дизайна ZeroVM» . Ютуб . Проверено 18 апреля 2014 г.