Precedente :: Successivo |
Autore |
Messaggio |
Zeus News Ospite
|
Inviato: 22 Set 2009 15:49 Oggetto: Torvalds: "Linux è troppo grosso" |
|
|
Commenti all'articolo Torvalds: "Linux è troppo grosso"
Aggiungendo funzioni via via, è diventato "gonfio ed enorme", perdendo efficienza. Il guaio è che non c'è rimedio.
|
|
Top |
|
|
zeross Moderatore Software e Programmazione
Registrato: 19/11/08 11:04 Messaggi: 6216 Residenza: Atlantica
|
Inviato: 22 Set 2009 16:25 Oggetto: |
|
|
Purtroppo il gigantismo è il prblema di utti i kernel monolitici che sono costretti nel corso del tempo a dover supportare sempre nuovi dispositivi, protocoli e funzioni mantenndeo però quelli precedenti per non predere la compatibilità.
Un pò come uno che compre una serie di pentole per cucinare la pasta, poi compra quelle per cucinare la carne, poi quelle per il pesce, mantenndo sempr eperò le precedenti pentole.
Alla fine la cucina è invasa dal pentolame.
All'inizio il kernel di linux contava ventimila righe di codice, dieci anni dopo era arrivata a venti milioni ( un valore che il kernel di Windows NT aveva superato già da alcuni anni) di righe di codice.
Questo volume di infomrazioni rende materilamente impossibile ad un gruppo ristretto di persone di poter far fronte al mantenimento di un sistema siffatto.
Per questo si arriva alla segmentazione del lavoro tra più squadre con gruppi di coordinamento.
Nel caso di LINUX il coordinamento è abbastanza efficiente è riesce a tenere unito il progetto.
Nel caos di Microosft sono riusciti a farlo solo con il progetto di Windows 2000 poi si sono persi e di parecchio.
Per questo Linus Torvalds si preoccupa molto visto i problemi di mantenimento di una aziend acome quella di Redmond, cosa garantisce che nel futuro anche Linux non possa incorrere nello stesso tipo di inconvenienti.
Ne si può porre rimedio visto che la struttura monolitica lo rende praticamente impossibile.
Una struttura come quella del defunto Be Os ch einvece era ad alta modularità avrebbe potuto assolvere a questo compito ma purtroppo quella è una strada oramai senza via di uscita (Haiku e solo un sogno).
Il grande limite di Linux dovuto alla sua struttura interna ed al bisogno di dover supportare utto lo scibile ed anche di più provoca un fenmeno inarrestabile, che anche con gli stratagemmi più astuti come creare un insieme di serve che si occuapano di varie funzioni da richiamare dinamicamente non potranno che ritardare l'inevitabile implosione di sitemi troppo elefantiaci.
In Microsoft hanno pianificato di abbandonare il vecchio kernel NT (ibrido tra OS/2 e OpenVMS) nel 2014 quando secondo i loro calcoli il sistema non potrà più essere sviluppato avendo raggiunto i limiti tecnologici e si vedrà la luce di un nuovo sistema modulare basato sulle esperienze maturate con windows CE.
Anche in ambito LINUX occorre fin da ora pensare a qualcosa di nuovo e diverso da implementare che abbi alla base il concetto di modularità estrema in modo da dover erichiamar ein memoria pe ril solo tempo strettamente necessario i soli moduli indispensabili a fare i compiti richiesti.
L'eopca del sistema operativo che carica in meoria tutto l'immaginabile ed anche qual cosa in pù e definitivamente tramontata.
Bast apensare ad un sistema operativo come QNX che in un floppy da 1.44 contiene un sistema operativo x86 funzionante con browser internet per capire l'errore macroscopico nell'inseguire l'onnicomprensività. |
|
Top |
|
|
carlonove Eroe in grazia degli dei
Registrato: 08/06/09 13:51 Messaggi: 103
|
Inviato: 22 Set 2009 16:29 Oggetto: |
|
|
Finalmente ci si accorge che per raggiungere un livello medio-basso di potenzialità multimediale (cosa che gli altri pc forniscono in modalità più avanzata grazie a programmi adatti) non occorrono solo parole. |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 23 Set 2009 03:30 Oggetto: |
|
|
zeross ha scritto: | Purtroppo il gigantismo è il problema di tutti i kernel monolitici che sono costretti nel corso del tempo a dover supportare sempre nuovi dispositivi, protocolli e funzioni mantenendolo però quelli precedenti per non perdere la compatibilità.
(....)
|
Non proprio vero. Minix che è il massimo dei kernel modulari pian piano elefantizza pure lui! Windows CE (che è pur sempre semi monolitico) è oramai inservibile!
Alla MS se non ti sei accorto stanno tagliando tutto ciò che è ripetuto anche in maniera diversa. Es: Prima accettava e usava diversi modi di visualizzazione adesso solo 2 nativi. Però poi qualche programma non funzione perchè manca la libreria windows !
Ma non solo OS ma anche i linguaggi fanno la stessa fine. Java è giga di librerie e Perl non da meno!
Bisogna spostare la programmazione dal lato software puro ad quello Hardware con i coprocessori di linguaggio. In questo caso un istruzione è sempre una libreria ma tutto viene svolto al livello hardware e non gestito via software.
Per capirci meglio ora la CPU accetta solo L/M (linguaggio macchina) in futuro anche macro-comandi.
Ciao |
|
Top |
|
|
{paolo del bene} Ospite
|
Inviato: 23 Set 2009 05:57 Oggetto: problema già affrontato |
|
|
Linus Torvalds Benedict era già al corrente del problema, dunque non vedo di cosa si debba meravigliare.
Iniziamo ad allegerire le distribuzioni GNU/linux e far si che vengano installate le cose fondamentali, il resto lo si può installare da riga di comando.
Intanto caricare centinaia di drivers inutili non serve proprio a nulla, avere i giochi, il supporto ActiveX e DirectX può esser eliminato tranquillissimamente dato che c'è OpenGL, un ambiente grafico, leggero, senza fronzoli alla mac os x.
In pratica compilarsi il kernel ed i packages a seconda delle reali necessità, solo in questo modo si può risparmiare spazio sull'hdd e quantità di ram. |
|
Top |
|
|
{utente anonimo} Ospite
|
Inviato: 23 Set 2009 08:05 Oggetto: Macro-11 (Assembler) ... che nostalgia! |
|
|
Parecchi anni fa, si lavorava con un sistema operativo chiamato RSX-11. Era stato scritto da genta capace di "inchiodare i byte con il martello". Permetteva di compilare COBOL da quattro terminali su macchine (PDP11) con 256 KB di RAM. Per quel che ricordo, una delle caratteristiche migliori era l' efficienza con cui il codice residente sfruttava le caratteristiche di un loader efficientissimo per caricare, di volta in volta, i moduli necessari. Un modulo "Loader" da affiancare ai kernel monolitici per caricare di volta in volta altri moduli.... chi crede che sia possibile ? (P.S. l' RSX è stato il precursore del VMS) |
|
Top |
|
|
{Victor von Doom} Ospite
|
Inviato: 23 Set 2009 09:49 Oggetto: MA che cavolo dice Torvalds... |
|
|
...che proprio lui ha litigato con Tanenbaum sostenendo la superiorità di un kernel monolitico in contrapposizione alla posizione di Tanenbaum sui microkernels??
E adesso si lamenta? Farà anche lui colazione con la grappa? :) |
|
Top |
|
|
seahawk Dio minore
Registrato: 14/07/07 08:23 Messaggi: 865 Residenza: Bosco di Shoikan
|
Inviato: 23 Set 2009 10:14 Oggetto: |
|
|
da utonto normale di ubuntu non mi accorgo di questo calo di prestazioni (lo uso da un paio di anni)... all'avvio ci mette 30 secondi a essere utilizzabile (vs 1minuto abbondante di xp, sul mio pc)...sul resto non saprei.
Si potrebbe però installare il sistema operativo e poi togliere tutto cioò che non serve... quando ne hai bisogno lo scarichi dai repository...
non so, io non sono un informatico quindi non posso avanzare altre proposte |
|
Top |
|
|
nino.dago Semidio
Registrato: 06/09/07 14:59 Messaggi: 232
|
Inviato: 23 Set 2009 12:24 Oggetto: |
|
|
Quando si vuole trasformare Linux in qualcosa che non è, è normale che la direzione sia questa...
Bisogna essere obiettivi: il vertiginoso aumento delle potenzialità hardware ha portato, non solo dal lato Microsoft, a fregarsene delle prestazioni.
Inoltre, molti cercano, in varie distro Linux, di potenziare la user friendliness, ma ciò non può che appesantire il tutto.
D'altra parte, se non esistesse ad esempio una distro chiara e semplice come Ubuntu, quanti utenti a bassa alfabetizzazione informatica lo userebbero?
Capisco che non è facile ammetterlo, ma il discorso di Torvalds è molto chiaro: non possiamo fare il verso ai S.O. commerciali e poi evitare di affrontare le conseguenze delle nostre azioni.. |
|
Top |
|
|
ercole69 Eroe in grazia degli dei
Registrato: 22/11/06 09:20 Messaggi: 149
|
Inviato: 23 Set 2009 13:10 Oggetto: non confondete il kernel Linuxcon le distribuzioni linux |
|
|
...Linux è solo il kernel del sistema quindi l'elefantismo delle distribuzioni in questo caso non centra nulla. Io posso avere anche 200GB di programmi installati ma la memoria e la CPU vengono usati solo per i programmi in esecuzione in quel momento.
Invece parte il problema maggiore del Kernel è proprio nel suo punto di forza: Linux supporta praticamente tutto l'hardware esistente quindi deve avere moduli per qualsiasi cosa, dalla scheda grafica VESA fino ai microcontrollori industriali e deve essere in grado di girare dai processori embebbed fino ai supercomputer...
Gli "altri" sistemi risolvono il problema girando o su hardware personalizzato (qualcuno sta parlano di mele ) oppure non supportano praticamente nulla (provate a installare un Windows qualsiasi senza driver aggiuntivi su un PC e vedrete cosa capita...) |
|
Top |
|
|
{Nedanfor} Ospite
|
Inviato: 23 Set 2009 13:42 Oggetto: Problema del tutto relativo |
|
|
Se si ha bisogno di prestazioni ottimali si ricompila il kernel... Preferisco un kernel che inglobi tutti i driver che un kernel vuoto, onestamente. A quanti servono prestazioni ottimali? A pochi. Se devo aiutare qualcuno senza la minima conoscenza informatica, per non perdere tempo inutilmente, preferisco installargli il kernel completo... E v'assicuro, questo 'calo' delle prestazioni si sente molto poco... È molto peggio l'aumento del peso dei DE. |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 23 Set 2009 16:15 Oggetto: Re: Macro-11 (Assembler) ... che nostalgia! |
|
|
{utente anonimo} ha scritto: | (...). Per quel che ricordo, una delle caratteristiche migliori era l' efficienza con cui il codice residente sfruttava le caratteristiche di un loader efficientissimo per caricare, di volta in volta, i moduli necessari. Un modulo "Loader" da affiancare ai kernel monolitici per caricare di volta in volta altri moduli.... chi crede che sia possibile ? (P.S. l' RSX è stato il precursore del VMS) |
Se non sbaglio è la caratteristica di OpenVMS.
Dobbiamo ricordarci che un OS è un programma!!!
Quello che appesantisce non sono solo i driver, ma anche una serie di librerie e funzioni usate pochissimo e capacità che sicuramente non verranno usate.
Il fatto che ogni cosa in memoria diventa interdipendente con altre, per questo più carichi la memoria più il programma diventa lento : Il cosiddetto Peso-Macchina (solo i vecchietti si ricordano questo termine)
Ecco perchè se si carica lo stesso programma (es. un CAD o altro) con delle funzioni in più, anche se non utilizzate, il programma andrà più lento!
Fare un programma con moduli alleggerisce la memoria ma aumenta la complessità del programma sui i più moduli che deve interfacciare. Per questo è un palliativo anche costoso come energie.
Comunque esiste un Linux senza fronzoli, che viaggia da dio con poca memoria ed è la base dei Linux per piccoli sistemi.
Vogliono, da più parti, integrare nel kernel Linux molte funzioni di dubbia utilità come le virtualizzazioni. Per questo il Sig.Linux s'arrabbia!!!
Linux può essere compilato secondo le specifiche invece d'aver un kernel che fa di tutto anche l'inutile!
Ciao |
|
Top |
|
|
bandreabis Eroe
Registrato: 02/11/05 10:31 Messaggi: 49
|
Inviato: 23 Set 2009 18:16 Oggetto: |
|
|
Domanda da ignorante: non è sufficiente compilare il kernel eliminando tutto ciò che non serve? |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 23 Set 2009 19:35 Oggetto: |
|
|
bandreabis ha scritto: | Domanda da ignorante: non è sufficiente compilare il kernel eliminando tutto ciò che non serve? |
Si può ma poi un programma s'aspetta che ci sia la particolare funzione, se non la trova son problemi. Poi dato che una cosa dipende da un altra bisogna stare attenti che eliminando una cosa forse superflua s'intacca una importatissima.
Sarebbe da fare più versioni di kernel, un kernel per server, un kernel per desktop, un kernel tecnologico. Insomma andare nella specializzazione (cosa che in Linux avviene) ma soprattutto standardizzare (questo non avviene) queste specializzazioni.
Attenzione ad non confondere le distribuzioni con le specializzazioni!!!
Altro sistema è modularizzare le componenti che sono scarsamente usate! Rispetto al kernel veramente modulare sarebbe più facile e stabile.
Ciao |
|
Top |
|
|
Ramon Semidio
Registrato: 07/07/06 00:50 Messaggi: 342
|
Inviato: 23 Set 2009 20:42 Oggetto: Linux non è monolitico! |
|
|
Continuo a leggere questo tormentone sui kernel monolitici, microkernel, etc; si tratta di discorsi che lasciano il tempo che trovano.
Né Windows, né MacOSX, né Linux, sono microkernel.
Né Windows, né MacOSX, né Linux, sono monolitici.
Tutti i principali kernel ormai sono ibridi; anche Linux ha una miriade di driver, ciascuno dei quali ha una porzione in kernel space e una in user space.
Minix è microkernel ma ha solo una finalità didattica. |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 23 Set 2009 23:22 Oggetto: Re: Linux non è monolitico! |
|
|
Ramon ha scritto: | Continuo a leggere questo tormentone sui kernel monolitici, microkernel, etc; si tratta di discorsi che lasciano il tempo che trovano.
Né Windows, né MacOSX, né Linux, sono microkernel.
Né Windows, né MacOSX, né Linux, sono monolitici.
Tutti i principali kernel ormai sono ibridi; anche Linux ha una miriade di driver, ciascuno dei quali ha una porzione in kernel space e una in user space.
Minix è microkernel ma ha solo una finalità didattica. |
Certo che la definizione classica oramai lascia il tempo che trova e deve essere aggiornata => Non esistono più Kernel perfettamente monolitici.
Dunque Windows, MacOSX, Linux, sono monolitici.
Minix era usato con finalità didattiche una volta:
http://www.minix3.org/
Codice: | MINIX 3 is a new open-source operating system designed to be highly reliable, flexible, and secure. It is loosely based somewhat on previous versions of MINIX, but is fundamentally different in many key ways. MINIX 1 and 2 were intended as teaching tools; MINIX 3 adds the new goal of being usable as a serious system on resource-limited and embedded computers and for applications requiring high reliability |
Ciao |
|
Top |
|
|
{paolo del bene} Ospite
|
Inviato: 24 Set 2009 08:26 Oggetto: |
|
|
secondo quale tua convinzioneil kernel linux non è monolitico ? secondo quale tua convinzione mach 4.0 non è un microkernel ? scommettiamo che ho ragione io ?
Il Microkernel Mach è frutto di un fork di BSD, originariamente BSD era un sistema operativo sviluppato dalla University Of Califronia, Berkeley. successivamente fu sviluppato il microkernel Mach da Richard Rashid vendutosi alla microsoft molti anni dopo.
Come avevo già supposto il microkernel Mach sviluppato da Richard Rashid & Co, ebbe fortuna grazie all'introduzione dei processi servers derivanti dalla Free Software Foundation grazie a GNU ed HURD, ma soprattuto HURD
Tenendo presente che Richard Rashid si laureò alla University of Rochester Il destino volle che il microkernel Mach alla Carnegie Mellon University si fermo al 3.0, mentre alla University of Utah fu portato avanti fino alla 4.0.
Steve Jobs era il Co-fondatore della Apple Computer Cupertino.Inc insieme a Steve Wozniak, Steve Jobs mise il Capitale, Wozniak il cervello per lo svilluppo hardware, che la prima volta si verificò essere un flop gigantesco, quando il computer davanti alla stampa andò in fumo. :-)
Tornando alla questione Apple Computer Cupertino.Inc, Steve Jobs lasciò la Apple Computer Cupertino.Inc perchè era in pessimi rapporti con John Sculley, l'allora presidente di Apple Computer Cupertino.Inc e decise di andare a fondare la Next.
Indovinate su quale sistema operativo iniziarono a lavorare alla Next ?
Non lo sapete, o non lo avete indovinato ?
Sull'evoluzione del microkernel Mach 4.0, sapete chi altro entrò a far parte del team di sviluppo alla Next ?
Avadis Tevanian, un altro che alla Carnegie Mellon University
Ebbene, non fecero altro che metterci sopra un pò di grafica e spacciarlo per un nuovo sistema operativo, che fu chiamato NextStep, piacque così tanto che anche la sun microsystems lo volle provare ed ancora oggi i sistemisti staranno li ad imprecare per non avere più alcuna fomra di supporto, si perchè Steve Jobs, non vendette NextStep, ma fece fare OpenStep, appositamente per la sun microsystems e siccome verso la fine degli anni 90 la Apple iniziava ad andar male, Steve Jobs, vendette la Next alla Apple Computer Cupertino.Inc permettendo così alla Apple Computer Cupertino.Inc di beneficiare del lavoro svolto fino al 1996-1997, quando Steve Jobs, disse che i rami secchi dovevano essere tagliati perchè non produttivi, iniziò a licenziare in Apple Computer Cupertino.Inc, nel 1997 iniziò in velocità a far implementare NextStep insieme a Mac Os, per lo sviluppo del Mac Os x, portandosi dietro come vice presidente Avadis Tevanian in Apple Computer Cupertino.Inc e da li a breve iniziarono a spacciare un kernel monolitico come BSD fuso insieme al microkernel Mach 4.0 (ibrido) per l'evoluzione di un sistema operativo inventato da Apple Computer Cupertino.Inc.
Se uno vuole GNU/HURD si prende l'orginale ma non c'è alcun motivo per regalare migliaia di euro ad un capitalista, quando invece si possono fare delle spontanee e libere donazioni agli sviluppatori di FreeBSD. |
|
Top |
|
|
Ramon Semidio
Registrato: 07/07/06 00:50 Messaggi: 342
|
Inviato: 24 Set 2009 14:09 Oggetto: Non mi sono spiegato bene. |
|
|
Ovviamente mi riferivo ai kernel principali impiegati nel mondo dei PC.
Minix non sarà più didattico, ma il suo utilizzo è prossimo allo zero.
X paolo del bene. Linux è strutturato come kernel monolitico, ma da un bel po di tempo ha subito delle modifiche che lo hanno fatto diventare via via sempre più "pseudo-ibrido" (nel senso che, tecnicamente, non si può parlare di un vero kernel ibrido).
C'è anche da ricordare che, come sanno bene gli esperti, i kernel monolitici sono quelli più efficienti in assoluto, anche se presentano una serie di svantaggi. |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 24 Set 2009 15:39 Oggetto: Re: Non mi sono spiegato bene. |
|
|
Ramon ha scritto: | (...)
Minix non sarà più didattico, ma il suo utilizzo è prossimo allo zero.
|
Vero, "pochi ma buoni", serve in effetti in applicazioni di qualità.
Se una cosa serve poco, ma quel poco VALE, è uguale o maggiore di quello che serve tantissimo per cose scarse.
Ogni cosa al suo posto.
QNX è un altro ad microkernel modulare è usato per l'alta tecnologia.
Io preferisco gli ESOKernel quelli si che sono il futuro !
Ciao |
|
Top |
|
|
freemind Supervisor sezione Programmazione
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 25 Set 2009 23:54 Oggetto: |
|
|
Gli esokernel sono una bella idea!
Però parlando di linux io non ho capito una cosa sulla critica di suo papà.
Quando è nato, supportava poca roba, oggi linux fa di tutto; si attacca a moltissimi dispositivi, ci sono versioni realtime e bla bla bla.
Ovviamente più roba ci metti, più peso ha. Quindi questo appesantimento io non credo che sia così un dramma anche perchè come kernel resta molto veloce (in quanto i kernel monolitici [lasciamo perdere l'appunto di ramon, che è giustissimo però di fatto il linux è monolitico] sono più veloci).
Io piuttosto mi preoccuperei di un problema che affligge le moderne distro basate su linux e anche gli altri OS commerciali.
Troppe stratificazioni, troppi wrapper per tener insieme cose aggiunte successivamente e non previste (e neppure previsti i giusti "agganci").
Però qui sto uscendo dal topic quindi chiudo questa postilla.
Poi, come già è stato fatto notare, il kernel può essere ricompilato e reso piccolissimo quindi si tornerebbe ad avere il kernel minimale giusto giusto per la macchina su cui gira. |
|
Top |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|