Portál AbcLinuxu, 8. května 2025 14:34

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
29.8.2018 19:05 debian     
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Odpovědět | Sbalit | Link | Blokovat | Admin
Fakt super ten "dokonalý" Rust (podle tvrzení jeho komunity), když to musí být procpáno unsafe bloky aby to dělalo víc než hello world :-D :-D
little.owl avatar 29.8.2018 22:33 little.owl | skóre: 22 | blog: Messy_Nest | Brighton/Praha
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Tohle bych nehazel na Rust. Ten kod je skutecne dosti podivna pre-alpha verze. Me spise pobavilo, kdyz pridani pocatecni podpory pro driver sitovky vyzaduje zmeny i v driveru vga. Take jsem si uvedomil jak dobry programator Linus je; tohle je vyvijeno je to od unora a Linus byl schopen za kratsi dobu - od dubna - dostat Linux do podstatne lepsiho stavu nez je Nebulet. Ferovejsi by bylo srovnani s Redox OS, ale ani tam to nevypada pro Rust dobre a pocatecni nadseni vyprchalo. Linus ma pravdu, psani OS neni o primarne o programovacim jazyku.
A former Red Hat freeloader.
30.8.2018 11:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly

Já vidím problém ještě o krok dřív. Když si přečtu zprávičku nebo popis na Githubu, vybaví se mi okamžitě Zdeněk Pohlreich se svou oblíbenou otázkou "Jaký je vlastně koncept toho vašeho podniku?" A tady odpověď nevidím. V diskusi, na kteorou jsem se dostal odkazem z nedávné debaty o Rustu, někdo velmi výstižně napsal, že nový operační systém má šanci jen v případě, že je v něčem výrazně lepší než stávající a/nebo přináší něco nového.

Vzhledem k tomu, co jako přednost Rustu uvádějí jeho příznivci, a sázce na mikrojádro bych očekával, že tím tahákem bude bezpečnost. Proč ne, OpenBSD se svým "to se u nás stává maximálně… kolikrát, sestro?… šestkrát za deset let" už se trochu přežilo, takže prostor tu je. Nenecháme prostor pro buffer overflow a race conditions při přístupu k datům, důsledně oddělíme core kernel od modulů, výkon sice nebude nic moc, ale bude to ultra bezpečné. Jenže pak si přečtu, že kvůli výkonu poběží i moduly v ring 0 a všechno to bude v jednom paměťovém prostoru. A jak se zdá, ta principiální bezpečnost Rustu se také pošle k vodě, jakmile se nehodí. Tak proč si potom vůbec komplikovat život mikrojádrem?

Podle tohoto dokumentu je cílem výkon a prý

With the minimized system call overhead and potential for faster-than-native performance under certain workloads, Nebulet could be a more performant server os than linux.

Co znamená "faster-than-native", to moc netuším, ale s ohledem na to, že cíl pro nejbližší období je zvládnout 100 Mb/s (aspoň doufám, že opravdu nemyslel "mbps") síťového provozu, mám obavu, že nemá moc představu, do čeho se pouští.

30.8.2018 13:57 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Jenže pak si přečtu, že kvůli výkonu poběží i moduly v ring 0 a všechno to bude v jednom paměťovém prostoru.
Ten napad na prvni pohled zni blbeji nez asi ve skutecnosti je. V podstate prebira myslenku, kterou meli pred lety lidi s Microsoft Research, ze pokud mas jistotu (dukaz, nejlepe formalni), ze kod nehrabe kam nema, muzes jej s klidem pustit do ring0 a usetrit si hromadu syscallu, ostatni ale musi byt izolovane v ring3.

Microsoft kolem toho mel rozpravovanou celou vedu a sadu komplexnich nastroju a vlastne vsechno, vcetne programovacich jazyku pro bezpecnou implementaci OS si psal od zacatku. Z tohoto pohledu, napad vzit Rust + nejaky byte-code, u ktereho je zajistene, ze bude radne omezen, mi prijde jako rozumne reseni, ktere ma minimalni naklady. A je mozne na nem vyzkouset, co pujde a co ne.

Jeste dva roky zpatky bych asi rekl, proc ne, pri trose snahy by to mohlo fungovat. Ale po serii chyb tu Meltdown, SpectreXY, ... mam trochu pochybnosti, ze pujde udelat kod, u nehoz jde dokazat, ze se bude v ring0 chovat sporadane.
mám obavu, že nemá moc představu, do čeho se pouští.
Ano, zkouska je prvni krok k neuspechu, ale proc to nevyzkouset? GitHub je plny projektu, ktere skoncily jeste v rannejsi fazi. Minimalne se s tim projektem dostal dal nez zdejsi komunita pisici CAD.
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
little.owl avatar 30.8.2018 15:51 little.owl | skóre: 22 | blog: Messy_Nest | Brighton/Praha
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
V podstate prebira myslenku, kterou meli pred lety lidi s Microsoft Research, ze pokud mas jistotu (dukaz, nejlepe formalni), ze kod nehrabe kam nema, muzes jej s klidem pustit do ring0 a usetrit si hromadu syscallu, ostatni ale musi byt izolovane v ring3
Ne, to nestaci. Design byl zalozen minimalne na predpokladu:
(a) [Type] safe instrukcniho setu/ABI (pouzili subset MSIL instrukcniho setu).
(b) Silnou/garantovanou izolaci komunikujich procesu v prostoru a case. (jen izolace v pameti nestaci)
Oboji nebylo mozne dosahnout na soucasnem HW mimo abstraktni VM a byl to jeden z duvodu proc to cele padlo, stejne jako pokusy naintegrovat casti do Windows pred prichodem Vista.

Pouziti Rustu s Wasm na standardnim HW neresi ani prvni, ani druhe.
A former Red Hat freeloader.
30.8.2018 20:00 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
ze kod nehrabe kam nema, muzes jej s klidem pustit do ring0
Ne, to nestaci. Design byl zalozen minimalne na predpokladu:
Libi se mi, ze se mnou nesouhlasis, abys pak upresnil, co tvrdim.
(a) [Type] safe instrukcniho setu/ABI (pouzili subset MSIL instrukcniho setu).
V podobnem duchu by nemelo nic branit pouziti podmnoziny wasm, kde je mozne dobrat se nejakych garanci.
(b) Silnou/garantovanou izolaci komunikujich procesu v prostoru a case.
Toho by se melo dat dosahnout rozumne navrzenym ABI, ktere bude davat potrebne garance.
Pouziti Rustu s Wasm na standardnim HW neresi ani prvni, ani druhe.
Pouziti jakehokoliv bezneho jazyka (vcetne C/C++) to taky neresi. A? Jazyk je jen prostredek, ne cil.*

*Ale jsou evidentne situace, kdy Rust funguje zaroven i jako cerveny hadr.

Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
little.owl avatar 30.8.2018 22:41 little.owl | skóre: 22 | blog: Messy_Nest | Brighton/Praha
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Libi se mi, ze se mnou nesouhlasis, abys pak upresnil, co tvrdim.
Rikam, ze to co jste popsal nestaci.
V podobnem duchu by nemelo nic branit pouziti podmnoziny wasm, kde je mozne dobrat se nejakych garanci.
Souhlas, i kdyz si nejsem jist s wasm memory modelem, ale asi ano.
Pouziti jakehokoliv bezneho jazyka (vcetne C/C++) to taky neresi.
Souhlas.
A?
Opodstatnovat reseni v ring 0 na zaklade zkusenosti ze Singularity (a Midori), kde cely OS byl napsan v bezpecnema jazyce a provozovan na bezpecnem [virtualnim] HW, tedy prerekvizity ktere Nebulet nanaplnuje, moc nejde. Jinak myslenka mikrokernelu s wasm nahore se mi jako takova libi, a bral bych i universalni wasm binarku, kterou by slo spoustet na vsech architekturach pres standardni execve() jako treba skripty.
A former Red Hat freeloader.
little.owl avatar 30.8.2018 15:47 little.owl | skóre: 22 | blog: Messy_Nest | Brighton/Praha
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Proste se uci, objevuje realitu a ziskava zkusenosti ... :-).
A former Red Hat freeloader.
Bystroushaak avatar 30.8.2018 02:25 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Fakt super ten "dokonalý" Rust (podle tvrzení jeho komunity), když to musí být procpáno unsafe bloky aby to dělalo víc než hello world :-D :-D
Nebulet!
30.8.2018 10:00 debian   
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Měl to nazvat Neposmívatse, to je fakt
30.8.2018 10:40 Ján Dráb | skóre: 4 | Banská Bystrica
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
"spouštějící v ringu 0" - očakával si snáď, že tam unsafe nebude? Potom by to o niečom svedčilo :).. Minimálne o tom, že si mal o ruste nerealistické predstavy dokonalosti.
Everything has room for improvement.
30.8.2018 22:18 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Odpovědět | Sbalit | Link | Blokovat | Admin

Zásada číslo 1: Nebulet. I když se všechno posere, prostě nebulet, brát to jako drsňák.

30.8.2018 23:42 ChronicPain | blog: chronicPain
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
WannaCry?
http://www.klaus.sk/ – energeticky úsporné vykurovacie systémy
31.8.2018 09:24 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
After Heartbleed.
1.9.2018 00:42 Ovoce | skóre: 16 | blog: Vyplizlo_ze_zivota
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Já to tam taky furt čtu. Nebulet, Nebát se, Nekrást!
1.9.2018 02:25 ChronicPain | blog: chronicPain
Rozbalit Rozbalit vše Re: Nebulet, mikrojádro v Rustu spouštějící v ringu 0 moduly ve WebAssembly
Nebulet
Nebulet,

přec slzy jako hrachy,
Nebát se
posral jsem se strachy
Nekrást
a ukradl ti prachy.
http://www.klaus.sk/ – energeticky úsporné vykurovacie systémy

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.