The OpenNET Project / Index page

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



"Выпуск libOS, unikernel на языке Rust для запуска приложений..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от opennews (??), 08-Июн-18, 19:16 
Представлен (https://hermitcore.org/2018/06/06/A-Rust-based-Unikernel/) первый экспериментальный выпуск проекта libOS (https://hermitcore.org/) (HermitCore), развивающего специализированное ядро (unikernel), предоставляющее runtime для сборки самодостаточных приложений, способных работать без дополнительных прослоек поверх гипервизора. При сборке приложение связывается с библиотекой, которая самостоятельно реализует всю необходимую функциональность, не привязываясь к ядру ОС и системным библиотекам. Код проекта распространяется (https://github.com/hermitcore/libhermit-rs) под лицензией BSD.


Изначально проект начал (https://github.com/hermitcore/libhermit) развиваться на языке Си, но затем  было решено переписать ядро на  языке Rust. Ожидается, что использование Rust позволит повысить безопасность работы с памятью, упростить сопровождение кодовой базы и сделать ядро более расширяемым. Использование языка Rust также отличает от libOS от других реализаций  unikernel (например, MirageOS (https://www.opennet.dev/opennews/art.shtml?num=42515), MiniPython (https://github.com/sysml/minipython), ClickOS (https://github.com/sysml/clickos), McKernel (https://www.pccluster.org/en/mckernel/index.html), HaLVM (https://galois.com/project/halvm/), IncludeOS (https://www.opennet.dev/opennews/art.shtml?num=43444), OSv (https://www.opennet.dev/opennews/art.shtml?num=37936) и Xen Unikraft (https://www.opennet.dev/opennews/art.shtml?num=47691)).


В настоящее время основной код уже переписан, но реализация на 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 (http://www.lfbs.rwth-aachen.de/publications/files/iRCCE.pdf). Для кросс-компиляции приложений используется GCC. Работа протестирована в дистрибутиве Ubuntu 18.04, для которого подготовлены (https://dl.bintray.com/hermitcore/ubuntu) готовые пакеты для сборки приложений в форме 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

URL: https://hermitcore.org/2018/06/06/A-Rust-based-Unikernel/
Новость: https://www.opennet.dev/opennews/art.shtml?num=48740

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +2 +/
Сообщение от VINRARUS (ok), 08-Июн-18, 19:23 
Лучше б Linux на Rust переписали...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от qcgg (?), 08-Июн-18, 19:45 
Глупее ничего не придумал?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +4 +/
Сообщение от Аноним (-), 08-Июн-18, 20:34 
А что здесь глупого?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Аноним (-), 08-Июн-18, 21:51 
Лайнус не согласится.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

24. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +3 +/
Сообщение от Аноним (-), 09-Июн-18, 10:52 
Это тот, который ютуб канал Linus Tech Tips ведет?
Согласится однозначно, он за все модное-молодежное, в том числе за десяточку.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +4 +/
Сообщение от pda (?), 09-Июн-18, 01:05 
Серьёзный ответ: Ощутимо снизит количество поддерживаемых платформ. Т.к. у Rust бэкендом работает llvm, который в плане платформ прилично уступает gcc.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +5 +/
Сообщение от VINRARUS (ok), 08-Июн-18, 20:53 
> Глупее ничего не придумал?

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

13. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +4 +/
Сообщение от Аноним (-), 08-Июн-18, 21:55 
на node.js
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

45. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Аноним (-), 14-Июн-18, 01:39 
Уже давно: http://jslinux.org/
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

5. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от th3m3 (ok), 08-Июн-18, 20:40 
К этому всё идёт.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

15. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от kiwinix (?), 08-Июн-18, 23:11 
Ну, всё-таки ядру нужна производительность. Поэтому оно и написано на си и асме) вот когда Раст сделают быстрее чем си - тогда уверен начнется переписывание )))
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

28. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  –1 +/
Сообщение от Аноним (-), 09-Июн-18, 12:02 
> когда Раст сделают быстрее чем си

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

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

39. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +1 +/
Сообщение от др. Аноним (?), 09-Июн-18, 15:08 
>> когда Раст сделают быстрее чем си
> Разве что в манямирке растофанатов.

То ли дело манямирок самопровозглашенных Си-Экспертусов!
Если бы еще они знали, что им на разработчиков компиляторо си вообще молиться следует, т.к. результат компиляции "Шыдевров" не тормозит, не смотря на все их, Ыкспертусов, потуги.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

29. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +1 +/
Сообщение от Аноним (-), 09-Июн-18, 12:16 
Ни си, ни асм, не есть синоним "производительность". Архитектура нынче куда сложнее, чем таковая была в 80-е годы. Но почему-то народ до сих пор верит, что 3 команды на асме работают быстрее, чем скомпиленное в 5 асм команд из си кода, игнорируя и конвеер, и прочие плюшки (угу, в том числе и приведшие в мелтдаунам и спектрам).
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

34. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от qcgg (?), 09-Июн-18, 13:10 
Расскажи это разработчикам KalibriOS
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

37. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +1 +/
Сообщение от Аноним (-), 09-Июн-18, 15:00 
Она лагает и в ней ну очень много багов
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

38. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +3 +/
Сообщение от др. Аноним (?), 09-Июн-18, 15:04 
> Расскажи это разработчикам KalibriOS

Во-первых, KolibiOS. Во-вторых - кто и о чем должен рассказать? Соптимизнуть под конкретную архитектуру, сделав лучше, чем компилятор, еще лет десять назад, на 32-битах было уже не так и просто. Просто "write it in asm!!" уже не катило. В основном, SIMDы и прочее еще поддавались ручному тюнингу, а для остального кода овчинка не стоила выделки (+10%-20% при полной привязке к конкретной модели ЦПУ).


Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

40. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +1 +/
Сообщение от др. Аноним (?), 09-Июн-18, 15:11 
> Ни си, ни асм, не есть синоним "производительность". Архитектура нынче куда сложнее,
> чем таковая была в 80-е годы. Но почему-то народ до сих пор верит, что 3 команды на асме работают быстрее, чем скомпиленное в 5 асм команд из си кода,

Да ладно. В начале 2000х любимейший совет на вопрос "код тормозит, что делать?" было "перепиши на асме, летать будет!". Но уже много лет как "асму" заменили на "могучий и волшебный Си".


Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

43. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от qrKot (?), 12-Июн-18, 07:10 
>> Но почему-то народ до сих пор верит, что 3 команды на асме работают быстрее, чем скомпиленное в 5 асм команд из си кода,

Какбэ, команда в asm выполняется за определенное, заранее известное количество тактов процессора. Например, та же mov [],eax/ebx вполне себе ровно за 2 такта. Поэтому, например, в подавляющем числе случаев, 3 ассемблерных инструкции выполнятся быстрее, чем 5 таких же инструкций...

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

31. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от N (?), 09-Июн-18, 12:47 
И в чём Rust медленнее?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

22. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +2 +/
Сообщение от Аноним (-), 09-Июн-18, 10:00 
>Лучше б Linux на Rust переписали...

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

33. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  –2 +/
Сообщение от SubGun (ok), 09-Июн-18, 13:03 
...в шоколадный глаз
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

6. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  –2 +/
Сообщение от Анонимс (?), 08-Июн-18, 20:47 
Однако, опасная тенденция,- начали на С, а закончили на Rust. Так сишники скоро и без работы останутся.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Аноним (-), 08-Июн-18, 20:50 
вы о чем? Детская поделка так и останется в куче с D и другими "убийцами" C
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

41. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  –1 +/
Сообщение от Nexmean (?), 10-Июн-18, 09:26 
Такую детскую поделку ни один сишник или цппшник наваять не способен, ибо как известно в CS средний сишник ноль без палочки, который только байтики умеет перекладывать согласно спеке МК.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

44. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от qrKot (?), 12-Июн-18, 07:14 
Не способен? Как бэ, собственно, Rust вполне себе сишник написал.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

9. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +2 +/
Сообщение от пох (?), 08-Июн-18, 21:45 
> Однако, опасная тенденция,- начали на С, а закончили на Rust.

ничего опасного - закончили, закaпывай, следууууущий!

"но реализация на Rust ещё немного отстаёт по функциональности от версии на языке Си"
- и так у них - все.

> Так сишники скоро и без работы останутся.

а-а, ты в этом смысле. Да, могут. А мы без нормального софта, и это время уже близко.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Аноним (-), 08-Июн-18, 21:52 
Очень хорошая тенденция.
C++ > rust > C > go
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  –1 +/
Сообщение от Аноним (-), 08-Июн-18, 21:58 
Что хорошего? В крестах сложнее выстрелить себе в ногу, чем в сях
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

17. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Аноним (-), 09-Июн-18, 01:19 
А у вас обезьяны с пистолетами или программисты с опытом, точно форумом не ошиблись?
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

25. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +2 +/
Сообщение от a3k (?), 09-Июн-18, 10:59 
Так чтобы не стрелять в ногу на C++ нужно иметь программистов с бесконечным опытом и бесконечно прямыми руками.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

26. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +3 +/
Сообщение от Аноним (-), 09-Июн-18, 11:34 
Худшие программисты это те, которые не считают себя обезьяной с пистолетом.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

35. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от qcgg (?), 09-Июн-18, 13:14 
программисты которые не считают себя обезьяной с пистолетом - это не программисты, а психически нездоровые субъекты.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

46. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Иван Семеныч (?), 18-Янв-19, 21:59 
А кто говорил щито мы нормальные!?
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

18. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от leap42 (ok), 09-Июн-18, 03:16 
вы много раз работу сишником искали (так чтобы без плюсов)? последние лет 20 её почти не найти, ибо бизнесу оно не надо (могущие спецы стоят слишком дорого, скорость разработки новых фич низкая)

за Растом лежат прекрасные идеи, но он какой-то отталкивающий и неготовый. промышленной разработки на нём никто не ведет (да, я знаю, о том что некоторые части чего-то там переписаны на нём, но если мы посчитаем проекты, написанные на Rust от и до, и используемые миллионами людей, то насчитаем 0)

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

23. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от 1 (??), 09-Июн-18, 10:05 
да ладно ...
Вы просто плохо искали.

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

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

30. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Аноним (-), 09-Июн-18, 12:36 
> да ладно ...
> Вы просто плохо искали.

Миллионник. За пол года на всю область чисто Си вакансия была только для эмбеда (с оплатой на уровне дворника). Чисто си разработка слишком узкая ниша. А для бизнеса, так вообще убыточная.
Бизнесу нужна прибыль, а значит шарпы, обжективы, явы.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

32. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от 1 (??), 09-Июн-18, 12:52 
Напиши в www.raidix.ru, если конечно ты разбираешься в ядре и файловых системах.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

42. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +/
Сообщение от Forthemail (ok), 10-Июн-18, 22:45 
Интересно у вас там. Свои СХД и все такое.
Я правда сейчас несколько другим занимаюсь, realtime positioning и сети типа lora. Но все что связано с разработкой по ядро всегда интересно.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

20. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  –3 +/
Сообщение от Аноним (-), 09-Июн-18, 04:00 
Говорить в 2к18 говорить про сишников. Я думал подобных непроходимых носорогов уже не осталось, но нет, вылазят откуда-то.

Если бы ты смог в Си или хотя бы бы знаком с тру-сишниками, то ты бы понимал что тенмир "сишник" выглядит глупо в понимании "чистого си". Кто в теме тот знает, а вам детали не к чему.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

21. "Выпуск libOS, unikernel на языке Rust для запуска приложений..."  +1 +/
Сообщение от Вареник (?), 09-Июн-18, 04:09 
>> В настоящее время основной код уже переписан

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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