|
|
|
|
Strumenti |
17-10-2005, 17:25 | #1 |
Member
Iscritto dal: Mar 2004
Messaggi: 37
|
Linux progettato male?!
Nei forum e nei newsgroup, si leggono spesso interventi che fanno riferimento alla cattiva programmazione di alcune parti dei sistemi Linux: c'è chi è veramente convinto di questo, chi tace, e chi dice che tutto sommato non è proprio così, ma spesso non c'è nessuno che effettivamente neghi la situazione....
Mi sorge dunque il dubbio: Linux è realmente progettato male? E quali sono i componenti più critici sotto questo punto di vista? E poi, se anche ci fosse qualche componente sviluppata male, ma una buona e ben studiata architettura di base, non basterebbe dare una sistemata (o eventualmente riscrivere) solamente questi componenti? Oppure l'intera struttura è un po' traballante? Da come parla certa gente, sembrerebbe realmente necessario un bel colpo di straccio... |
17-10-2005, 17:49 | #2 |
Senior Member
Iscritto dal: Aug 2002
Città: Trento
Messaggi: 40862
|
scusa ma cosa significa "linux è progettato male" ?
cosa intendi per "linux" ? GNU-Linux inteso come kernel? il kernel vanilla? un qualche altro tipo di kernel? qualche tipo di gui? qualche programma? il tipo di concezione? un qualche tipo di distribuzione fra le migliaia esistenti? cosa intendi per "progettato" ? come hanno scritto il codice? il codice di cosa in particolare? (dato che "linux" come parola vuol dire tutto e niente) sinceramente mi sa assurda come affermazione posso capirlo di un programma di un tipo di concezione di un tipo di kernel ma dire "linux è progettato male" che significato ha?
__________________
http://www.trentografica.itGrafica e Fotografia a Trento Ultima modifica di Leron : 17-10-2005 alle 17:53. |
17-10-2005, 18:35 | #3 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
"certa gente" a volte si chiama Microsoft e non ci si può fare affidamente come stai facendo. Stai usando i paroloni e i dubbi che si usano in azienda per scoraggiare una soluzione rispetto ad un'altra |
|
17-10-2005, 18:48 | #4 | |
Member
Iscritto dal: Mar 2004
Messaggi: 37
|
Innanzitutto, sia chiaro che non voglio generare flame. Mi scuso inoltre se qualche volta posso sembrare impreciso nel spiegare la situazione, ma questo è semplicemente dovuto al fatto che non esprimo delle "mie" considerazioni, ma ciò che ho interpretato da pareri di altre persone.
Con Linux intendo in primis il kernel: alcune persone dicono essenzialmente che il codice è tutto una toppa, e che sarebbe meglio dargli una rivisitata globale. Inoltre, ma questo non è sintomo di cattiva programmazione, si dice che l'approccio sfruttato è obsoleto. Un intervento per tutti è quello di Tanner, nella discussione su BeOS: Quote:
Ma non voglio focalizzare la discussione su uno di quasti problemi. Mi piacerebbe sentire il vostro parere in merito a questo "malcontento": se è o meno motivato, da cosa è causato e quali potrebbero essere le soluzioni per porvi rimedio. Uno dei miti relativi a Linux (ed in generale al software free o open) è che questo è necessariamente di alta qualità, in quanto rivisto e migliorato da un nutrito gruppo di persone. Quello che vorrei sapere è se questa affermazione è vera di per sè: ovvero, per ottenere una alta qualità del codice, è sufficiente la modalità di sviluppo ora adottata (definita spesso scherzosamente anarchia illuminata) o è anche strettamente necessaria un'intensificazione dell'opera di standardizzazione, di organizzazione e strutturazione del lavoro, che talvolta gli sviluppatori non sono molto desiderosi di accollarsi? Ripeto: non voglio generare flame ne far ripetere le stesse cose all'infinito... se non mi conoscete molto o se non ho tanti messaggi, è perchè sono il primo a dire che, quando non si conoscono le cose, è meglio star zitti ed ascoltare. Io ho ascoltato parecchio, eppure so che ho ancora molto da imparare: quanto ho scritto qui non vuole essere un'accusa o un giudizio, ma sono una richiesta di chiarimento su un'argomento che resta sempre molto vago, in quanto scaturisce facilmente in flame. Perciò vi prego di rispondere in maniera il più possibile obiettiva, senza farvi turbare da termini o imprecisioni che, se anche sembrano posti per surriscaldare gli animi, non sono utilizzati volontariamente a questo scopo. |
|
17-10-2005, 19:07 | #5 | |
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2362
|
Quote:
|
|
17-10-2005, 19:09 | #6 |
Senior Member
Iscritto dal: Aug 2002
Città: Trento
Messaggi: 40862
|
io non ho ancora capito cosa intendi per "linux"
__________________
http://www.trentografica.itGrafica e Fotografia a Trento |
17-10-2005, 19:28 | #7 |
Senior Member
Iscritto dal: Sep 2005
Città: Padova
Messaggi: 1512
|
Sinceramente e' un argomento molto oscuro, di certo quelli che ne parlano male sono molto spesso gli utenti BSD.
Quello che penso io e' che la base del SO, la struttura, sia fatta molto bene e insieme alla base c'e' un comparto di driver che per compatibilita' con il nuovo hardware deve alle volte arrangiarsi (perche' non vengono rilasciate le specifiche) creando malgrado qualche problema prima di raggiungere la piena stabilita'
__________________
Core 2 Duo E6400 - Zalman 7000BCu - Asus P5B - Ali Enermax EG465AX - TeamGroup 2x512MB DDR2667 - ASUS 7600GT - Zalman VF700CU - SATA Hitachi 160 - NEC 4550 Powered by: |
17-10-2005, 20:17 | #8 | ||||||
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
Quote:
Quote:
non è un caso che recentemente, l' impegno sullo sviluppo di X.org sia rivolto a mascherare sempre di più tali latenze (intrinseche alla struttura a livelli che prevede la gestione degli eventi e il widget drawing in un pezzo separato dal "generatore di primitive grafiche" ),aggiungendo estensioni che danno al server maggiori funzionalità locali, o reimplementando la Xlib in forma di API asincrona, multithreaded e diretta sulla IPC locale invece che sui socket... BEOS è sempre citato come l' archetipo del sistema operativo desktop: uno dei (molti e vari) fattori che concorrono alla responsività della sui GUI è il suo app_server ora, un application server si occupa praticamente di un po' di tutto, gestire l' input, muovere le finestre, (ri)disegnarle, disegnare i widget... logico che se una singola entità fa quello che su altri sistemi è fatto da più, i code path possono essere più brevi e le applicazioni vengono coinvolte meno, inoltre uniforma il look and feel delle applicazioni, e la api a livello del toolkit da usare per programmarle lo svantaggio è però una minore flessibilità: sotto linux basta cambiare il WM, o il toolkit , o il tema corrente del toolkit, per avere un nuovo look & feel di un' applicazione o di tutto il desktop con un app_server , dipende tutto da lui e da come si presta ad essere configurato Quote:
allo stato attuale mi sembra che a farla da padroni siano kernel in un certo senso ibridi, tendenzialmente monolitici ("tutto in kernel space") ma modularizzati... Quote:
Quote:
mentre linux mi pare faccia (o almeno abbia fatto) l' opposto, prendere quello che c'è e aggiungere quello che serve, apportando modifiche alla struttura generale solo se strettamente necessarie... certo, in una quindicina d' anni "è cambiato tutto e al tempo stesso non è cambiato nulla" (linux si chiama sempre linux anche se è una "bestia" diversissima da com' era una volta, diversa più negli internals che nella struttura generale e nella API), ma proprio perchè tanti anni di modifiche via via apportate (e cumulatesi le une sulle altre) hanno indotto la radicale evoluzione del sistema nel suo insieme Quote:
assunto che in altri settori del SW design non si può dare per valido quasi mai...
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 18-10-2005 alle 15:43. |
||||||
17-10-2005, 21:26 | #9 | |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 994
|
[vagamente OT] ()
Quote:
gran bell'anime [/vagamente OT] |
|
17-10-2005, 21:49 | #10 |
Senior Member
Iscritto dal: Jun 2004
Città: Besana Briansssa
Messaggi: 521
|
direi massimo rispetto per jappilas.
__________________
Io ne so |
17-10-2005, 22:37 | #11 | |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
x The Katta: tnx
Quote:
ma davvero tanto... sarò sentimentale, ma mi si è incastonato da qualche parte tra i ricordi delle cose più belle che ho visto... <- /me commosso tra l' altro dopo la prima volta, alle successive visioni acquista una luce tutta nuova... e una vena di malinconia se possibile "Tutto finisce prima o poi. Ed è proprio questo a renderne il ricordo così prezioso." [/MOLTO OT]
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 18-10-2005 alle 15:41. |
|
17-10-2005, 23:36 | #12 | |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
anche se non è ordinato, funziona, e per chi lo usa questo conta...
Quote:
negli anni 90 linux era uno unix- like sì multitasking, ma che a lungo non ha potuto girare su sistemi diversi da X86, non scalava col numero di processori, non supportava il clustering, aveva una gestione dei thread lacunosa, non aveva supporto real time, le sessioni critiche imponevano un lock globale al kernel... ora le routine di basso livello (quelle machine dependent) sono state portate su più piattaforme (architetture, cioè ISA e subarchitetture, cioè implementazioni) che non NetBSD, lo stesso kernel source tree scala dal supporto per sistemi embedded senza MMU fino a macchine con 16 e passa processori (tranne forse i sistemi "big iron" , per cui sono previste "fork" di parti del kernel), esistono 3 diverse patch per il clustering, il supporto real time è previsto in più modi (scheduler trasparente o host scheduler ), per i thread è previsto un modello 1:1 a cui DragonFlyBSD vuole ora migrare dall' attuale m:n (troppo complesso per via del doppio scheduler, kernel + userland), le mutue esclusioni sono quasi tutte a granularità fine... per dirne alcune... il lato positivo del modello evolutivo, quando messo in pratica da una forza lavoro potenzialmente di milioni di persone, che usano, o lavorano su, lo stesso codice, è che potenziali bug annidati in qualche code path, si ha una elevata probabilità statistica che vengano prima o poi trovati (per la legge dei grandi numeri) e quindi fixati ... quindi se qualcosa che non funziona, lo si fa funzionare... (atteggiamento pragmatico... ) il colpo di straccio sembra necessario agli occhi di quelli che vorrebbero un sistema con caratteristiche totali o parziali di "invarianza" e "identificabilità"... cioè che vorrebbero poter associare univocamente al nome un ben determinato insieme di caratteristiche e specifiche, dare un altro nome a qualcosa che si discosti da quell' insieme, e poter individuare e separare nel sistema, i componenti dedicati alle varie funzioni linux rompe questa visione... da una parte è appunto il modello di sviluppo a portare alla progressiva sostituzione e adattamento alle necessità contingenti , del codice (un po' come il continuo ricambio cellulare in un organismo vivente), codice che pure resta sempre sotto lo stesso nome dall' altra appare poco "strutturato" e più "amalgamato" di altri OS che fanno della "compartimentazione" dei blocchi costituenti i sosttosistemi, una priorità di design, per via dell' atteggiamento verso le interfaccie formali e binarie che non le vede invarianti per principio (se davvero necessario, si possono modificare - ora per fortuna questo è molto meno applicato, ma anni fa c'è stato un periodo in cui variavano ogni piè sospinto... probabilmente era anche la prospettiva di dover patchare e ricompilare tutto ad ogni aggiornamento a dare l' idea di un sistema accrocchiato) una cosa che credo sia innegabile e sempre valida è che linux e il modo in cui si evolve, è un po' caotico, quindi sarà sempre "inferiore" e fatto male agli occhi di chi vuole l' ordine e la pulizia a tutti i costi... ma ciò non vuol dire che il codice non funzioni e laddove ora io possa dire "funziona male o in modo inadeguato" non possa magari essere pesantemente smentito dalla versione del prossimo anno...
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 18-10-2005 alle 10:52. |
|
18-10-2005, 01:06 | #13 | |||||
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
Quote:
Quote:
Quote:
imho, il vero nocciolo della questione è: un' implementazione unix è idonea come risposta ai miei problemi di computing in ambito desktop e multimediale, o un' altro design può costituire una soluzione migliore anche a fronte di eventuali svantaggi? come sempre per tutti gli strumenti, bisogna valutare pro e contro... Quote:
a parte ciò, bisogna dare a cesare quel che è di cesare... Quote:
c'è il vantaggio che chiunque può fare code review, a differenza di una SW house che può contare solo sul proprio team, quindi è più facile scovare eventuali bug... ma se *chiunque* potesse apportare una modifica o aggiungere un pezzo di codice, vorrebbe dire affidarsi all' ultimo coder arrivato, che può essere chiunque e ovunque nel mondo, avere capacità tecniche buone come assolutamente carenti, ed un livello di onestà non accertabile se non ricordo male, delle volte che una patch era accettata fidandosi, a distanza di tempo magari si scopriva che conteneva qualche privilege escalation o backdoor, o magari capitava direttamente che "non funzionasse" o "rompesse" qualcosa altrove... motivo per cui lo sviluppo dello stesso kernel è da qualche tempo molto più strutturato e meno anarchico...
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 18-10-2005 alle 20:04. |
|||||
18-10-2005, 13:05 | #14 |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1708
|
Linux e le varie distribuzioni ad esso collegate non possono essere "progettate male" per il semplice fatto che non sono mai state progettate. Se per progettare si intende una seria analisi di requisiti, definizione delle specifiche, diagrammi UML ecc. ecc. e infine la programmazione vera e propria.
Linux e le varie distro ad esso associate sono un po` di righe di codice messe assieme che sembrano funzionare discretamente bene. Saluti.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
18-10-2005, 16:45 | #15 | |
Member
Iscritto dal: Mar 2004
Messaggi: 37
|
Grazie a tutti per gli interventi, ma in particolare grazie a jappilas, che mi ha dato una risposta ben al di sopra di tutte le mie più rosee apettative: la definirei quasi illuminante, se non fosse per il fatto che alcuni concetti mi sono alcuanto oscuri... col tempo li capirò....
Quote:
|
|
18-10-2005, 17:38 | #16 | |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4740
|
Quote:
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
|
18-10-2005, 22:10 | #17 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1708
|
Quote:
Sinceramente credo che Linux (e le distro ad esso legate) siano troppo legate a retro-compatibilità varie per poter mai pensare di riprogettarlo per bene da zero. Insomma serve un punto di rottura, un po' come fece la microsoft passando dai sistemi operativi che non si potevano neanche definire tali (es: windows 95) a qualcosa di più serio (windows NT)
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
19-10-2005, 08:52 | #18 | |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
Quote:
tra l'altro parla di casi ben meno complessi della realizzazione di un sistema operativo comunque se vuoi qualcosa di piu` moderno per quanto concerne l`architettura interna (e probabilmente piu` facilmente estendibile) puoi sempre dare una mano a quelli di Hurd ciao |
|
19-10-2005, 09:50 | #19 | |||
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Quote:
Quote:
ciao |
|||
19-10-2005, 10:14 | #20 |
Senior Member
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11737
|
[OT]
@jappilas: mi piange un po' il cuore a dirtelo, in quanto dopo la raccomandazione di Fred Gallagher (autore di megatokyo, che gli dedica un omaggio qui: http://www.megatokyo.com/index.php?strip_id=731 ) "Haibane Renmei" è uno degli OAV che DEVO vedere. Ma, ecco, la tua sign è un po' irregolare: una immagine+una riga di testo. [/OT]
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning. Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia... |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:06.