The OpenNET Project / Index page

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

08.06.2018 18:29  Выпуск libOS, unikernel на языке Rust для запуска приложений поверх гипервизора

Представлен первый экспериментальный выпуск проекта libOS (HermitCore), развивающего специализированное ядро (unikernel), предоставляющее runtime для сборки самодостаточных приложений, способных работать без дополнительных прослоек поверх гипервизора. При сборке приложение связывается с библиотекой, которая самостоятельно реализует всю необходимую функциональность, не привязываясь к ядру ОС и системным библиотекам. Код проекта распространяется под лицензией BSD.

Изначально проект начал развиваться на языке Си, но затем было решено переписать ядро на языке Rust. Ожидается, что использование Rust позволит повысить безопасность работы с памятью, упростить сопровождение кодовой базы и сделать ядро более расширяемым. Использование языка Rust также отличает libOS от других реализаций unikernel (например, MirageOS, MiniPython, ClickOS, McKernel, HaLVM, IncludeOS, OSv и Xen Unikraft).

В настоящее время основной код уже переписан, но реализация на Rust ещё немного отстаёт по функциональности от версии на языке Си. IP-стек и гипервизор на базе KVM API (uhyve) пока остаются на языке Си. Не входящие в ядро сопутствующие компоненты для поддержки языков программирования продолжают развиваться на языках C, C++, Go и Fortran.

Проектом также развивается вспомогательная прослойка, названная proxy, которая позволяет запускать libOS-приложения в виртуальной машине или поверх оборудования x86_64 из штатного окружения Linux, по аналогии с запуском традиционных Linux-программ. Proxy позволяет выбрать тип виртуальной машины (поддерживаются KVM и QEMU), размер выделяемой памяти и число vCPU, а также настроить параметры сетевого доступа. Для организации сетевого взаимодействия на стороне хоста требуется настроить tap-интерфейс.

В форме unikernel могут быть собраны приложения на языках C/C++, Fortran и Go, поддерживаются библиотеки Pthreads, OpenMP и iRCCE. Для кросс-компиляции приложений используется GCC. Работа протестирована в дистрибутиве Ubuntu 18.04, для которого подготовлены готовые пакеты для сборки приложений в форме unikernel. Для остальных систем предложен образ для Docker ("docker pull rwthos/hermitcore-rs").

Для установки в Ubuntu 18.04 можно выполнить:


   $ echo "deb [trusted=yes] https://dl.bintray.com/hermitcore/ubuntu bionic main" | sudo tee -a /etc/apt/sources.list
   $ sudo apt-get -qq update
   $ sudo apt-get install binutils-hermit newlib-hermit pte-hermit-rs gcc-hermit libhermit-rs

Далее можно собрать и запустить набор тестов stream при помощи QEMU или KVM:


   HERMIT_ISLE=qemu HERMIT_KVM=0 /opt/hermit/bin/proxy /opt/hermit/x86_64-hermit/extra/benchmarks/stream
   HERMIT_ISLE=uhyve /opt/hermit/bin/proxy /opt/hermit/x86_64-hermit/extra/benchmarks/stream


  1. Главная ссылка к новости (https://hermitcore.org/2018/06...)
  2. OpenNews: Проект Xen представил Unikraft для выполнения приложений поверх гипервизора
  3. OpenNews: Доступна операционная система Redox 0.2, написанная на языке Rust
  4. OpenNews: Docker поглотил Unikernel, технологию выполнения приложений поверх гипервизора
  5. OpenNews: В рамках проекта IncludeOS развивается ядро для обособленного запуска C++-приложений
  6. OpenNews: Выпуск MirageOS 2.5, платформы для запуска приложений поверх гипервизора
Лицензия: CC-BY
Тип: Программы
Ключевые слова: unikernel, libos, rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.2, VINRARUS, 19:23, 08/06/2018 [ответить] [смотреть все]    [к модератору]
  • +3 +/
    Лучше б Linux на Rust переписали...
     
     
  • 2.3, qcgg, 19:45, 08/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +/
    Глупее ничего не придумал?
     
     
  • 3.4, Аноним, 20:34, 08/06/2018 [^] [ответить] [смотреть все]    [к модератору]
  • +4 +/
    А что здесь глупого?
     
     
  • 4.10, Аноним, 21:51, 08/06/2018 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    Лайнус не согласится.
     
     
  • 5.24, Аноним, 10:52, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]
  • +3 +/
    Это тот, который ютуб канал Linus Tech Tips ведет Согласится однозначно, он за... весь текст скрыт [показать]
     
  • 4.16, pda, 01:05, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +4 +/
    Серьёзный ответ Ощутимо снизит количество поддерживаемых платформ Т к у Rust ... весь текст скрыт [показать]
     
  • 3.8, VINRARUS, 20:53, 08/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +5 +/
    > Глупее ничего не придумал?

    Ну если нужно глупо то на JAVA. :3

     
     
  • 4.13, Аноним, 21:55, 08/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    на node.js
     
     
  • 5.45, Аноним, 01:39, 14/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Уже давно: http://jslinux.org/
     
  • 2.5, th3m3, 20:40, 08/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    К этому всё идёт.
     
  • 2.15, kiwinix, 23:11, 08/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ну, всё-таки ядру нужна производительность Поэтому оно и написано на си и асме ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Аноним, 12:02, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    > когда Раст сделают быстрее чем си

    Разве что в манямирке растофанатов.

     
     
  • 4.39, др. Аноним, 15:08, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    То ли дело манямирок самопровозглашенных Си-Экспертусов Если бы еще они знали,... весь текст скрыт [показать]
     
  • 3.29, Аноним, 12:16, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Ни си, ни асм, не есть синоним производительность Архитектура нынче куда слож... весь текст скрыт [показать]
     
     
  • 4.34, qcgg, 13:10, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Расскажи это разработчикам KalibriOS
     
     
  • 5.37, Аноним, 15:00, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Она лагает и в ней ну очень много багов
     
  • 5.38, др. Аноним, 15:04, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Во-первых, K I o I libiOS Во-вторых - кто и о чем должен рассказать Соптимизн... весь текст скрыт [показать]
     
  • 4.40, др. Аноним, 15:11, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Да ладно В начале 2000х любимейший совет на вопрос код тормозит, что делать ... весь текст скрыт [показать]
     
  • 4.43, qrKot, 07:10, 12/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Какбэ, команда в asm выполняется за определенное, заранее известное количество т... весь текст скрыт [показать]
     
  • 3.31, N, 12:47, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    И в чём Rust медленнее?
     
  • 2.22, Аноним, 10:00, 09/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +2 +/
    >Лучше б Linux на Rust переписали...

    Перст Торвальдса животворящий тебе.

     
     
  • 3.33, SubGun, 13:03, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    ...в шоколадный глаз
     
  • 1.6, Анонимс, 20:47, 08/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Однако, опасная тенденция,- начали на С, а закончили на Rust. Так сишники скоро и без работы останутся.
     
     
  • 2.7, Аноним, 20:50, 08/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    вы о чем? Детская поделка так и останется в куче с D и другими "убийцами" C
     
     
  • 3.41, Nexmean, 09:26, 10/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Такую детскую поделку ни один сишник или цппшник наваять не способен, ибо как из... весь текст скрыт [показать]
     
     
  • 4.44, qrKot, 07:14, 12/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Не способен? Как бэ, собственно, Rust вполне себе сишник написал.
     
  • 2.9, пох, 21:45, 08/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    ничего опасного - закончили, закaпывай, следууууущий но реализация на Rust ещё... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.11, Аноним, 21:52, 08/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Очень хорошая тенденция.
    C++ > rust > C > go
     
     
  • 4.14, Аноним, 21:58, 08/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Что хорошего? В крестах сложнее выстрелить себе в ногу, чем в сях
     
     
  • 5.17, Аноним, 01:19, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А у вас обезьяны с пистолетами или программисты с опытом, точно форумом не ошибл... весь текст скрыт [показать]
     
     
  • 6.25, a3k, 10:59, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Так чтобы не стрелять в ногу на C нужно иметь программистов с бесконечным опыт... весь текст скрыт [показать]
     
  • 6.26, Аноним, 11:34, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Худшие программисты это те, которые не считают себя обезьяной с пистолетом.
     
     
  • 7.35, qcgg, 13:14, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    программисты которые не считают себя обезьяной с пистолетом - это не программист... весь текст скрыт [показать]
     
  • 2.18, leap42, 03:16, 09/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    вы много раз работу сишником искали так чтобы без плюсов последние лет 20 её ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, 1, 10:05, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    да ладно ...
    Вы просто плохо искали.

    Я на опеннете постил вакансию на C программиста. Но там был нужен именно программист, а не "что-то слышал и книжку прочитал".

     
     
  • 4.30, Аноним, 12:36, 09/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Миллионник За пол года на всю область чисто Си вакансия была только для эмбеда ... весь текст скрыт [показать]
     
     
  • 5.32, 1, 12:52, 09/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Напиши в www.raidix.ru, если конечно ты разбираешься в ядре и файловых системах.
     
     
  • 6.42, Forth, 22:45, 10/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Интересно у вас там. Свои СХД и все такое.
    Я правда сейчас несколько другим занимаюсь, realtime positioning и сети типа lora. Но все что связано с разработкой по ядро всегда интересно.
     
  • 2.20, Аноним, 04:00, 09/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –3 +/
    Говорить в 2к18 говорить про сишников Я думал подобных непроходимых носорогов у... весь текст скрыт [показать] [показать ветку]
     
  • 1.21, Вареник, 04:09, 09/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    >> В настоящее время основной код уже переписан

    А как же реализация на JS? Без JS нехипстерски.

     

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


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