|
|
|
|
Strumenti |
29-04-2017, 20:30 | #1 |
Senior Member
Iscritto dal: Feb 2011
Messaggi: 2009
|
Redox OS
Cosa ne pensate di questo sistema operativo scritto interamente in Rust ?
Io ho in mente un gigantesto turbine di idee positive: questo progetto potrebbe rivelarsi una grandissima novità tra qualche anno. Nell'immediato è probabile che cominceremo a vedere componenti di Redox nei repository delle principali distribuzioni Linux. https://www.redox-os.org/ ed in più aggiungo una bellissima intervista di Bryan Lunduke a Jeremy Stoller, lo sviluppatore principale di Redox: https://youtu.be/eH5JgMlNE8o
__________________
CPU: Intel i5 2500k; GPU: Asus GTX 970 ; Scheda audio: Asus Xonar U7; RAM: 16GB DDR3; Storage: HD 750GB+SSD Samsung 840 (128GB); OS: Arch Linux | Linux Mint 18 | Win 7 (gaming) Thread ufficiali : Linux Mint 18 | Ubuntu 16.04 | Desktop Environments & Window Manager per Linux |
01-05-2017, 14:59 | #2 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Non ne avevo mai sentito parlare, onestamente.
Mi sembra interessante. E il modo migliore per testare Rust a livello davvero basso per farlo competere col C puro. |
01-05-2017, 15:47 | #3 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
La scelta di Rust direi che e' sensata, soprattutto e' un ottimo test bench per scovare eventuali problemi di design e bug nel linguaggio. Ovviamente e' una buona scelta pure per la correttezza del sistema operativo. Non e' un caso se sempre piu' progetti stanno scegliendo Rust, ultimo in ordine di tempo un client per la blockchain sviluppato dai creatori di Ethereum. Infine posso dire finalmente...un microkernel tra quelli alternativi e open. Una svecchiata ci voleva proprio. Dipende da quali componenti hai in mente. Il kernel Linux non credo verra' mai scalfito, almeno finche' sara' in vita Torvalds. Ha idee molto rigide in merito a kernel e linguaggi che ( secondo lui ) hanno l'onore di poterlo codificare. |
|
14-05-2017, 09:03 | #4 | ||
Senior Member
Iscritto dal: Feb 2011
Messaggi: 2009
|
Quote:
Altra cosa interessante è che Jeremy Stoller, il ragazzo che ha sviluppato Redox, lavora anche per System76: tra qualche anno sono sicuro che vedremo finalmente dei portatili, prodotti ufficialmente con sistemi opensource (GNU/Linux, Redox), estremamente validi. Quote:
Nel video lui si riferisce a code del tipo: sistema audio (che dovrà risviluppare in Rust), applicazioni di sistema (file manager, image viewer,...),...
__________________
CPU: Intel i5 2500k; GPU: Asus GTX 970 ; Scheda audio: Asus Xonar U7; RAM: 16GB DDR3; Storage: HD 750GB+SSD Samsung 840 (128GB); OS: Arch Linux | Linux Mint 18 | Win 7 (gaming) Thread ufficiali : Linux Mint 18 | Ubuntu 16.04 | Desktop Environments & Window Manager per Linux |
||
14-05-2017, 10:00 | #5 | |||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Quote:
Il linguaggio e' unico nel suo genere, c'e' poco da aggiungere su questo. Quote:
Voglio dire, Systemd sviluppato in C. A nessuno e' venuto in mente che e' una cazzata colossale? Usare Haskell ( per esempio ) era troppo difficile? Visto il ruolo ricoperto da Systemd e il fatto che Haskell sia un linguaggio pensato per garantire correttezza ai programmi ( non ai livelli di Rust ma mille volte meglio di C ), sarebbe stata una scelta ovvia. Invece l'ecosistema Linux continua ad essere C-centrico e i suoi padroni ( Redhat in testa ) non sembrano interessati a cambiare la situazione. E' un problema di mentalita' in buona sostanza. Basti notare che non hanno mai nemmeno minimamente investito in cose come un framework a la WPF. QT e' l'unico che gli si avvicina, ma GTK+? E' chiaro che vivono negli anni '70 e non vogliono uscirne. Ultima modifica di pabloski : 14-05-2017 alle 10:03. |
|||
14-05-2017, 12:36 | #6 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
GNU era interamente scritto in C, e ora chi lo rifà da zero? Per il resto, come hai detto, gran parte dei progetti continuano ad essere realizzati con quel linguaggio, a prescindere. |
|
14-05-2017, 13:03 | #7 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Sarebbe un buon inizio cominciare ad usare linguaggi piu' moderni per i nuovi progetti. Non c'era nessuna ragione per usare C per Systemd. E poi l'userland e' ovviamente complessa, ma considera che Busybox la implementa quasi tutta, quindi rifarla e' possibile. |
|
14-05-2017, 13:29 | #8 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
Torvalds è un talebano che accetta solo quello che va bene a lui, non ciò che è meglio. E molti altri nella comunità sono come lui. Effettivamente, systemd è un esempio eclatante in tal senso (ma non l'unico). Praticamente l'intero userland è in C, quando va di c*lo si vede un po' di C++, ma difficilmente altro. |
|
14-05-2017, 15:25 | #9 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Questo pero' crea un circolo vizioso, per cui l'interazione tra componenti deve seguire le regole del C ( in particolare per le librerie a collegamento dinamico ), il che ti conduce o ad usare linguaggi C-like o andare di FFI. L'altro problema riguarda sempre le librerie e concerne il fatto che comunque e' codice unsafe, molto codice unsafe, che vanificherebbe all'atto pratico l'uso di linguaggi safe. Come se uno realizzasse un programma C#, dove il codice effettivamente eseguito, e' al 90% contenuto in librerie C. Praticamente inutile dal punto di vista della sicurezza. E' cosi' che la lobby C trova valide scuse per continuare sulla strada vecchia. Poi vabbe' siamo nel bel mezzo di un cataclisma, con l'affermarsi di virtualizzazione, sistemi di containerizzazione come docker e la diffusione del browser come runtime di default ( vedi Electron ). Per cui non crede che quest'andazzo continuera' in eterno. |
|
15-05-2017, 08:32 | #10 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
Per dire, glibc per qualche motivo ignoto spesso rompeva la compatibilità, o aggiungeva cose del tutto inutili. Non è che, se fosse stata scritta in Rust, Drepper sarebbe diventato sano di mente, ecco. Poi bisogna vedere anche tante altre cose: per dire, hai migliaia di sviluppatori cresciuti a pane e C, è difficile che inizino un progetto grosso con un linguaggio del tutto nuovo, perché molti non hanno la necessaria elasticità mentale. Poi bisogna anche vedere con cosa sostituisci il vecchio: per intenderci, per ora c'è la mania di voler usare JavaScript per qualsiasi stron*ata. Ecco, calmiamoci. Sono invece curioso di capire se Rust potrà davvero sostituire il C, almeno finalmente la vagonata di gente che in 40 anni non ha ancora capito l'aritmetica dei puntatori avrà un problema in meno. |
|
25-05-2017, 13:58 | #11 |
Bannato
Iscritto dal: Jan 2010
Città: Roma
Messaggi: 4638
|
non capisco l'astio di pabloski nei confronti del C..
va bene che il linguaggio è difficile per chi non sa allocare correttamente i puntatori... ma se usato correttamente è un signor linguaggio... adesso cmq mi vado ad erudire su RUST (di cui ammetto l'ignoranza ) |
25-05-2017, 14:32 | #12 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
il software e' un sistema complesso, un kernel di un sistema operativo lo e' ai massimi livelli e il C non fornisce alcuno strumento per aiutare il programmatore nel mantenere il controllo su tali sistemi in teoria si puo' dire che usare il linguaggio correttamente, scrivere il codice con attenzione, puo' evitare qualsiasi bug nella pratica la situazione e' nettamente differente e non e' affatto raro commettere errori stupidi che portano ad inserire bug e vulnerabilita', anche tra le piu' ovvie come i buffer overflow il C non ti da' nulla per difenderti da tutto cio', Rust ti da' una batteria di meccanismi invece, che ti difendono dai piu' comuni errori di programmazione fino ai casini generati dalla gestione della concorrenza |
|
26-05-2017, 09:46 | #13 |
Senior Member
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
|
Chissà se con questo progetto nasceranno anche una serie di librerie moderne e ben documentate. Sarebbe il caso anche di restringere un minimo le opzioni offerte a favore di una soluzione nettamente superiore alle altre.
A mio parere è il problema numero 1 ad oggi sul mondo linux (forse figlio dei fondamentalismi elencati sopra...) Comunque stanno implementando una marea di roba e lo stanno facendo impiegando pochissimo tempo. Sono davvero dei mostri!
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun Per i veri appassionati di Formula1: PassioneF1 |
26-05-2017, 09:54 | #14 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Vero ma forse sara' anche dovuto al fatto che...
...Rust e' un linguaggio tremendamente espressivo, cosa che C non e' ( ad esempio ). |
26-05-2017, 23:29 | #15 | |
Senior Member
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
|
Quote:
Ammettiamo che il linguaggio di base sia 10 volte più espressivo del C, questi sono in 2 ed hanno tirato su un sistema operativo da 0 che ha pure un server grafico ed un gestore di temi. I casi sono 2 o sono davvero delle bestie e non vedono la luce del sole da anni... oppure nel mondo open come lo sonosciamo noi c'è qualche cosa che non va, tipo un freno tirato, un paracadute aperto... non saprei (canonica in 5/6 anni non ha cacciato fuori un DE)
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun Per i veri appassionati di Formula1: PassioneF1 |
|
27-05-2017, 16:17 | #16 | |||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
beh certo hanno sviluppato un bel po' di roba non ci piove, ma quanti sono esattamente? e che esperienza hanno? voglio dire, Travis Geiselbrecht sviluppo' nel tempo libero NewOS, microkernel usato poi dal progetto Haiku, poi se ne venuto fuori con Fuchsia ( si quello di Google ) era un ingegnere della Be, quindi ha lavorato su BeOS e praticamente scrive sistemi operativi ad occhi chiusi, un tizio con molta molta esperienza insomma Quote:
quindi e' gente che conosci i propri polli poi non credere che l'espressivita' del linguaggio non aiuti, soprattutto la standard library puo' fare parecchia differenza per esempio una cosa e' avere un'implementazione bella pronta delle hash table, ben diverso e' doverla creare da zero stesso discorso per array a dimensione dinamica e altre strutture dati che semplifica notevolmente gli sforzi di programmazione Quote:
e' noto che molti dei meccanismi unix ( a cominciare da pipe, thread, mutex, condvar, i/o di rete ) sono obsoleti e verbosi solo per aprire una socket bisogna settare un paio di strutture e chiamare 4-5 funzioni, la gestione dell'i/o concorrente e' un orrendo pastrocchio suppongo che quelli di redox abbiano tagliato un bel po' di schifezze, ma non ho approfondito la faccenda |
|||
28-05-2017, 09:07 | #17 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 8368
|
interessante
lato telefoni (drv delle periferiche permettendo) potrebbe esserci qualche 'sbocco indiretto'? btw magari è attinente, la system76 da quel poco che ho visto ha una organizzazione peculiare, praticamente se non ricordo male lavorano jit |
29-05-2017, 10:42 | #18 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Io conseglerei loro di occuparsi del loro kernel e basta cercare di "migliorare" Linux è una battaglia persa rischierebbero anche di tirarsi addosso le ire sia del "Malevolo Dittatore a Vita" ( ) che di altra gente della community!
Poi secondo me creare "ibridi" non è mai la soluzione il problema di Linux è il kernel e quello di certo non puoi riscriverlo in Rust! P.S. Comunque a me la sintassi di Rust sembra ancora più incasinata del C... non mi ci trovo con tutti quegli '&', i 2 - 3 modi diversi per rappresentare le stringhe...
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
29-05-2017, 16:29 | #19 |
Senior Member
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
|
Bhe perché la parte GNU dei sistemi GNU/linux come già indicato? Non è incasinata ed immodificabile?
Ed il server grafico? Con annessi driver proprietari e non? Diciamoci la verità non ci sono gli interessi per riscrivere tutto (e sarebbe una discreta follia) però i sistemi operativi concorrenti ad ogni major release ripartono con progetti nuovi, o comunque in buna percentuale nuovi. DEVONO assolutamente puntare sul loro kernel e creare il loro ecosistema. Poi si vedrà, con le web app moderne si possono avere in breve tempo un set di applicazioni bello completo per poter partire!
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun Per i veri appassionati di Formula1: PassioneF1 |
30-05-2017, 10:59 | #20 | |||
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Quote:
Quote:
Per me anche il multi utente è un concetto superato i PC sono sempre più "personal"! Quote:
Ma comunque sono convinto che anche dentro Windows ci sia codice magari non toccato da secoli che deriva dai tempi del DOS (anni '70 / '80)
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
|||
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:50.