The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Первый выпуск гипервизора Bareflank

22.07.2016 21:47

Компания Assured Information Security представила новый открытый проект Bareflank, в рамках которого развивается гипервизор, ориентированный на использование в качестве прототипа для быстрой разработки собственных специализированных гипервизоров. В отличие от других гипервизоров Bareflank написан на языке C++, поддерживает C++ STL и предоставляет собственную библиотеку раскручивания стека исключений (unwind). Модульная архитектура Bareflank позволят легко расширять имеющиеся возможности гипервизора и создавать собственные варианты гипервизоров, как работающих поверх оборудования (как Xen), так и запускаемых в имеющемся программном окружении (как VirtualBox). Код проекта распространяется под лицензией LGPL 2.1.

Основные особенности:

  • Поддержка Linux на 64-разрядных CPU Intel. В будущем ожидается поддержка Windows, macOS и UEFI, а также возможность работы на платформах ARM и AMD;
  • Поддержка одноядерных систем (на многоядерных CPU гипервизор пока привязывается к core 0). Появление поддержки многоядерных систем запланировано на сентябрь 2016 года;
  • Возможность написания расширений с использованием элементов, определённых в спецификациях C++11/14 (например, умных указателей и сложных типов);
  • Применение технологии Intel VT-x для аппаратного разделения ресурсов виртуальных машин;
  • Предоставление собственной runtime-библиотеки для поддержки применения конструкторов/деструкторов и регистрации обработчиков исключений;
  • Собственный драйвер для загрузки VMM (Virtual Machine Manager) и собственный ELF-загрузчик для загрузки модулей VVM;
  • Наличие приложения bfm для управления гипервизором из пространства пользователя;
  • Собственная unwind-библиотека, которая может применяться на уровне ядра;
  • Выполнение операционной системы хост-окружения в отдельной виртуальной машине;
  • Собственное сборочное окружение. Руководство по созданию сборочных окружений и драйверов подготовлено для Ubuntu, Debian и Fedora;
  • Полный набор unit-тестов.




  1. Главная ссылка к новости (https://www.ainfosec.com/2016/...)
  2. OpenNews: Для процессоров MIPS представлен первый открытый гипервизор
  3. OpenNews: Релиз гипервизора Xen 4.7.0
  4. OpenNews: Docker поглотил Unikernel, технологию выполнения приложений поверх гипервизора
  5. OpenNews: В состав OpenBSD включён новый гипервизор VMM
  6. OpenNews: Второй выпуск свободного гипервизора Jailhouse
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44829-bareflank
Ключевые слова: bareflank, hypervisor
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:20, 22/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –14 +/
    Толком ничего не умеет, но написан на C++.
    Это успех.
     
     
  • 2.7, Аноним (-), 08:30, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Если бы был написан на руби, умел бы всё и сразу. Руби даёт +100500 к умениям.
     
     
  • 3.10, Аноним (-), 10:23, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Просто удивляет когда описание гипервизора выглядит так:

    1) написан на модном С++14 (и чо ?)
    2) использует стильные смартпойнтеры и контейнеры (и чо ?)
    3) у нас своя молодежная система сборки (свсм упрлс ?)
    4) у нас есть замечательные юнит-тесты (ну да, гипервизору без них прям не жиздь)
    5) SMP не поддерживается, как-нибудь потом сделаем (блджад !?!?!?!)

     
     
  • 4.15, Аноним (-), 12:33, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    6) наш главный разработчик носит зелёные кеды, зашнуровываемые до колена.
     
     
  • 5.18, Аноним (-), 14:46, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Это кстати многое объясняет.
     
  • 5.29, Sabakwaka (ok), 15:27, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> носит зелёные кеды, зашнуровываемые до колена

    Еще у него дом, машина, яхта и очередь на 100 лет вперёд из желающих сманить его на бОльшую зарплату.

    А что у тебя? Билетик на траннвай?

     
     
  • 6.34, Аноним (-), 11:05, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Еще у него дом, машина, яхта и очередь на 100 лет вперёд
    > из желающих сманить его на бОльшую зарплату.

    А ты что, из налоговой? Или просто язык длинный, в соответствии с ником?

     
  • 6.38, Аноним (-), 15:29, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >>> носит зелёные кеды, зашнуровываемые до колена
    > Еще у него дом, машина, яхта и очередь на 100 лет вперёд
    > из желающих сманить его на бОльшую зарплату.
    > А что у тебя? Билетик на траннвай?

    ага и проблемы с самооценкой, отчего для компенсации грабель с самореализацией и моральным фоном - ему приходится извергать нечто подобное на ни в чем не повинных окружающих безсистемно ;)

     
  • 4.16, freehck (ok), 13:12, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Просто удивляет когда описание гипервизора выглядит так:
    >
    > 1) написан на модном С++14 (и чо ?)
    > 2) использует стильные смартпойнтеры и контейнеры (и чо ?)
    > 3) у нас своя молодежная система сборки (свсм упрлс ?)
    > 4) у нас есть замечательные юнит-тесты (ну да, гипервизору без них прям не жиздь)

    Я в новости вижу вещи посущественнее, но даже если и так, то почему бы и нет?
    Когда проект стартует, там на самом деле надо решить хренову кучу вопросов микроменеджмента:
    Как хранить параметры? Какие из них сделать конфигурируемыми извне?
    Как устроить логгирование? В каждом месте пуст каждый сам решает, как рапортовать об ошибке, или напишем модуль для группировки оных?
    Как собирать проект? Иногда в существующих системах сборки обнаруживается какая-нибудь неприятная особенность, с которой после некоторого времени уже никак нельзя смириться, так что иногда можно и свою замутить. Хотя в случае C++ я не уверен, почему бы не взять существующую.
    Обвешивать ли всё юнит-тестами сразу, или воплотить сначала идею, отшлифовать, а уже потом тесты сделать?..

    И так далее, далее... Все эти вопросы - часть архитектуры проекта, и в совокупности своей довольно немаленькая.

    И в общем-то, поскольку это первая версия, а стало быть, прототип, именно эти вопросы и имеют первостепенную важность для тех, кто будет сейчас вливаться в проект. Это - внимание к мелочам.

     
     
  • 5.22, АнонимХ (ok), 18:35, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Когда проект стартует

    Ну так убавьте пафаса. Нечего в новости писать? Сделайте мининовость. Зачем эти школьные отписки и вода

     
  • 5.27, илья (??), 08:59, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Обвешивать ли всё юнит-тестами сразу, или воплотить сначала идею, отшлифовать, а уже потом тесты сделать?..

    забить в процессе разработки, а под конец написать один интеграционный с over9000 ассёртов

     
     
  • 6.37, freehck (ok), 11:39, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Обвешивать ли всё юнит-тестами сразу, или воплотить сначала идею, отшлифовать, а уже потом тесты сделать?..
    > забить в процессе разработки, а под конец написать один интеграционный с over9000
    > ассёртов

    Удачи. :)

     
  • 4.25, Аноним (-), 22:49, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтоб вам месяц сидеть на гипервизоре, у котого не было юнит-тестов в цикле разработки!
     
     
  • 5.32, Аноним (-), 22:23, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Еще один нашедший серебряную пулю :(

    Основные проблемы в низкоуровневом софте лежат в области взаимодействия c железом со всеми его ерратами, а в случае гипервизора еще и с гостевыми ОС каждая из которых со своей особой придурью. Ну что сынку, помогли тебе твои юнит-тесты ?

     
  • 5.35, Аноним (-), 11:06, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Чтоб вам месяц сидеть на гипервизоре, у котого не было юнит-тестов в
    > цикле разработки!

    Видал я как-то софт обложенный юниттестами. Это не помешало ему релизнуться с критичными багами.

     
  • 3.28, вцуауа (?), 12:18, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    бедонщик Васько?
     
  • 2.12, SubGun (??), 11:57, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там же написано, что это прототип. Ты его берешь за основу и дописываешь все, что тебе нужно, с блэкджеком и школьницами.
     
     
  • 3.41, Аноним (-), 20:25, 26/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Там же написано, что это прототип. Ты его берешь за основу и
    > дописываешь все, что тебе нужно, с блэкджеком и школьницами.

    .... и получаешь - ТАДААААА! - 2049й дистр линя!

     
  • 2.24, Sabakwaka (ok), 21:16, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Толком ничего не умеет, но написан на C++.

    Размотка исключений, Полиграф Полиграфович.

     
     
  • 3.40, Crazy Alex (ok), 22:07, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Тут объяснять бесполезно
     

  • 1.3, Celcion (ok), 23:09, 22/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Раньше студент программист-системщик начинал с написания собственной ОС. Теперь, видимо, с написания собственного гипервизора.
    Меняются времена. И мода меняется...
     
     
  • 2.5, Анонимизирующийнедоанонимизатор (?), 23:21, 22/07/2016 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Нынешние нестудденты ноуют, что какие-то студенты хоть что-то пишут, а они не могут...
    Опеннет уже не тот...
     
  • 2.8, Аноним (-), 08:55, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Раньше (во второй половине 90ых) школьники начинали изучать C, чтобы написать собственную игруху - тогда игры были гораздо проще и разработка собственной выглядела более-менее реалистично. Поэтому на форумах регулярно появлялся школьник, собирающийся запилить наиновейшую супер-пуппер-мегаигру, в которой "бандиты набигают и можно грабить корованы" (цэ).
    Аналогично с системами: линукс был молодым, а сеть была телефон (у кого она была), поэтому у всех была коварная виндуза и - у ряда передовых гиков - полуось.
    Поэтому написанием "систем" студенты/старшешкольники занимались до года этак 2005го - одни из таких "системы" переходили в защищённый режим из-под доса (как ранние виндузы) и выводили на экран точку в графическом режиме - графический api сильно трудозатратен, поэтому редкая система доживала даже до точки; другие ограничивались "мощным" бутлодером, который в 512 байтах кроме самого бутлодера содержит ещё и менюху загружаемых систем (и интерфейс навигации по ней), и на саму систему разработчика уже не хватало.
    Сейчас все системы - это линукс, фря или openbsd; все браузеры - хромиум; игры реализуемы только табуном специалистов; языков - великое множество и каждый обладает некоторым множеством юных изучателей, искренне верящих во всемогущество этого языка и инвалидность всех остальных.
    Поэтому вот как-то так...
     
     
  • 3.11, fi (ok), 11:11, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Раньше (во второй половине 80ых) школьники начинали изучать C, чтобы написать собственную игруху -

    fixed.

     
     
  • 4.14, Аноним (-), 12:32, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    нет, именно 90ых, потому что именно тогда в школах уже стояли старые 286ые, на которых можно было сделать что-то цветное и более-менее интересное. и уже преподавали трубопаскаль (turbo pascal 5.5, ближе к 2000ым поставили tp7.0), а энтузиасты умели ставить turbo c 2.0.
     
     
  • 5.30, Аноним (-), 17:10, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Неэнтузиасты, правда в НИИ при универе, ещё в начале 1990-х умели ставить Borland C++ под DOS. ;)
     
     
  • 6.31, Аноним (-), 18:38, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    возможно, не каждый комментатор здесь осведомлён, но между школьником-энтузиастом и штатным сотрудником НИИ обычно есть небольшая разница, в среднем составляющая 8 лет образования.
     
     
  • 7.33, mickvav (?), 10:58, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    В относительных единицах ещё круче - разница во времени работы с компом между ними была тогда примерно раз в 5. Сейчас, кстати, только раза в два-три, так что толковые школьники (коих мало, увы) к концу школы умеют столько же, сколько многие сотрудники НИИ 10-летней давности.
     
  • 3.19, Аноним84701 (?), 15:07, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > другие ограничивались "мощным" бутлодером, который в 512 байтах кроме самого бутлодера
    > содержит ещё и менюху загружаемых систем (и интерфейс навигации по ней),
    > и на саму систему разработчика уже не хватало.

    Это не так уж и мало, если учитывать отсутствие возможности скопипаст^W черпать вдохновение из сети )
    Да что там "вдохновение" — банально документацию найти не так-то и просто, если доступ в сеть дорог (и его, в зависимости от места проживания, сперва нужно где-то найти, потом по быстрому искать и качать).

    Да и при ошибках не "загуглишь" что да как, а ведь даже в банальном загрузчике нужна пара-тройка костылей для некоторых байосов.
    А еще — о виртуалках никто слыхом не слыхивал, да и второй "писюк" тоже роскошь, так что все тесты с перезагрузкой, нормально дебажить тоже нельзя …
    В общем, это сейчас можно довольно просто написать "классический" загрузчик для x86, а тогда "обычный школьник" вполне мог этим гордиться )

     
     
  • 4.36, ffirefox (?), 11:38, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, ладно! Раньше было проще т.к. предметная область была обозримой. Документации, может быть, было меньше (документация на MASM/NASM и т.д. были, Interrupt List резидентный, по CGA/EGA/VGA/SVGA документации тоже навалом было (по EGA уж точно)), зато и информационного шума было меньше. Опять же интернет был не у всех, а в FIDO было порядка больше и размазанность ресурсов меньше. Люди, как правило, дорожили своей репутацией и отвечали по существу.

    PS:
    С игрух начинали писатели на Pascal/C/C++, а начинавшие с ассемблера (или приходившие с синклера) начинали с резидентов (руссификаторов со своими крютыми шрифтами), загрузчиков и демок.

     
     
  • 5.39, Аноним84701 (?), 16:44, 25/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Да, ладно! Раньше было проще т.к. предметная область была обозримой. Документации, может
    > быть, было меньше (документация на MASM/NASM и т.д. были, Interrupt List
    > резидентный, по CGA/EGA/VGA/SVGA документации тоже навалом было (по EGA уж точно)),
    > зато и информационного шума было меньше.

    Так-то да, скачал Ralf Brown's Interrupt List и считай что половина нужных доков у тебя есть.
    Но это если уже знаешь, что именно нужно искать. Ведь даже той же википедии не было (в которой все же можно довольно быстро получить представление о том, куда копать дальше).

    > Опять же интернет был не
    > у всех,

    Как и телефон. Возможность поиска нужной информации от силы пару раз в неделю, если не реже, все же очень не хилый тормоз/отсевающий фактор.

    > С игрух начинали писатели на Pascal/C/C++, а начинавшие с ассемблера

    Гм, у меня в книжке по паскалю были и ассемблерные вставки (для считывания клавиатуры и быстрого/прямого копирования "отрисованного" в видеопамять), видимо поэтому первыми "шыдеврами" были тетрис и "самодостаточный" (т.е. способный грузиться биосом напрямую и занимющий аж 2048 байт, т.е. примерно столько, сколько занимают одни только хидеры  и  выравнивания в современных бинарниках)  heх-просмотрщик дисков )

     
  • 3.20, McLoud (??), 16:09, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ведь таки и было. Потому как программер по образованию и выпуск 1999.
     

  • 1.4, Аноним (-), 23:19, 22/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Презентации в pptx на 25 Мб в репозитории это мощно
     
     
  • 2.23, pavlikvk (?), 20:12, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Да, хоть 10 dvd болванок.

    https://git-lfs.github.com/

     

  • 1.6, KaE (ok), 06:39, 23/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Гипервизор для гипервизоров... Или гипервизор гипервизоров.
     
     
  • 2.9, Аноним (-), 08:58, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это как терминатор терминаторов, только гипервизор.
     

  • 1.13, barmaglot (??), 12:06, 23/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Полез проверять код "собственной размотки исключений", ожидая увидеть грабли со stream, так и есть. Почему все подобные велосипеды наступают на эти грабли ?
     
     
  • 2.21, rob pike (?), 16:49, 23/07/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У них же "полный набор юнит-тестов", никаких граблей быть не может по определению!
     
  • 2.26, Аноним (-), 00:39, 24/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Полез проверять код "собственной размотки исключений", ожидая увидеть грабли со stream,
    > так и есть.

    А что за грабли, если не секрет?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру