URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 108639
[ Назад ]

Исходное сообщение
"Первый выпуск гипервизора Bareflank"

Отправлено opennews , 22-Июл-16 22:20 
Компания Assured Information Security представила (https://www.ainfosec.com/2016/06/30/bareflank-new-hypervisor/) новый открытый проект Bareflank (http://bareflank.github.io/hypervisor/), в рамках которого развивается гипервизор, ориентированный на использование в качестве прототипа для быстрой разработки собственных специализированных гипервизоров. В отличие от других гипервизоров  Bareflank написан  на языке C++, поддерживает C++ STL  и предоставляет собственную библиотеку размотки исключений (unwind). Модульная архитектура Bareflank позволят легко расширять имеющиеся возможности гипервизора и создавать собственные варианты гипервизоров, как работающих поверх оборудования (как Xen), так и запускаемых в имеющемся программном окружении (как VirtualBox). Код проекта распространяется (https://github.com/Bareflank/hypervisor) под лицензией 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-библиотека, которая может применяться на уровне ядра;
-  Выполнение операционной системы хост-окружения в отдельной виртуальной машине;
-  Собственное сборочное окружение. Руководство по созданию сборочных окружений и драйверов подготовлено (https://github.com/Bareflank/hypervisor/tree/master/bfdriver...) для Ubuntu, Debian и Fedora;
-  Полный набор unit-тестов.

URL: https://www.ainfosec.com/2016/06/30/bareflank-new-hypervisor/
Новость: http://www.opennet.me/opennews/art.shtml?num=44829


Содержание

Сообщения в этом обсуждении
"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 22-Июл-16 22:20 
Толком ничего не умеет, но написан на C++.
Это успех.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 08:30 
Если бы был написан на руби, умел бы всё и сразу. Руби даёт +100500 к умениям.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 10:23 
Просто удивляет когда описание гипервизора выглядит так:

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


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 12:33 
6) наш главный разработчик носит зелёные кеды, зашнуровываемые до колена.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 14:46 
Это кстати многое объясняет.

"Первый выпуск гипервизора Bareflank"
Отправлено Sabakwaka , 24-Июл-16 15:27 
>> носит зелёные кеды, зашнуровываемые до колена

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

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


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 25-Июл-16 11:05 
> Еще у него дом, машина, яхта и очередь на 100 лет вперёд
> из желающих сманить его на бОльшую зарплату.

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


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 25-Июл-16 15:29 
>>> носит зелёные кеды, зашнуровываемые до колена
> Еще у него дом, машина, яхта и очередь на 100 лет вперёд
> из желающих сманить его на бОльшую зарплату.
> А что у тебя? Билетик на траннвай?

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


"Первый выпуск гипервизора Bareflank"
Отправлено freehck , 23-Июл-16 13:12 
> Просто удивляет когда описание гипервизора выглядит так:
>
> 1) написан на модном С++14 (и чо ?)
> 2) использует стильные смартпойнтеры и контейнеры (и чо ?)
> 3) у нас своя молодежная система сборки (свсм упрлс ?)
> 4) у нас есть замечательные юнит-тесты (ну да, гипервизору без них прям не жиздь)

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

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

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


"Первый выпуск гипервизора Bareflank"
Отправлено АнонимХ , 23-Июл-16 18:35 
> Когда проект стартует

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


"Первый выпуск гипервизора Bareflank"
Отправлено илья , 24-Июл-16 08:59 
> Обвешивать ли всё юнит-тестами сразу, или воплотить сначала идею, отшлифовать, а уже потом тесты сделать?..

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


"Первый выпуск гипервизора Bareflank"
Отправлено freehck , 25-Июл-16 11:39 
>> Обвешивать ли всё юнит-тестами сразу, или воплотить сначала идею, отшлифовать, а уже потом тесты сделать?..
> забить в процессе разработки, а под конец написать один интеграционный с over9000
> ассёртов

Удачи. :)


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 22:49 
Чтоб вам месяц сидеть на гипервизоре, у котого не было юнит-тестов в цикле разработки!

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 24-Июл-16 22:23 
Еще один нашедший серебряную пулю :(

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


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 25-Июл-16 11:06 
> Чтоб вам месяц сидеть на гипервизоре, у котого не было юнит-тестов в
> цикле разработки!

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


"Первый выпуск гипервизора Bareflank"
Отправлено вцуауа , 24-Июл-16 12:18 
бедонщик Васько?

"Первый выпуск гипервизора Bareflank"
Отправлено SubGun , 23-Июл-16 11:57 
Там же написано, что это прототип. Ты его берешь за основу и дописываешь все, что тебе нужно, с блэкджеком и школьницами.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 26-Июл-16 20:25 
> Там же написано, что это прототип. Ты его берешь за основу и
> дописываешь все, что тебе нужно, с блэкджеком и школьницами.

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


"Первый выпуск гипервизора Bareflank"
Отправлено Sabakwaka , 23-Июл-16 21:16 
>> Толком ничего не умеет, но написан на C++.

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


"Первый выпуск гипервизора Bareflank"
Отправлено Crazy Alex , 25-Июл-16 22:07 
Тут объяснять бесполезно

"Первый выпуск гипервизора Bareflank"
Отправлено Celcion , 22-Июл-16 23:09 
Раньше студент программист-системщик начинал с написания собственной ОС. Теперь, видимо, с написания собственного гипервизора.
Меняются времена. И мода меняется...

"Первый выпуск гипервизора Bareflank"
Отправлено Анонимизирующийнедоанонимизатор , 22-Июл-16 23:21 
Нынешние нестудденты ноуют, что какие-то студенты хоть что-то пишут, а они не могут...
Опеннет уже не тот...

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 08:55 
Раньше (во второй половине 90ых) школьники начинали изучать C, чтобы написать собственную игруху - тогда игры были гораздо проще и разработка собственной выглядела более-менее реалистично. Поэтому на форумах регулярно появлялся школьник, собирающийся запилить наиновейшую супер-пуппер-мегаигру, в которой "бандиты набигают и можно грабить корованы" (цэ).
Аналогично с системами: линукс был молодым, а сеть была телефон (у кого она была), поэтому у всех была коварная виндуза и - у ряда передовых гиков - полуось.
Поэтому написанием "систем" студенты/старшешкольники занимались до года этак 2005го - одни из таких "системы" переходили в защищённый режим из-под доса (как ранние виндузы) и выводили на экран точку в графическом режиме - графический api сильно трудозатратен, поэтому редкая система доживала даже до точки; другие ограничивались "мощным" бутлодером, который в 512 байтах кроме самого бутлодера содержит ещё и менюху загружаемых систем (и интерфейс навигации по ней), и на саму систему разработчика уже не хватало.
Сейчас все системы - это линукс, фря или openbsd; все браузеры - хромиум; игры реализуемы только табуном специалистов; языков - великое множество и каждый обладает некоторым множеством юных изучателей, искренне верящих во всемогущество этого языка и инвалидность всех остальных.
Поэтому вот как-то так...

"Первый выпуск гипервизора Bareflank"
Отправлено fi , 23-Июл-16 11:11 
> Раньше (во второй половине 80ых) школьники начинали изучать C, чтобы написать собственную игруху -

fixed.


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 12:32 
нет, именно 90ых, потому что именно тогда в школах уже стояли старые 286ые, на которых можно было сделать что-то цветное и более-менее интересное. и уже преподавали трубопаскаль (turbo pascal 5.5, ближе к 2000ым поставили tp7.0), а энтузиасты умели ставить turbo c 2.0.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 24-Июл-16 17:10 
Неэнтузиасты, правда в НИИ при универе, ещё в начале 1990-х умели ставить Borland C++ под DOS. ;)

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 24-Июл-16 18:38 
возможно, не каждый комментатор здесь осведомлён, но между школьником-энтузиастом и штатным сотрудником НИИ обычно есть небольшая разница, в среднем составляющая 8 лет образования.

"Первый выпуск гипервизора Bareflank"
Отправлено mickvav , 25-Июл-16 10:58 
В относительных единицах ещё круче - разница во времени работы с компом между ними была тогда примерно раз в 5. Сейчас, кстати, только раза в два-три, так что толковые школьники (коих мало, увы) к концу школы умеют столько же, сколько многие сотрудники НИИ 10-летней давности.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним84701 , 23-Июл-16 15:07 
> другие ограничивались "мощным" бутлодером, который в 512 байтах кроме самого бутлодера
> содержит ещё и менюху загружаемых систем (и интерфейс навигации по ней),
> и на саму систему разработчика уже не хватало.

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

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


"Первый выпуск гипервизора Bareflank"
Отправлено ffirefox , 25-Июл-16 11:38 
Да, ладно! Раньше было проще т.к. предметная область была обозримой. Документации, может быть, было меньше (документация на MASM/NASM и т.д. были, Interrupt List резидентный, по CGA/EGA/VGA/SVGA документации тоже навалом было (по EGA уж точно)), зато и информационного шума было меньше. Опять же интернет был не у всех, а в FIDO было порядка больше и размазанность ресурсов меньше. Люди, как правило, дорожили своей репутацией и отвечали по существу.

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


"Первый выпуск гипервизора Bareflank"
Отправлено Аноним84701 , 25-Июл-16 16:44 
> Да, ладно! Раньше было проще т.к. предметная область была обозримой. Документации, может
> быть, было меньше (документация на MASM/NASM и т.д. были, Interrupt List
> резидентный, по CGA/EGA/VGA/SVGA документации тоже навалом было (по EGA уж точно)),
> зато и информационного шума было меньше.

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

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

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

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

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


"Первый выпуск гипервизора Bareflank"
Отправлено McLoud , 23-Июл-16 16:09 
А ведь таки и было. Потому как программер по образованию и выпуск 1999.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 22-Июл-16 23:19 
Презентации в pptx на 25 Мб в репозитории это мощно

"Первый выпуск гипервизора Bareflank"
Отправлено pavlikvk , 23-Июл-16 20:12 
Да, хоть 10 dvd болванок.

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


"Первый выпуск гипервизора Bareflank"
Отправлено KaE , 23-Июл-16 06:39 
Гипервизор для гипервизоров... Или гипервизор гипервизоров.

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 23-Июл-16 08:58 
Это как терминатор терминаторов, только гипервизор.

"Первый выпуск гипервизора Bareflank"
Отправлено barmaglot , 23-Июл-16 12:06 
Полез проверять код "собственной размотки исключений", ожидая увидеть грабли со stream, так и есть. Почему все подобные велосипеды наступают на эти грабли ?

"Первый выпуск гипервизора Bareflank"
Отправлено rob pike , 23-Июл-16 16:49 
У них же "полный набор юнит-тестов", никаких граблей быть не может по определению!

"Первый выпуск гипервизора Bareflank"
Отправлено Аноним , 24-Июл-16 00:39 
> Полез проверять код "собственной размотки исключений", ожидая увидеть грабли со stream,
> так и есть.

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