![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() | ||
![]() |
![]() |
![]() |
![]() |
![]() Sommario Internet ID Indici di BETA Redazione Mailing list Installazione Mirror ufficiali Licenza Pubbl. Beta Cerca Stampa
|
![]() |
![]() |
![]() |
![]() |
Multipiattaforma e open sourceIntroduzioneCosa si richiede ad un moderno sistema operativo? Potremo tranquillamente tutti menzionare almeno una decina di requistiti indispensabili tra cui multitasking, multithreading, multiutenza, robustezza e scalabilità.Proprio sulla scalabilità vorremo concentrarci. È indubbio che i numerosissimi produttori di hardware Intel possano coprire una enorme varieta' di requisiti e di situazioni. È tuttavia indispensabile capire come per alcuni compiti particolarmente gravosi questa architettura mostri la corda. Sarebbe una grande facilitazione prendere il nostro sistema operativo con tutte le sue applicazioni e portarlo su un hardware più potente, o migliore, e continuare il nostro lavoro. E' possibile? Sistemi operativi MultipiattaformaSul mercato ci sono svariati sistemi operativi Multipiattaforma, OpenStep, Solaris, Windows NT, OpenBSD, NetBSD, Linux ecc.Per la nostra trattazione vorrei però sceglierne due ed esaminare a fondo l'attuale situazione: Linux e Windows NT. Questo non per fare un torto agli altri ma perché questi due sistemi sono, per certi versi l'antesignano l'uno dell'altro. Windows NT è in mano ad una organizzazione che crede fortemente nel centralismo e nella definizione di standard e protocolli proprietari. Linux è invece fa sua l'architettura decentralizzata, è disponibile anche in forma di sorgente, è basato su standard aperti ed è l'unico sistema, oltre a NT, che sta guadagnando quote di mercato. Per scrivere questo articolo mi sono basato essenzialmente su due cose:
Un po' di storiaUno dei requisiti che Microsoft diede a David Cutler per lo sviluppo di Windows NT fu la possibilità di effettuare un veloce porting fra piattaforme differenti. Questo influenzo' profondamente il progetto di Windows NT. Tutto il sistema fu infatti scritto in ANSI C (il passato è d'obbligo dato che recentemente Microsoft ha stravolto i requisiti iniziali riscrivendo gran parte del kernel in C++ e compilandolo con il proprio compilatore) e in maniera completamente modulare. Unica parte in assembler lo strato più a basso livello chiamato HAL (Hardware Abstraction Layer) che si occupa di comunicare con l'hardware e di astrarre il sistema operativo dalla piattaforma su cui gira. La prima versione di Windows NT (la 3.1) usci' supportando direttamente 4 architetture:
Allo stato attuale Windows NT è installato per quasi il 90% su piattaforma Intel e per il resto su Digital (ora Compaq) Alpha. Varie statistiche confermano queste cifre. Linux ha invece una storia opposta. Il kernel (oramai lo sanno anche i sassi) nacque come progetto scolastico da parte di Linus Torvald per lo sviluppo di un sistema Unix like su X86 al posto del vetusto e limitato minix, e successivamente si è evoluto arricchendosi di funzionalita' fornite mediante lo sforzo congiunto di migliaia di programmatori. L'aggiunta inoltre di programmi sviluppati ad hoc e degli ottimi tool del progetto GNU ha portato Linux fino agli ottimi livelli di oggi. Qualche tempo fa cominciarono i progetti di porting. Molti appassionati, disponendo di hardware diverso (e magari un po' esoterico e quindi poco supportato), dei sorgenti e dell'ottimo Gcc fondarono un congruo numero di gruppi che iniziarono ad effettuare il porting del sistema sull' hardware più disparato. Tra le principali piattaforme ricordiamo:
La situazione attualeQuel'e' lo stato attuale di Windows NT e Linux? In gran parte la situazione di Windows NT è stata riassunta prima. Microsoft ha abbandonato MIPS e PowerPC per dedicarsi ad Intel e Alpha e una buona fetta dell' installato NT risiede su archittetura Intel e sue evoluzioni.Perché questo enorme divario, verrebbe da chiedersi dato che Alpha ha dei notevoli vantaggi..:
Ho telefonato in Microsoft Italia chiedendo di poter ottenere una statistica delle applicazioni disponibili per NT su piattaforma Alpha. La mia interlocutrice non deve aver ben compreso la domanda dato che mi ha detto senza incertezza che (cito testualmente) "le applicazioni sviluppate su Windows NT sono un numero talmente elevato che è impossibile avere una stima completa". Quando le ho risposto che questo già lo sapevo ma che moltissime sono disponibili solamente per piattaforma Intel e che volevo SPECIFICAMENTE sapere quante erano compilate anche o solo per Alpha, mi ha risposto che tali dati sono troppo specialistici e che servirà tempo per averli. A tutt'oggi non li ho ancora ricevuti. E qui sta il problema. Gli stessi applicativi desktop di Microsoft non sono compilati per Alpha. Office 97 esiste solo per Intel e per MacOS (come Office 98) ma non per Windows NT su Alpha. Non per niente la Digital ha rilasciato il suo emulatore FX32 gratutitamente per supplire a questo problema. Perché devo comperare una macchina velocissima per poi ucciderla con un emulatore X86? Anche nel reparto server le cose non vanno molto meglio. Alcuni, come Oracle e Sybase, offrono i loro prodotti anche per Alpha ma altri semplicemente ignorano questa piattaforma. E' inutile dire che con il sistema operativo e una manciata di applicazioni non è possibile essere produttivi e questo è un peccato dato che i server di fascia altissima di Compaq su Alpha dispongono di potenze da mainframe che NT, nonostante Microsoft punti decisamente al mercato delle imprese, Enterprise, non potra' quindi sfruttare a dovere.
Non mi sono voluto arrendere e quindi ho cominciato ad installare NT sulla
workstation Alpha. L'installazione, tranne qualche piccola sottigliezza,
e' identica a quella per Intel e si effettua dallo stesso Cd-Rom della versione
Intel. Sappiamo infatti che Microsoft non differenzia i supporti tra le
diverse architetture. Connessa la workstation ad Internet ho cominciato
a vedere se potevo trovare alcuni programmini shareware che utilizzo di
solito in ambiente NT. Niente! Ho provato a cercare su Tucows, su
Winfile ed altri siti ma di programmi per NT su Alpha nemmeno l'ombra.
Mi arrangio, ma con che cosa? Conoscete voi dei compilatori per NT
su Alpha? Visual Studio no! Idem per il porting del Gcc effettuato dalla
Cygnus. Sto ancora cercando di risolvere il problema senza estrarre dal
portafoglio cifre spaventose per qualche compilatore specializzato. Più
fortuna arriva con dei prodotti di alto livello come la suite di Backoffice
di Microsoft, Oracle 8, Sybase 11 ed alcuni software di CA. Il tutto sembra
dire, senza troppe remore: "Windows NT per Alpha NON è per il
desktop". ConclusioniTutto questo cosa ci porta a concludere? Una cosa che tutti i sostenitori di Linux e della politica Open Source già sapevano da tempo. Disporre del codice sorgente è un grossissimo incentivo per una crescita esponenziale del software specialmente in ambito Multipiattaforma. Linux non è nato Multipiattaforma. Una gran parte delle primissime release del kernel era scritta in assembler del 386. Eppure con raffinamenti successivi è stato portato sui sistemi più disparati. Le applicazioni open source non sono da meno. A parte qualche eccezione, legata all'hardware o ad una particolare architettura, tutte possono essere ricompilate senza troppi problemi direttamente dall'utente. Non si deve impazzire andando a cercare se qualcuno l'ha gia' fatto al posto nostro, ne' si devono spedire mail a tutti gli autori per vedere se avranno la possibilità di compilare le appicazioni per una piattaforma specifica.Inoltre c'e' da considerare un altro fattore non banale. Un sistema commerciale come Windows NT deve necessariamente seguire le leggi di mercato riguardo domanda e offerta. Se una piattaforma non è considerata strategica o importante la societa' produttrice del software non gettera' sicuramente soldi in R&D e quindi il prodotto o non verra' sviluppato o andra' a decadere. Linux è invece sostenuto dal lavoro volontario di migliaia di persone che lo seguono con zelo quasi religioso. Tra costoro si possono tranquillamente annoverare alcuni dei più irriducibili tecnocrati del pianeta. Pensate che qualcosa, tranne il tempo a disposizione e la disponibilità delle specifiche sull'architettura, possa fermare costoro dal portare Linux su qualche hardware assolutamente esotico e posseduto solo da loro e altre 10 persone nel mondo? Quindi i porting vengono effettuati indipedentemente dalla domanda e dalle leggi di mercato. Una volta che il sistema e' stato compilato e reso funzionante è sufficiente il compilatore della gnu e i sorgenti dei programmi trovati su Internet per crearsi in pochissimo tempo un parco software praticamente senza fine. Da qui poi si genera un ciclo di feedback positivo. In che senso? Come è successo a me, se in un asta o ad una fiera trovo una vecchia workstation oramai non più supportata e quindi anche economica, e sono sicuro che ci gira Linux che faccio, non la compro? La comprero' e comincero' anch'io a portare gli applicativi su quella piattaforma, magari confezionando direttamante gli rpm in formato binario. E il ciclo si rafforza... Unico grosso punto di vantaggio di Windows NT rispetto a Linux è che Microsoft e' comunque una societa' commerciale di immane potenza. Quindi non ha alcun problema a procurarsi qualunque informazione le sia necessaria tramite contratti di Non disclosure Agreement. Questo ovviamente è impossibile per Linux dato che il software sviluppato con la licenza GPL deve essere disponibile anche in formato sorgente. Questo vantaggio è utile per molte tecnologie emergenti le cui specifiche vengono rilasciate solamente in questa forma. Questo è successo, fino a pochi giorni fa con l'architettura I2O basata sul processore i960 di Intel. Se Intel stessa non avesse fatto un inversione di tendenza cambiando il contratto con cui rilasciava le specifiche, Linux non avrebbe avuto modo di supportarla a meno di non buttarsi in un complesso lavoro di reverse-engineering. Ovviamente, essendo questa una tecnologia estremamente utile per la creazione di server potenti in architettura Intel, sarebbe stata una grave perdita. Cerchiamo a questo punto di tirare le fila del discorso. I PRO ed i contro per Windows NT sono:
CONTRO Per il software Open Source (e quindi Linux) invece:
CONTRO Linux verrà progressivamente portato anche sulle architetture che ora mancano all' appello. La disponibilità del software Open Source permettera' di ricompilare le applicazioni per le varie architetture senza alcuno sforzo. In cosa si tradurrà tutto questo per l'utente finale? Sicuramente in un grande vantaggio, ovvero nell'indipendenza dall'hardware. Questa indipendenza, già ora permette di scegliere l'architettura in base a cio' che già si possiede o alle proprie esigenze. Inoltre permette di scalare il proprio sistema per adeguarsi velocemente alla potenza che gli si richiede. Se il kernel 3.0 conterra', come detto da Linus Torvald più volte, una robusta sezione di clustering e di load balancing, Linux potra' essere utilizzato su computer high-end oggi disponibili solamente per gli Unix commerciali. Con questo si potra' quindi aprire il mondo dei grossi centri di calcolo, del Data warehousing, o delle applicazioni di Rendering e scientifiche particolarmente complesse. Ricordiamoci infatti, come ultimo esempio, il film Titanic. Tutto il rendering è stato effettuato con 150 workstation Alpha connesse in rete, con Linux come sistema operativo. I risultati sono, per una volta, ben visibili a tutti.
Andrea Ghirardini è Collaboratore di BETA dal 1998; è raggiungibile su Internet tramite la redazione oppure all'indirizzo andrea@sodalia.it. Copyright © 1998 Andrea Ghirardini, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuibile secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB.
BETA Rivista |
Copertina |
Sommario |
InternetID |
Informazioni |
Browser
|
![]() |
![]() | |||||
![]() | |||||
|