Principali Revisioni v. 1.0, novembre 2000 v. 1.1, febbraio 2002 v. 1.2, aprile-giugno 2002 v. 1.3, dicembre 2002 v. 1.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Principali Revisioni v. 1.0, novembre 2000 v. 1.1, febbraio 2002 v. 1.2, aprile-giugno 2002 v. 1.3, dicembre 2002 v. 1."

Transcript

1

2 Principali Revisioni v. 1.0, novembre 2000 v. 1.1, febbraio 2002 v. 1.2, aprile-giugno 2002 v. 1.3, dicembre 2002 v. 1.4, aprile 2003 Il presente testo contiene materiale dell autore di proprietà della Axis&Agix Sarl (Boulogne, Francia) e della AX Digital Systems Srl (Pomezia, Italia), il cui uso è stato consentito esclusivamente per le attività didattiche dell autore stesso. Pertanto l uso e la riproduzione dell opera, in qualsiasi modalità, sono consentiti a titolo gratuito per i soli fini personali degli studenti dei corsi tenuti dall autore. Ogni altra forma di utilizzazione potrà avvenire soltanto previa richiesta esplicita e successiva autorizzazione per iscritto dall autore, sentito il parere dei coproprietari dell opera.

3 !#"%$'& )(*%+! ", -!! $',%.! 0/,'&1-2$!43'! * "%!456, 7)" *98:!#" * 5 3 BDC EGF BDH 1. Introduzione Il presente testo è destinato agli studenti dei corsi di laurea in Ingegneria Informatica e in Ingegneria delle Telecomunicazioni dell Università Roma 1 "La Sapienza", sede distaccata di Latina, e agli studenti dei corsi di laurea e di laurea specialistica in Ingegneria Gestionale, Ingegneria delle Telecomunicazioni e Ingegneria Elettronica dell Università Roma 2 "Tor Vergata", come parte dei sussidi didattici per i corsi di "Sistemi Operativi" tenuti dall autore; il testo è completato, per ciò che attiene alla parte pratica di programmazione di script shell, da una dispensa gemella, "Esercitazioni di programmazione in linguaggio shell". Allo stato attuale, la dispensa è in una forma leggermente incompleta; alcune parti necessitano di una revisione e/o riorganizzazione del materiale. Lo studente è invitato, per queste parti, a far riferimento a quanto detto nelle lezioni. 1.1 Storia Il Sistema Operativo UNIX 1 è stato originalmente concepito e realizzato nei primi anni anni 70, da due ricercatori dei Bell Laboratories 2 (Ken Thompson e Dennis Ritchie), e si è diffuso commercialmente a partire dagli anni 80. Le prime versioni giravano su sistemi della Digital Equipment Corporation 3 (DEC): dapprima su un PDP-7, poi (dal 1971) su quelli della famiglia PDP-11, quindi (1979) sui VAX-11. Nel 1981, con la versione PC/IX, UNIX fa la sua prima apparizione nella gamma dei Personal Computer IBM e compatibili. La storia della nascita e dell evoluzione di questo sistema è reperibile in molti testi, tra cui [Bach 1986], [Silberschatz, Galvin e Gagne 2003], [Asta 1984] e altri; esistono poi due numeri speciali del The Bell System Technical Journal, dedicati esclusivamente a UNIX, che illustrano molti aspetti interessanti del sistema, della sua storia, delle sue motivazioni originali e delle sue caratteristiche ([BSTJ 1978], [BSTJ 1984]). Qui ci si limiterà ad esporre succintamente la cronologia essenziale degli sviluppi e delle versioni più importanti. Una cronologia più dettagliata è riportata in Appendice : Thompson e Ritchie, reduci dal progetto MULTICS 4, iniziano a lavorare su un sistema di filesystem e di gestione dei processi, scritto parte in assembler e parte in Fortran; sperimentazioni su un PDP-7 1. La proprietà del nome UNIX ha una lunga storia alle spalle; in origine, UNIX era un marchio registrato dei Bell Laboratories, poi della AT&T, e successivamente di varie altre organizzazioni; oggi UNIX è un marchio registrato di The Open Group (http://www.opengroup.org), un consorzio industriale senza fini di lucro. 2. I Bell Laboratories erano allora una filiale della Western Electric Company, casa madre della AT&T (American Telephone and Telegraph Company); le prime versioni di UNIX si acquistavano dalla Western Electric, e solo successivamente dalla AT&T. 3. La Digital Equipment Corporation è stata successivamente acquisita dalla Compaq. 4. Progetto per lo sviluppo di un Sistema Operativo di tipo interattivo e multiutente a cui parteciparono l MIT (Massachusetts Institute of Technology), General Electric, e Bell Laboratories; il risultato fu un sistema concettualmente interessante ma elefantiaco nella sua implementazione. Ciò deluse i ricercatori dei Bell Laboratories, che finirono per ritirarsi dal progetto. V. Asta - Introduzione a Unix e GNU/Linux 3

4 - 1971: viene pubblicata, internamente ai Bell Laboratories, la prima edizione del manuale di UNIX; le prime versioni, fino al 1979, saranno identificate col numero di edizione del manuale. Viene effettuato il porting su PDP : riscrittura del sistema in linguaggio C, sviluppato da Ritchie : UNIX Versione 3 (terza edizione del manuale), distribuita alle Università di Berkeley e di Columbia -1975: V.6, prima versione commercializzata; primi esperimenti di porting su calcolatori non DEC : V.7, prima versione riscritta senza alcuna dipendenza concettuale dall architettura dei PDP-11; prime licenze con diritto di ridistribuzione binaria (fino ad allora, l unico tipo di distribuzione era tramite isorgenti); prima versione UNIX per minicalcolatori VAX (UNIX 32/V) : Microsoft introduce sul mercato Xenix, una delle più famose versioni commerciali (ridistribuzione binaria) di UNIX : AT&T subentra a Western Electric (che finora era stato l organismo di vendita delle licenze del sistema) per la commercializzazione di UNIX; nuova versione, denominata System III -1983: versione System V release 1 5 ; Berkeley pubblica la versione 4.2 per VAX, una delle più importanti, che vede tra l altro la prima implementazione dei protocolli di rete TCP/IP -1984: System V rel : System V rel. 3; molti sistemi UNIX commerciali, tra cui SCO UNIX per architettura IBM-PC, si basano su questa versione -1988: System V rel : System V rel. 4, versione che riunifica tutte le caratteristiche di System V e quelle di Berkeley Unix : Linus Torvalds, all epoca studente di informatica all università di Helsinki, inizia a sviluppare LINUX, una riscrittura indipendente di UNIX, con l intento di renderne liberi i sorgenti; è rapidamente seguito da moltre altre persone che collaborano al progetto : Versione 1.0 di LINUX -2001: Versione 2.4 di LINUX Nell arco della sua storia, il sistema ha visto la nascita e l introduzione sul mercato di molte implementazioni, più o meno fedeli allo standard AT&T, tutte legate all evoluzione sia dei microprocessori Intel (8088/86, 80286, e seguenti) e di altri costruttori (inizialmente soprattutto Motorola 68000/88000, Zilog Z-8000, National Semiconductors 32000, poi SUN Sparc e altri), sia delle varie release di System V. Oggi, il sistema GNU/LINUX è sicuramente l implementazione su IBM-PC più nota e diffusa, euna tra le più valide in generale. Lo scopo di questo testo è difornire delle nozioni di base su UNIX (di norma con riferimento al contesto IBM-PC e GNU/LINUX, anche se non necessariamente limitate ad esso), con particolare attenzione agli aspetti dell utilizzazione a livello utente e con alcuni accenni alle problematiche di amministrazione di un sistema. 1.2 Caratteristiche generali del kernel Nell uso corrente, il termine UNIX si riferisce genericamente ad una famiglia di Sistemi Operativi, tutti derivati in vario modo dal lavoro originale dei Bell Laboratories; si tratta di un moderno sistema timesharing, multi-utente e multi-task. Una distribuzione UNIX comprende il kernel del sistema più numerosi applicativi e programmi di utilità. Il kernel si occupa di diversi compiti indispensabili al funzionamento del sistema, tra cui: 5. La versione System IV non ha mai visto la luce al difuori dei Bell Laboratories. V. Asta - Introduzione a Unix e GNU/Linux 4

5 inizializzazione gestione dei processi (priorità, cambiamenti di stato etc.) gestione delle risorse (CPU, memoria primaria e secondaria, periferiche etc.) gestione dei filesystems gestione della comunicazione tra processi e tra sistemi (protocolli di rete) È importante sottolineare che il kernel gestisce solo le funzioni essenziali dei processi: dati, interruzioni, ingressi ed uscite. Tendenzialmente, ogni altro compito è separato e realizzato da programmi indipendenti, alivello utente, come ad esempio la shell che è l interprete dei comandi UNIX. Questo tipo di approccio è solo uno tra i numerosi elementi di novità introdotti dal sistema UNIX, che storicamente è stato un sistema "rivoluzionario" da molti punti di vista; tra le molte verità universalmente accettate fino allora, e che sono state ribaltate da UNIX, suscitando inizialmente non poche perplessità tra gli addetti ai lavori, si possono ricordare le seguenti: Non è vero che l interprete di linguaggio di comandi deve essere implementato nel kernel del Sistema Operativo In UNIX, lashell è unprogramma qualsiasi come gli altri, che per di più gira senza nessun particolare privilegio; ne esistono anzi numerose varianti, e ciascun utente può scegliere il programma che più gli è congeniale Non è vero, analogamente, che i principali sottosistemi devono essere almeno parzialmente implementati nel kernel In UNIX, lo spooler di stampa, il sottosistema di accoglienza e autenticazione degli utenti, tutti i server Internet, quelli di basi di dati e così via, sono implementati esclusivamente a livello utente; il kernel ne ignora praticamente l esistenza Non è vero che il kernel di un Sistema Operativo deve essere scritto tutto in linguaggio assembler, pena un grave abbassamento delle prestazioni ottenibili In UNIX, tutto il kernel è scritto in linguaggio C 6,compresi i device drivers, salvo una minima parte in assembler; nella Versione 7 di UNIX, la prima ad essere diffusa in modo significativo al difuori dei Bell Laboratories, il kernel si componeva in tutto di circa righe di codice C e righe di assembler (cioè il 9,1% del totale); di queste, 200 lo erano per ragioni di efficienza ed 800 effettuavano funzioni hardware impossibili in linguaggio C, come gestione del Memory Management oaltro Corollario: Non è vero che sono necessarie squadre di decine e decine di programmatori per realizzare ilkernel di un Sistema Operativo Se si pensa di realizzarlo in assembler, lamole di lavoro è tale da richiedere molte persone; ma grazie all uso di un linguaggio evoluto come C, UNIX è stato interamente progettato e (nelle sue prime versioni) realizzato da due persone (come già detto, in tutto sono bastate righe di codice 7 ); ciò ha avuto forti conseguenze positive per ciò che riguarda la compattezza e la coerenza della logica di tutto il sistema, che è stato concepito e realizzato soltanto da due menti 8 6. Il linguaggio C fu progettato e realizzato da Dennis Ritchie esattamente per il proposito di scrivere UNIX in linguaggio evoluto; ciò indica chiaramente l orientamento originale di questo linguaggio, concepito come uno strumento di implementazione di sistemi, potente ma al tempo stesso capace di permettere operazioni di basso livello che un tempo venivano spesso effettuate solo in assembler. 7. Le cose sono evolute non poco negli anni; oggi il kernel di LINUX (versione ) consta di oltre righe di codice (comprendendo il codice per tutte le piattaforme supportate); ma la proporzione tra codice in assembler e codice in C è ancora nettamente diminuita, e oscilla oggi tra l uno e il cinque percento (per la piattaforma Intel IBM-PC, senza considerare i device drivers, il conto è approssimativamente di righe in assembler contro righe in C, cioè unrapporto dell 1.3%). 8. Questa strategia di sviluppo è stata poi rivoluzionata ulteriormente dal modello di sviluppo di LINUX e di tutto il software libero vedi oltre, nel paragrafo "Il fenomeno del Software Libero" (paragrafo 1.5 pag. 10). V. Asta - Introduzione a Unix e GNU/Linux 5

6 Non è vero che un Sistema Operativo debba essere concepito e realizzato per uno specifico tipo di hardware, quindi per una sola macchina o al massimo per una famiglia di macchine simili di uno stesso costruttore UNIX è stato scritto in linguaggio C proprio perchè, fin dall inizio, lo si voleva portabile ad altre architetture hardware; il primo porting ad un architettura hardware diversa dai PDP-11 9 è stato realizzato già prima del rilascio della Versione 7, ed oggi il sistema è disponibile praticamente su tutti i tipi di macchine esistenti sul mercato, dagli IBM-PC agli Apple McIntosh o ai PowerPC, passando attraverso i mini-computer di tutti i fabbricanti (HP, IBM, Bull, DEC/Compaq, Data General e così via) fino ai mainframe della IBM e ai supercomputers della Cray Inc. Non è vero che il Sistema Operativo debba prevedere un certo numero di tipi di files, gestiti a livello del kernel UNIX rifiuta di occuparsi di questo aspetto, e rimane perfettamente neutrale; un file, per il kernel, è proprio quello che è, cioè semplicemente un array ordinato di bytes, numerati da 0 in su. Qualunque altra struttura di dati (file di testo o binari, records, lunghezza fissa o variabile e così via) è interamente lasciata ai livelli applicativi utente Non è vero nemmeno che un Sistema Operativo debba imporre una struttura per i nomi dei files, come ad esempio del tipo <nome>.<estensione> Il kernel di UNIX ignora cosa sia un estensione del nome di un file; per UNIX, untale nome è semplicemente una stringa di caratteri assolutamente arbitrari: il carattere. è un carattere come un altro, ed un nome come ".a?...!" è perfettamente legale. Un compilatore, quanto a lui, distingue tra nomi di file che finiscono per.c oper.s o.o, eliinterpreta come indicatori di formato dei file; ma questo avviene appunto a livello di programmi utente. In sintesi, i principali elementi di interesse di un sistema UNIX possono essere così riassunti ([Bach 1986]): Kernel multi-utente e multi-task; ciascun utente può eseguire più processi simultaneamente. Capacità digestione asincrona dei processi. Org anizzazione gerarchica (ad arborescenza) dei filesystems, caratterizzata da un implementazione efficiente e semplicità dimanutenzione. Supporto per files non strutturati, basato su una rappresentazione semplice e coerente del formato dei files, come array di bytes, ciò che rende i programmi più semplici da scrivere. Banalizzazione dei volumi di memoria secondaria (dischi), visti come un unica arborescenza di files dall utente e dal programmatore grazie a un meccanismo di montaggio logico di filesystems. Banalizzazione dei meccanismi di I/O, gestiti in modo univoco (dal punto di vista dell utente e del programmatore) per -files -periferiche (dispositivi) -comunicazione tra processi. Interfaccia tra kernel e processi utente chiaramente definita (chiamate di sistema, il cui codice nel kernel è isolato in appositi file sorgente). Interfaccia tra kernel e periferiche esterne chiaramente definita (device drivers, il cui codice nel kernel è isolato in appositi file sorgente). 9. Si trattava di una macchina Interdata 8/32, che era stata scelta proprio perchè aveva caratteristiche hardware notevolmente diverse da quelle dei PDP-11, così datestare adeguatamente l effettiva portabilità del sistema (vedi [Johnson e Ritchie 1978]). V. Asta - Introduzione a Unix e GNU/Linux 6

7 Kernel rigenerabile e configurabile. Sistema (kernel e utilities) scritto in linguaggio evoluto (linguaggio C), e quindi facile da leggere, capire, cambiare, e portare a nuove macchine. Sorgenti disponibili, o commercializzati 10. Interfaccia utente semplice e potente. Interfaccia di programmazione semplice e potente, con un numero relativamente ristretto di chiamate di sistema. Insieme di primitive che permettono e incoraggiano la costruzione di applicazioni complesse a partire da programmi più semplici. Programmazione indipendente dall hardware: il sistema nasconde totalmente all utente i dettagli dell architettura della macchina, permettendo così di scrivere programmi che girano inalterati su differenti implementazioni hardware. Sistema non legato commercialmente a nessun hardware vendor, e pertanto intrinsecamente portato a favorire meccanismi e politiche di interoperabilità tra macchine diverse. Come già evidenziato, il kernel di un sistema UNIX oderivato si può considerare diviso in almeno in tre parti, mostrate nella Figura 1: kernel interno strato delle chiamate di sistema strato dei device drivers. Le ultime due costituiscono l interfaccia software tra il kernel interno e, rispettivamente, i processi utente e le periferiche fisiche. Il kernel è lasola parte del codice che in genere l utente non può modificare, ed è per questo che nella filosofia di UNIX deve operare il minimo di decisioni possibili, in modo da rimanere più neutro possibile rispetto a futuri miglioramenti ed estensioni; viceversa, tutto ciò che è implementato a livello di processo utente è relativamente semplice da sostituire, e pertanto, ovunque la scelta si sia stata possibile, si è sempre teso ad usare il modo utente per l implementazione di funzionalità, salvo quando ciò implicherebbe pesanti conseguenze sulle prestazioni. Pertanto il kernel interno (o core kernel) sioccupa concettualmente di pochissime cose; essenzialmente inizializzazione del sistema gestione dei processi gestione delle risorse (multiplexaggio della CPU, allocazione e protezione della memoria, etc.) gestione dei filesystems gestione dei meccanismi di protezione gestione "astratta" (secondo una visione canonica, indipendente dall hardware reale) delle periferiche. 10. Come già detto, fin dalle prime versioni dei Bell Laboratories i sorgenti di UNIX sono sempre stati disponibili, benchè rigorosamente protetti da meccanismi di licensing molto stringenti; l acquisto di una licenza sorgente del Sistema Operativo era anzi inizialmente l unico modo di ottenere UNIX. Tale licenza, comprensiva di tutto il kernel e di tutte le utilities applicative, era molto costosa per società con fini di lucro, ma era venduta ad un prezzo simbolico (500 dollari US) per le università edaltre istituzioni di tipo educativo o di ricerca. In ogni caso, la distribuzione consisteva in un nastro magnetico bootstrappabile, e due fogli di carta stampati con stringatissime istruzioni di installazione, che terminavano con la frase ormai celeberrima "Good luck." ("Buona fortuna."). Tutta la manualistica era on-line, e andava stampata a cura dell acquirente. Il contratto di licenza specificava chiaramente che nessuna forma di assistenza era prevista. Erano tempi eroici. V. Asta - Introduzione a Unix e GNU/Linux 7

8 Kernel User Proc.s System Calls Kernel interno Device Drivers Devices Figura 1. - Struttura del kernel di UNIX. Esistono d altra parte numerose utilities per lo sviluppo di software e praticamente per qualunque altra attività diinteresse: interpreti di linguaggio di comandi, in varie forme e varianti, editor, compilatori, interpreti, debuggers, sistemi integrati di sviluppo software (IDE), analizzatori lessicali e sintattici, suites di programmi integrati per l automazione d ufficio, utilities per la gestione e il trattamento di documenti grafici, sonori, video, e in genere per applicazioni multimediali utilities per la gestione di progetti software, inclusa la loro documentazione, ambienti desktop grafici, sia a livello utente che di sviluppo di applicazioni sistemi di gestione di basi di dati, programmi e utilities per applicazioni scientifiche, servers e clients per applicazioni distribuite e per servizi interattivi su rete Internet (TCP/IP) ed altre reti: posta elettronica, news, groupware, World-wide Web, DNS (servizio di nomi a dominio), FTP (trasferimento di files), sistemi di filesystems distribuiti, login remoto, e così via. Com è noto, il kernel costituisce una parte tra le più importanti della distribuzione del Sistema Operativo, ma relativamente piccola, in termini di righe di codice, rispetto al totale (meno del 5%; spesso solo il 2 o 3%). È opportuno precisare fin d ora che, nel caso di LINUX, questo termine si riferisce normalmente al solo kernel, opera del suo ideatore e iniziatore, Linus Torvalds, e dei vari collaboratori che si sono via via aggiunti; mentre l insieme del kernel e dei vari programmi applicativi e sottosistemi, cioè la distribuzione V. Asta - Introduzione a Unix e GNU/Linux 8

9 completa del Sistema Operativo, viene appropriatamente denominato GNU/LINUX, poichè si basa in larghissima parte su tutto il lavoro (il cosiddetto GNU Toolkit) derivato dal progetto GNU della Free Software Foundation (http://www.fsf.org, 11,dicui si dirà meglio in seguito. 1.3 Tipi di UNIX È importante distinguere almeno tra le seguenti tipologie di kernel e relative distribuzioni, che si differenziano per numero e tipo di chiamate di sistema, programmi e applicazioni disponibili, e altri aspetti: Tipi fondamentali: UNIX AT&T La linea originale, partita dagli sviluppi iniziali presso i Bell Laboratories, attraverso le release principali: Version 6, Version 7, System III, System V, System V release 3, System V release 4. Unix BSD "Berkeley Software Distribution", derivata inizialmente dalla Version 7; distribuita dalla UCB (University of California at Berkeley), solo per licenziatari di UNIX AT&T. Tipi derivati (distribuzioni commerciali): Unix-based Unix-like 1.4 Utilità dello studio di LINUX Derivati in genere da una licenza sorgente AT&T con diritto di ridistribuzione esclusivamente binaria; spesso queste distribuzioni riuniscono le caratteristiche di UNIX AT&T e quelle di UNIX BSD; molte tra di esse sono state realizzate dai costruttori di macchine hardware (Hewlett-Packard, Digital/Compaq, IBM etc.). tra queste si citano: Xenix, SCO Unix, Unixware (tutte e tre per generiche macchine IBM/PC), Ultrix (per macchine Digital Equipment Corporation), HP/UX (per macchine Hewlett-Packard), DG/UX (Data General), AIX (macchine RS-6000 IBM e Bull), SunOS e SOLARIS (Sparc di SUN), IRIX (Silicon Graphics Inc.),... (la lista è lungi dall essere esaustiva). Si tratta di riscritture indipendenti, non vincolate al meccanismo di licensing della AT&T; si citano: Idris, Coherent, Regulus, Unos, Tunis, Xinu, Minix, FreeBSD, OpenBSD, BSDI, LINUX, etc. Lo studio e la pratica del kernel LINUX riveste un ruolo centrale nei corsi di Sistemi Operativi di molte Università nel mondo intero 12,per diversi motivi: Èun Sistema Operativo compatibile con UNIX, da cui eredita tutta la potenza, l efficienza, la modularità ela robustezza dell ambiente di lavoro [Kernighan e Pike 1984] e il pieno supporto multitask e multi-utente. Èampiamente diffuso sia in ambienti accademici che industriali. Il codice del kernel è aperto e liberamente utilizzabile da chiunque, in particolare per scopi di studio; LINUX rappresenta quindi un occasione ideale per toccare con mano il codice di un vero Sistema Operativo, apprezzando tutte le scelte fatte, osservando come le teorie e gli algoritmi studiati nella parte di base del corso si siano concretizzati nella realizzazione pratica di un sistema reale, e considerando quali compromessi siano stati adottati, nel classico processo di intermediazione tra teoria, pratica ed esperienza pregressa che è tipico di tutte le attività ingegneristiche. Un tale approccio è ovviamente impossibile con sistemi proprietari come quelli della Microsoft, con i quali 11. Le due URL e riportano al medesimo sito WEB. 12. Un inchiesta della Addison-Wesley, citata in [Nutt 2001], indica che già nel 1998, su un campione di 78 Università, 43 insegnavano aspetti di implementazione interna (OSinternals) nel corso introduttivo di Sistemi Operativi; di queste, 26 usavano una variante di UNIX come sistema di studio, 13 usavano LINUX, 10 una versione non specificata di UNIX, e 3 usavano Minix; 8 Università hanno dichiarato di utilizzare un altro tipo di Sistema Operativo, e le rimanenti 9 non hanno specificato il sistema utilizzato. V. Asta - Introduzione a Unix e GNU/Linux 9

10 lo studio si ferma inevitabilmente alle descrizioni generiche degli algoritmi, per ciò che è dato sapere all esterno dalle pubblicazioni esistenti. Èun sistema moderno ed altamente competitivo in termini di prestazioni, con caratteristiche importanti quali -vera multiutenza e vero multitasking su un unica macchina -supporto per processi e threads a livello kernel -multitasking avanzato, con scheduling della CPU con prelazione (preemptive scheduling) e supporto per task "soft real-time" -meccanismi di protezione della memoria -memoria virtuale -supporto per multiprocessing simmetrico (macchine multi-cpu) -compatibilità con lo standard POSIX 13 -supporto per TCP/IP e numerosi altri protocolli di rete -interfaccia utente grafica (con possibilità discelta tra più ambienti desktop) -alta scalabilità in termini di carico di lavoro e di modelli e capacità delle macchine hardware (il sistema è utilizzato con successo su macchine che vanno dalla semplice workstation IBM-PC al mainframe IBM 390) -alta affidabilità eprestazioni, in termini di stabilità edi velocità. Ma il sistema GNU/LINUX riveste un importanza tutta particolare soprattutto perchè è un sistema basato sul modello Software Libero, oltre ad essere stato il primo progetto di notevole successo in quest ambito. Ciò, come sarà chiaro nel seguito, conferisce interesse all argomento non solo per motivi tecnici o legati all ampia diffusione, ma anche per motivi di tipo sociologico e di sviluppo dei futuri modelli di lavoro e di business nel software. 1.5 Il fenomeno del Software Libero Introduzione A partire dall inizio degli anni 90 il mondo dell informatica ha assistito al lento ma progressivo affermarsi di un fenomeno nuovo, che a giusto titolo può essere considerato ormai come una vera e propria rivoluzione in atto su scala mondiale: la nascita e la diffusione del Software Libero. Si tratta di un modo radicalmente nuovo di considerare l organizzazione del lavoro di sviluppo software, basato su un modello di tipo aperto, cooperativo e volontario di partecipazione allo sviluppo e al miglioramento dei prodotti software; il fenomeno sta prendendo piede in modo inarrestabile, e un numero sempre crescente di osservatori sia tecnici che economici ritiene che possa rivoluzionare completamente il mercato. Il Software Libero è altempo stesso un modello di metodologia di lavoro per la produzione del software, e un modello di strategia di business [Behlendorf 1999] 14. Grazie a tale fenomeno, programmatori e sviluppatori che lavorano in varie parti del mondo riescono a condividere il loro lavoro e il codice risultante in modo più efficiente e produttivo di quanto non sia mai stato fatto in precedenza. GNU/LINUX, Apache e Netscape rappresentano tre casi notevoli di successo 13. POSIX è uno standard di interfaccia di Sistema Operativo, promosso dalla ISO/IEC, IEEE, e The Open Group, che mira a definire le caratteristiche di un Sistema Operativo aperto, in pratica di tipo UNIX. Per maggiori dettagli, vedi sistemi (di tipo UNIX enon) tendono ad essere compatibili con questo standard. 14. L interesse per questo fenomeno dal punto di vista economico e di modello di business è in forte crescita negli ultimi anni, e il Software Libero è ormai oggetto di analisi sempre più approfondite da parte di ricercatori e studiosi di economia aziendale; oltre al lavoro di Behlendorf, si citano [Dalle e Jullien 2000], [Kuan 2001], [Garzarelli 2002]. V. Asta - Introduzione a Unix e GNU/Linux 10

11 nell adozione del modello Software Libero. Per apprezzare appieno l impatto di tale metodologia e le implicazioni da e verso il mondo di LINUX, è opportuno dettagliare alquanto la genesi, il tipo di approccio e le caratteristiche del Software Libero. Una buona esposizione informale dell idea alla base del Software Libero è la seguente, derivata da "Se i programmatori possono leggere, ridistribuire, e modificare il codice sorgente di un dato software, il software evolve. La gente lo migliora, lo adatta, ne corregge gli errori. Eciò può accadere ad una velocità che, per chi è abituato al lento ritmo di sviluppo convenzionale del software, risulta impressionante. Questo rapido processo evolutivo produce software migliore rispetto al tradizionale modello chiuso, nel quale solo pochi programmatori possono vedere il codice sorgente e tutti gli altri devono usare ciecamente un blocco opaco di bits. La Open Source Initiative esiste proprio per portare questo modello verso il mondo commerciale." È opportuno precisare subito che, per ciò che attiene alla terminologia, e al tipo di approccio al problema, esistono diverse scuole di pensiero, di cui le principali sono le seguenti: FreeSoftware -èiltermine originale, coniato dal Richard M. Stallman, fondatore della Free Software Foundation (FSF - riflette un approccio di tipo più purista e integralista Open Source - termine che fa capo a Bruce Perens ed Eric S. Raymond, della Open Source Initiative (OSI - riflette un approccio più orientato alle esigenze di mercato e di profitto delle aziende. Tali differenti denominazioni riflettono in ultima analisi diverse posizioni, di carattere tecnico, sociologico, politico e di visione del business, presenti tra gli operatori del settore. Un analisi dettagliata delle differenze esistenti esula dallo scopo del testo; alcuni buoni punti iniziali per approfondire l argomento sono le URL e e l introduzione a [DiBona et al. 1999]. Alcuni tendono oggi ad utilizzare il termine Libre Software, che riflette forse un approccio più neutro ed equidistante tra le parti; altri ancora si servono del termine FLOSS, che è l acronimo di "Free/Libre and Open Source Software". In questo testo verrà consistentemente utilizzata la dizione "Software Libero" (con le iniziali in maiuscolo), come termine generico. Ad ogni modo, come fa giustamente notare F. Potort ì [2002], "La voluta neutralità del movimento Open Source verso gli aspetti etici e politici del software libero è la caratteristica sostanziale che lo distingue dalla filosofia del Software Libero (Free Software), che al contrario pone l accento sulle motivazioni ideali. Parlare di Software Libero piuttosto che di Open Source è una questione politica piuttosto che pratica; i due movimenti concordano infatti sulle licenze considerate accettabili, ed hanno obiettivi e mezzi comuni." Licenze Software Libero Esistono diverse licenze di tipo Software Libero, ciascuna con le sue caratteristiche e le sue più omeno aperte concessioni d uso del software; una lista delle principali è dettagliata in Senza entrare in un analisi dettagliata dell argomento, quella che è digran lunga più utilizzata e conosciuta è comunque la licenza GNU GPL (General Public License - messa a punto dalla FSF, equelle da essa derivate: la GNU LGPL (Lesser General Public License - adatta in particolare per le librerie di software, e la GNU GFDL (GNU Free Documentatione License - adatta per la pubblicazione di documentazione. Secondo i termini della GNU GPL, tutto il software generato da codice GPL è asua volta necessariamente GPL. Preme comunque sottolineare che, contrariamente a quanto si possa ritenere a prima vista, il modello Software Libero, e tutte le licenze che ad esso si rifanno, pone la massima attenzione nel preservare V. Asta - Introduzione a Unix e GNU/Linux 11

12 integralmente i diritti di proprietà del software, e non è assolutamente incompatibile con una logica di profitto nel campo della commercializzazione del software, ma anzi facilita tale logica, aumentando l affidabilità e la robustezza dei prodotti software, e quindi il grado di fiducia delle aziende clienti in ciò su cui investono. Si veda in proposito che dice tra l altro: "Molta gente crede che lo spirito del progetto GNU sia che non si debba far pagare per distribuire copie del software, o che si debba far pagare il meno possibile solo il minimo per coprire le spese. In realtà noi incoraggiamo chi ridistribuisce il software libero a far pagare quanto vuole o può." In sostanza, si può eanzi si deve fare business e generare profitto, senza di che non è ovviamente possibile nessuna strategia aziendale e quindi nessun futuro. Constatare che il modello Software Libero può portare benissimo al successo non solo tecnico ma anche commerciale è semplice, basta controllare le quotazioni in borsa di alcune società che hanno adottato tale modello di business; i dati sono eloquenti 15 : Società Fatturato Valore dimercato Red Hat Inc VA Software Caldera International Fatturato e Valore di Mercato sono espressi in milioni di dollari USA Definizioni Definizioni complete e formali del Software Libero, nelle sue varie accezioni, possono essere trovate in rete, in particolare sul sito della FSF (http://www.fsf.org) per l approccio "Free Software", e su quello della OSI (http://www.opensource.org) per quello "Open Source"; la teoria sottostante alle licenze Software Libero (Copyleft) è spiegata alla URL La definizione formale del Free Software, dovuta a Richard Stallman della FSF (http://www.gnu.org/philosophy/free-sw.html), parte da un idea semplice e rivoluzionaria: usare le leggi sul copyright, così come definite dalla convenzione di Berna, per garantire e proteggere le libertà anzichè per limitarle; ildocumento, riportato integralmente in Appendice 2, dichiara tra l altro: Il Free Software (software libero) è una questione di libertà, non di prezzo. L espressione "Free Software" si riferisce alla libertà dell utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software. Più precisamente, esso si riferisce a quattro tipi di libertà per gli utenti del software: Lalibertà difar girare il programma, per qualunque scopo (libertà 0) La libertà di studiare come funziona il programma, e di adattarlo per le proprie necessità (libertà 1). L accessibilità del codice sorgente è una necessaria precondizione per questo punto Lalibertà diridistribuire copie del programma, così dapoter aiutare gli altri (libertà 2) La libertà di migliorare il programma, e rilasciare al pubblico le proprie migliorìe, così che tutta la comunità ne possa beneficiare (libertà 3). Anche qui, l accessibilità del codice sorgente è una precondizione necessaria. Un programma è software libero se l utente ha tutte queste libertà. Queste libertà ne implicano poi molte altre, tra cui in particolare: libertà di imparare, libertà di insegnare, 15. Riferimento: sito WEB del NASDAQ (http://www.nasdaq.com, borsa statunitense dei titoli tecnologici) maggio V. Asta - Introduzione a Unix e GNU/Linux 12

13 libertà diconcorrenza (libertà dicompetere liberamente sul mercato), libertà diparola, libertà discelta. La definizione dell Open Source, dovuta alla OSI (http://www.opensource.org/docs/osd-italian.html, riportata integralmente in Appendice 3), è più circostanziata, e sostanzialmente recita: Open source (sorgente aperta) non significa semplicemente accesso al codice sorgente. La distribuzione in termini di programmi open-source deve soddisfare i seguenti criteri: 1. Ridistribuzione Libera e Gratuita Le licenze non potranno limitare alcuno dal vendere o donare i programmi come componenti di una distribuzione aggregata di software contenenti programmi di varia origine. La licenza non potrà richiedere royalties o altri pagamenti per tali vendite. 2. Codice Sorgente Il programma deve includere il codice sorgente, e deve permetterne la distribuzione cos ì come per la forma compilata. Dove alcune forme di un prodotto non sono distribuite con codice sorgente, ci deve essere un modo ben pubblicizzato di ottenerne il codice sorgente per niente più di una ragionevole riproduzione; preferibilmente, per via dei costi, scaricandolo da Internet gratis. Il codice sorgente deve essere la forma preferita in cui un programmatore modificherebbe il programma. Codice sorgente deliberatamente obnubilato non è permesso. Forme intermedie come l output di un preprocessore o traduttore non sono permesse. 3. Prodotti Derivati La licenza deve permettere modifiche e prodotti derivati, e deve permettere loro di essere distribuiti sotto le stesse condizioni della licenza del software originale. 4. Integrità del Codice Sorgente dell Autore La licenza potrà impedire il codice sorgente dall essere redistribuito in forma modificata solo se la licenza consentirà la distribuzione di pezze ("patch files") con il codice sorgente al fine di modificare il programma all installazione. La licenza deve esplicitamente permettere la distribuzione del software costruito da un diverso codice sorgente. La licenza può richiedere che i lavori derivati abbiano un nome diverso o versione diversa dal software originale. 5. Nessuna Discriminazione contro Persone o Gruppi La licenza non deve discriminare alcuna persona o gruppo di persone. 6. Nessuna Discriminazione contro Campi d Applicazione La licenza non deve impedire ad alcuno da far uso del programma in un ambito specifico. Per esempio, non potrà impedire l uso del programma nell ambito di un impresa, o nell ambito della ricerca genetica. 7. Distribuzione della Licenza Idiritti allegati a un programma devono valere a tutti coloro cui il programma è redistribuito senza necessità dell emissione di una addizionale licenza da parte dei licenziatari. 8. La Licenza non deve essere Specifica a un Prodotto I diritti allegati al programma non devono dipendere dall essere il programmma parte di una particolare distribuzione di software. Se il programma è estratto da quella V. Asta - Introduzione a Unix e GNU/Linux 13

14 distribuzione e usato o distribuito all interno dei termini delle licenze del programma, tutte le parti cui il programma è ridistribuito dovranno avere gli stessi diritti che sono garantiti nel caso della distribuzione di software originale. 9. La Licenza non deve Porre Vincoli su Altro Software La licenza non deve porre restrizioni su altro software che è distribuito insieme al software licenziato. Per esempio, la licenza non dovrà insistere che tutti gli altri programmi distribuiti sugli stessi supporti siano software open-source. I testi integrali di entrambe le definizioni (nelle loro traduzioni ufficiali in italiano) sono riportati in due Appendici Benefici Oltre a rappresentare chiaramente un sistema nel quale è più facile l apprendimento e la diffusione delle conoscenze e del progresso scientifico, e quindi un sistema di indubbia validità sociale, il modello del Software Libero presenta molti benefici anche dal punto di vista industriale [Bernardini 2001]: Benefici per tutte le Piccole e Medie Imprese (PMI), che possono trarre profitto da tecnologie spesso altamente sofisticate ad una frazione del pricing usuale di mercato: il software diventa libero, e i prodotti finali, tipicamente comprensivi di software e servizi (customizzazione, installazione, aggiornamenti, assistenza tecnica) sono spesso proposti sul mercato a prezzi nettamente più abbordabili (non è infrequente un rapporto di 10:1 o più nelle riduzioni di costo). Va dasè che ciò aumenta notevolmente la "piramide di mercato", permettendo l accesso a queste tecnologie ad un numero assai maggiore di aziende, realizzando così un effetto di raggiungimento di massa critica importante ad un tempo per gli utilizzatori e per chi propone la soluzione. Un numero via via maggiore di PMI può cos ì trarre vantaggio da queste opportunità tecnologiche, di mercato e di business, a prezzi estremamente competitivi. Benefici per molte società a vocazione tecnologica, e per i loro clienti: aziende con skills tecnici adeguati possono contribuire allo sviluppo dei prodotti, e fare business proponendo servizi di consulenza e di integrazione di sistemi. Queste aziende traggono vantaggio da tutti i classici punti di forza che derivano dal modello di business del Software Libero e dalla libertà d azione che ne deriva, tra cui: -Maggior velocità disviluppo: nuove ed efficienti pratiche di lavoro nel software, come la riusabilità e l adattabilità, combinate con la conoscenza dei sorgenti, permettono di ottenere velocità di sviluppo di applicativi che non hanno precedenti nella storia del software - Efficienza estrema in termini di risorse umane: adottando le strategie del Software Libero, una piccola équipe di sviluppatori può produrre una notevole quantità di lavoro; oltre ad essere meno costosa, un équipe limitata è notoriamente molto più efficiente di un grosso gruppo di lavoro - Disponibilità permanente di un gran numero di risorse: la comunità del Software Libero fornisce, attraverso Internet, libero accesso ad un immenso serbatoio di risorse e strumenti software; i progetti Software Libero hanno accesso istantaneo a tali risorse, pressochè illimitate e in continua crescita -Maggiori capacità disupporto ai clienti e di adattabilità alle loro necessità: oltre ad avere capacità di auto-assistenza, il Software Libero è fornito da una comunità che tipicamente consiste in un gran numero di persone sparse sul pianeta, in costante monitoraggio del proprio lavoro e di quello degli altri; quando si presenta un problema di sviluppo, ci sono ottime probabilità che, inviando un messaggio nella mailing list appropriata, la soluzione possa essere trovata nello spazio di poche ore. Da ciò consegue una capacità decisamente superiore di bug-tracking ed una maggior robustezza dei prodotti risultanti V. Asta - Introduzione a Unix e GNU/Linux 14

15 - Minori costi di produzione e budget di sviluppo: tutti i prodotti Software Libero sono normalmente disponibili e scaricabili via Internet, e hanno di norma, come già accennato, prezzi di licenza molto bassi; ciò porta a riduzioni di costi e agli ampliamenti di target di mercato già menzionati - Mercato più ampio e globalizzato: per sua stessa natura, il Software Libero fa sì che i prodotti pubblicati in questo contesto abbiano visibilità eclienti potenziali su scala mondiale Il caso di LINUX GNU/LINUX, con la sua progressiva e continua penetrazione sul mercato, è l antesignano e principale esponente della nuova tendenza rappresentata dal Software Libero. Le distribuzioni di GNU/LINUX presentano grandi vantaggi su tutti i sistemi proprietari analoghi: esse sono totalmente configurabili e personalizzabili, forniscono una vastissima panoplia di programmi di utilità ed applicazioni in ogni possibile settore, e non da ultimo vantano caratteristiche di affidabilità e di sicurezza insorpassate. GNU/LINUX è accessibile agli utenti in diverse distribuzioni e configurazioni, a seconda delle preferenze e dei campi applicativi. L impatto del modello di sviluppo del kernel LINUX, messo a punto dal suo iniziatore Linus Torvalds, è stato enorme in tutto il mondo del Software Libero, perchè ha dimostrato per primo che il modello poteva funzionare su larga scala e per grandi progetti, ed inoltre perchè hasfatato molti miti sul "come" si sviluppa software; in questo senso, è paragonabile all impatto dell iniziativa di Ken Thompson e Dennis Ritchie alla fine degli anni 60, quando decisero di farsi da soli un Sistema Operativo. Eric Raymond è probabilmente la persona che meglio di ogni altro ha saputo mettere in evidenza gli aspetti importanti di questa esperienza, e l originalità e genialità di Linus Torvalds. Nel suo libro "The Cathedral and the Bazaar" [Raymond 2001], si evidenzia che il modello di lavoro dello sviluppo di LINUX è simile ad un bazar, dove si trova un po di tutto nel disordine; l esatto contrario di quanto si faceva (e sifaancora) dai più, che invece seguono un modello di sviluppo del software simile alla costruzione di una cattedrale, in modo monolitico, con pochi addetti ai lavori appartati nei laboratori. Ecco alcuni estratti interessanti: LINUX è sovversivo. Chi avrebbe potuto pensare appena cinque anni fa 16 che un Sistema Operativo di livello mondiale sarebbe emerso come per magia dal lavoro part-time di diverse migliaia di hacker e sviluppatori sparsi sull intero pianeta, collegati tra loro solo grazie ai tenui cavi di Internet? [...] LINUX stravolse gran parte di quel che credevo di sapere. Credevo che il software più importante andasse realizzato come le cattedrali, attentamente lavorato a mano da singoli geni o piccole bande di maghi che lavoravano in splendido isolamento, senza che alcuna versione beta vedesse la luce prima del momento giusto. Rimasi non poco sorpreso dallo stile di sviluppo proprio di Linus Torvalds diffondere le release presto e spesso ("release early, release often"), delegare ad altri tutto il possibile, essere aperti fino alla promiscuità. Nessuna cattedrale da costruire in silenzio e reverenza. Piuttosto, la comunità LINUX assomigliava a un grande e confusionario bazar, pullulante di progetti e approcci tra loro diversi (efficacemente simbolizzati dai siti contenenti l archivio di LINUX dove apparivano materiali prodotti da chiunque). Un bazar dal quale soltanto una serie di miracoli avrebbe potuto far emergere un sistema stabile e coerente. Il fatto che questo stile bazar sembrasse funzionare, e anche piuttosto bene, mi colpì come uno shock. Mentre imparavo a prenderne le misure, lavoravo sodo non soltanto sui singoli progetti, ma anche cercando di comprendere come mai il mondo LINUX non soltanto non cadesse preda della confusione più totale, ma al contrario andasse rafforzandosi sempre più a una velocità amalapena immaginabile per quanti costruivano cattedrali. [...] 16. La prima versione ufficiale di questo brano è del maggio La stesura originale è ancora anteriore. V. Asta - Introduzione a Unix e GNU/Linux 15

16 Nella parte restante di questo saggio, racconto la storia di quel progetto, usandola per proporre alcuni aforismi sull efficacia dello sviluppo Open Source. Questi aforismi ci aiuteranno a comprendere con esattezza cos è che rende la comunità LINUX una sorgente cos ì copiosa di buon software e aiuteranno tutti noi a divenire più produttivi. Vale la pena di citare alcuni tra questi aforismi, ed altre considerazioni dell autore, perchè sono pregni di significato e possono indurre ad utili riflessioni; ognuno di essi illustra bene alcuni degli aspetti caratterizzanti il modello Software Libero, ognuno tende a sfatare dei miti, ognuno meriterebbe un commento specifico (ma per questo si rimanda il lettore interessato all opera citata di Raymond). 1. Ogni buon lavoro software inizia dalla frenesia personale di uno sviluppatore (il che spiega l alta qualità media del software originato dalla comunità LINUX) 2. Ibravi programmatori sanno cosa scrivere. I migliori sanno cosa riscrivere (eriusare) 3. Quando hai perso interesse in un programma, l ultimo tuo dovere è passarlo a un successore competente 4. Tr attare gli utenti come co-sviluppatori è la strada migliore per ottenere rapidi miglioramenti del codice e debugging efficace 5. Ritengo che la mossa più scaltra e consequenziale di Linus non sia stata la costruzione del kernel di LINUX in sè, bens ì lasua invenzione del modello di sviluppo di LINUX. 6. Distribuisci presto. Distribuisci spesso. E presta ascolto agli utenti. Linus trattava gli utenti al pari di co-sviluppatori nella maniera più efficace possibile. 7. Stabilita una base di beta-tester e co-sviluppatori sufficientemente ampia, ogni problema verrà rapidamente definito e qualcuno troverà la soluzione adeguata. O, in modo meno formale, "Dato un numero sufficiente di occhi, tutti i bug vengono a galla". Io la chiamo la "Legge di Linus". Questa può essere definita anche così :"Il debugging è parallelizzabile". 8. Nella concezione a bazar si dà per scontato che generalmente i bug siano fenomeni marginali o che almeno divengano rapidamente tali se esposti all attenzione di migliaia di volenterosi cosviluppatori che soppesano ogni nuova release. Ne consegue la rapidità di diffusione per ottenere maggiori correzioni, e come positivo effetto collaterale, c è meno da perdere se occasionalmente viene diffuso qualche pasticcio. 9. Se tratti i beta-tester come se fossero la risorsa più preziosa, replicheranno trasformandosi davvero nella risorsa più preziosa a disposizione. 10. La cosa migliore, dopo l avere buone idee, è riconoscere quelle che arrivano dagli utenti. Qualche volta sono le migliori. 11. Stabilito che il coordinatore dello sviluppo abbia a disposizione un medium almeno altrettanto affidabile di Internet, e che sappia come svolgere il ruolo di leader senza costrizione, molte teste funzionano inevitabilmente meglio di una sola. 12. Forse alla fine la cultura dell Open Source trionferà non perchè la cooperazione sia moralmente giusta o perché il software "chiuso" sia moralmente sbagliato, [...] ma semplicemente perché il mondo "closed-source" non è in grado di vincere la corsa agli armamenti dell evoluzione contro quelle comunità Open Source capaci di affrontare un problema con tempi e capacità superiori di diversi ordini di grandezza Situazione eprospettive Oggi, molti prodotti Software Libero stanno iniziando ad essere sviluppati e supportati in un contesto orientato ormai direttamente al mercato industriale vero e proprio. Si possono citare molti "business case" di successo, tra cui importanti aziende come le citate Red Hat, VA Software e Caldera (che ha acquisito SCO - Santa Cruz Operation), e poi Cygnus, Mandrake, Vixie Enterprise ed altre; e l enorme successo, legato ad un impatto sia tecnologico che commerciale, di progetti quali GNU/LINUX, Apache e Zope, solo V. Asta - Introduzione a Unix e GNU/Linux 16

17 per ricordare i più significativi. Non è facile quantificare ad oggi l uso complessivo del Software Libero e il suo impatto, ma è fintroppo chiaro ormai che entrambi sono in grande e rapida espansione: il nuovo modello di lavoro e di business si è ormai stabilito, e sta prendendo sempre più piede, scalzando attivamente le posizioni di grosse società che finora avevano sempre basato tutte le loro strategie sul software proprietario. Molte di queste hanno modificato tali strategie, a dimostrazione della bontà ed efficacia del nuovo modello; prime fra tutte la IBM (http://www.investor.ibm.com/investor/events/linux080800/ ), che ha investito un miliardo di dollari sul Sistema Operativo GNU/LINUX, implementandolo addirittura su tutta la gamma delle loro macchine, dalle workstations su PC ai Mainframe; IBM è poi stata seguita da SGI, SUN, e altri. Già oggi il Software Libero ha raggiunto molti risultati significativi, tra cui in particolare un ormai ben diffusa consapevolezza dell importanza della libertà di scelta e di selezione del software, e non solo per fattori puramente economici (il Software Libero come detto non è necessariamente gratuito, ma è generalmente meno costoso del software proprietario). Alcuni fatti significativi possono dare un ulteriore contributo alla corretta valutazione della portata del fenomeno: La Gartner Inc., azienda di consulting strategico di fama mondiale, ha dichiarato in un rapporto tecnico del settembre 2001 (http://www.gartner.com/displaydocument?doc_cd=101034), che il server WEB IIS (Internet Information Server) di Microsoft è troppo facilmente attaccabile da virus e altro, e ha esplicitamente raccomandato di migrare da IIS ad un server Apache; ciò è un chiaro segno di inversione di tendenza anche presso aziende che lavorano nel campo finanziario, notoriamente molto prudenti nell accettare novità tecnologiche. La Borsa di New York (NYSE - New York Stock Echange) ha cambiato il proprio sistema informativo centrale nel 2001: tutto è ora gestito da un mainframe IBM con Sistema Operativo GNU/LINUX. Ciò dimostra che il Software Libero ha raggiunto livelli di sicurezza e di affidabilità sufficienti anche per applicazioni estremamente mission-critical. Il DoD (Department of Defense) degli Stati Uniti ha dichiarato da tempo l intenzione di effettuare una migrazione di tutti i suoi server da Sistema Operativo Windows NT / 2000 a GNU/LINUX, per ragioni di convenienza economica, non reputando più giustificata la spesa continua di licenze e di upgrades imposta dalla Microsoft per ciascun server; il Ministero della Difesa francese ha successivamente dichiarato che farà altrettanto, ma non per ragioni economiche, bensì per ragioni di sicurezza: lo Stato Francese non ritiene sicuro, per applicazioni militari, l utilizzo di un Sistema Operativo di cui non si possa controllare il codice sorgente, e quindi esattamente tutto ciò che fa e che non fa (quali garanzie si hanno, per un prodotto a modello chiuso, che non vi siano internamente parti di codice che vanno a trasferire informazioni altrove, oggi che tutte le macchine sono connesse in una rete mondiale?); GNU/LINUX risponde invece pienamente a tali esigenze. Ciò è un chiaro segno di come si stia evolvendo verso un mondo e un contesto di lavoro e sociologico che ammette sempre meno il modello "closed source", e men che meno il modello Microsoft, che rischia di finire un giorno fuori mercato. Esempi come quelli citati di adozione su scala nazionale di GNU/LINUX o altri prodotti Software Libero, si sono verificati anche in Cina (con la distribuzione "Red Flag LINUX" in Germania, dove il Ministero dell Economia e Tecnologia finanzia lo sviluppo del progetto GnuPG (GNU Privacy Guard) 17, ritenendolo importante per la sicurezza nazionale (http://www.gnupg.de/presse.en.html), e in altri paesi. In Italia, nell ottobre 2000 è stata redatta una lettera aperta, indirizzata al Dipartimento della Funzione Pubblica, all Autorità per l Informatica nella Pubblica Amministrazione, e al Ministero del Tesoro, intitolata "Soggezione informatica dello Stato italiano alla Microsoft" (http://www.interlex.it/pa/letterap.htm); la lettera ha registrato oltre duemila firme di adesione in 17. GnuPG (http://www.gnupg.org/ )è un implementazione Software Libero del noto sistema PGP (Pretty Good Privacy vedi ), che riguarda applicazioni di sicurezza e privatezza dell informzazione basata su algoritmi crittografici. V. Asta - Introduzione a Unix e GNU/Linux 17

18 pochi giorni. In essa si chiedono allo Stato le ragioni per cui si continua a spendere il denaro dei contribuenti per acquistare continue licenze Microsoft Office per più o meno tutti gli uffici pubblici, quando esistono prodotti funzionalmente equivalenti e con caratteristiche ergonomiche perfettamente simili, distribuiti gratuitamente (StarOffice, oggi OpenOffice, prodotto Software Libero). Paesi quali l Argentina, l Inghilterra, la Finlandia e la Germania (ed altri) hanno ormai leggi che richiedono di adottare esclusivamente prodotti Software Libero per tutta la Pubblica Amministrazione. La Francia sta facendo altrettanto; anche in Italia è stato recententemente proposto (febbraio 2002) un disegno di legge analogo, per iniziativa del senatore Cortiana [2002], intitolato "Norme in materia di pluralismo informatico sull adozione e la diffusione del software libero e sulla portabilità dei documenti informatici nella pubblica amministrazione". Nel settembre 2002, secondo il New York Times, si contavano 66 progetti di legge di questo tipo, in 26 diversi paesi [Lohr 2002]. Sono esempi come questi che portano un numero sempre crescente di osservatori e operatori del settore a ritenere che il Software Libero sia un processo irreversibile. Strategie legate al Software Libero sono state adottate ormai anche da diverse aziende leader di mercato nell industria dei computer, come appunto la IBM, la Netscape Corp. (http://www.mozilla.org) e la SGI (http://www.sgi.com/linux), nonchè, pur dopo varie esitazioni, dalla SUN Microsystems (http://www.sun.com/software/linux/ ). Val la pena di rammentare che il successo del modello di business del Software Libero e l alta produttività equalità del software sviluppato secondo questo modello indussero i managers di Netscape Corp. a porre lo sviluppo dei propri browsers sotto una licenza Software Libero già nel gennaio 1998 (http://www.netscape.com/newsref/pr/newsrelease558.html), profondamente influenzati dagli scritti di Eric Raymond [1997], per loro esplicita ammissione. Anche se ci sono ancora moltissimi progressi da compiere in questo campo, e se la partita non è ancora vinta, il futuro del Software Libero sembra oggi decisamente promettente, e già oggi è una realtà significativa; solo pochissimi anni fa, anche i più accesi difensori del Software Libero non avrebbero osato sperare che: un Sistema Operativo Software Libero (GNU/LINUX) avrebbe potuto preoccupare seriamente il dominio incontrastato della società che detiene il monopolio planetario del settore (Microsoft) società importanti come IBM, Intel, Netscape, Creative, SGI, SUN ed altre avrebbero cominciato a guardare al Software Libero come una prospettiva di sviluppo percorribile interi sistemi governativi, come i casi citati (Argentina, Inghilterra, Finlandia, Germania, Cina, Francia) avrebbero considerato l ipotesi di adottare esclusivamente sistemi Software Libero. A proposito del primo punto ora esposto, val la pena citare il caso emblematico del famoso Halloween document [Valloppillil 1998]: un rapporto interno Microsoft, intitolato "Open Source Software: a (new?) development methodology", destinato a rimanere strettamente riservato, finì inv ece nelle mani di Eric Raymond, che lo rese pubblico in una versione da lui commentata passo per passo (il rapporto, i commenti, le reazioni della stampa e della Microsoft sono tutti disponibili a partire dalla URL questo documento, la cui inattesa pubblicazione ebbe una grande eco nella stampa di tutto il mondo, è da una parte la prova di quanto Microsoft sia seriamente preoccupata dall ascesa del Software Libero, e dall altra costituisce una vera e propria dichiarazione di guerra della Microsoft verso LINUX, e ha evidenziato agli occhi di molti che Microsoft era intenzionata a mettere in atto iniziative senza scrupoli e di dubbia correttezza pur di gettare discredito su LINUX e sul Software Libero in generale. Alla pubblicazione del documento, la stessa Microsoft ha dovuto ammettere la sua autenticità, difendendosi con la tesi che si trattava di "un semplice studio ingegneristico" che rifletteva le opinioni personali del suo autore, ma non le idee nè lapolitica dell azienda. La reazione dell opinione pubblica e degli addetti ai lavori non si fece attendere, e l effetto risultante fu un enorme crescita di interesse e popolarità per il Sistema Operativo GNU/LINUX: in sostanza, molti costruttori di hardware e produttori di software si dissero: "se LINUX preoccupa la Microsoft, allora è davvero una cosa seria"; risale a questo periodo la decisione di grandi multinazionali, come Eicon Technology, Dialogic e altri, di sviluppare per LINUX idevice drivers e le librerie software di tutte le schede V. Asta - Introduzione a Unix e GNU/Linux 18

19 hardware da loro prodotte; similmente, software houses come Oracle, Informix, Computer Associates e altri hanno deciso di portare i loro prodotti software proprietari su una piattaforma libera, LINUX. L industria dei computer ha già visto più volte, nella sua storia passata, sorprendenti ondate di crescita e di innovazione, come i primissimi microcomputer negli anni 70, la coalizione spontanea di tutti i costruttori contro lo strapotere di IBM, grazie al potere aggregante di UNIX, i PC prodotti su larga scala dalla metà degli anni 80 fino ad oggi, e l irresistibile ascesa di Internet nello stesso periodo. Il software commerciale rilasciato sotto una licenza di sviluppo Software Libero può costituire il prossimo, importante passo Conclusione In conclusione, i punti salienti che caratterizzano il Software Libero possono essere così riassunti: Èun modello aperto e cooperativo di sviluppo software Èun modello di lavoro e modello di business a un tempo Èin forte espansione a livello mondiale Offre i seguenti vantaggi: -maggior velocità disviluppo -numero teoricamente illimitato di sviluppatori, a costo nullo o tendente a zero -costi di produzione più bassi -miglior posizionamento del fornitore, che si trova naturalmente più vicino ai bisogni del cliente -scala di mercato più ampia e globale Èbasato sulla filosofia di sviluppo "Release fast, release often" Laproprietà del software è preservata Sono possibili, in certe condizioni, strategie miste (che combinano software libero e software a licenza chiusa) 1.6 Tipi di distribuzioni di GNU/LINUX Esistono diverse distribuzioni del Sistema Operativo GNU/LINUX, che si differenziano, tra l altro, per le procedure di installazione (più o meno facili e/o flessibili da usare), per i package di applicazioni inclusi, per gli ambienti grafici proposti; inoltre, alcune sono specializzate a certi tipi di ambienti di lavoro. Tra di esse: Slackware, Debian, Caldera, Red Hat, Mandrake, SuSe. V. Asta - Introduzione a Unix e GNU/Linux 19

20 2. Come iniziare 2.1 Login In questo paragrafo si introduce il sistema strettamente da un punto di vista di utente; si presuppone in particolare la disponibilità di un sistema UNIX regolarmente avviato, pronto all interazione con gli utenti; ciò che accade prima, e che l utente normale tipicamente non vede, viene spiegato in paragrafi successivi 18. Dal punto di vista dell utente, una sessione di lavoro con un sistema UNIX inizia invariabilmente col collegamento ad un terminale di lavoro; ciò in genere può corrispondere, in pratica, ad un terminale fisico reale (ad esempio una VT-100 connessa ad una linea seriale, o la console di un Personal Computer) ovvero ad un terminale virtuale (ad esempio una finestra xterm in una postazione grafica, o un utente connesso in rete ad un server TELNET). In ogni caso, la prima operazione da fare è l identificazione dell utente, o procedura di login, il che consiste nel fornire al sistema un nominativo utente (che dovrà essere già noto al sistema stesso) ed una password (o parola d ordine) ad esso associata 19. È da notare che in qualsiasi sistema UNIX si fa sempre distinzione tra caratteri minuscoli e caratteri maiuscoli, che sono considerate entità diverse. Login: Login: luca<cr> Password:...il sistema attende il nome dell utente....nome dell utente, in minuscolo....parola d ordine dell utente (che non comparirà sullo schermo), terminata da <CR> (Invio, o Carriage-Return) Last login: Sat May 4 11:34:42...varie informazioni di servizio Il Sistema sarà... You have mail....eventuale stampa dei messaggi del giorno...eventuale notifica di messaggi di $...prompt dell interprete di comandi È bene, in generale, cambiare subito la password inizialmente assegnata dall amministratore con un altra nota solo all utente. Il comando utilizzato per creare o modificare la password è passwd. Esempio: $ passwd Changing password for luca Old password: New password: Re-enter new password: password updated successfully $ Chiaramente nè lavecchia nè lanuova parola d ordine appariranno sullo schermo. Per uscire, si digita ˆD, dainserire all inizio della riga 20 ;questo carattere segna la fine della sessione di login. Quando la shell incontra la fine della sessione di login, termina. 2.2 La manualistica on-line Una delle prime cose in assoluto da sapere su un sistema UNIX è che normalmente dispone di un estesa manualistica on-line, in varie forme; la forma più immediata è quella che fa riferimento al comando man, il 18. La descrizione delle fasi di avvio del sistema è descritta nel paragrafo 11. pag. 78, "avvio del sistema", e nel paragrafo 12. pag. 81, "il programma init". 19. L amministratore del sistema avrà assegnato un nome di login all utente, ed una password iniziale, che permetta al sistema di identificare l utente. V. Asta - Introduzione a Unix e GNU/Linux 20

Secondo la Free Software Foundation, un software si può definire libero solo se garantisce quattro "libertà fondamentali":

Secondo la Free Software Foundation, un software si può definire libero solo se garantisce quattro libertà fondamentali: OPEN SOFTWARE Tecnicamente, Open Source significa a codice sorgente aperto. La maggior parte dei programmi sono infatti scritti in linguaggi (più o meno) leggibili dagli umani, quali il C, C++, C#, ecc.;

Dettagli

Introduzione al Software Libero

Introduzione al Software Libero Introduzione al Software Libero Linux Day 6 23 novembre 2002 Il software Programma (codice) scritto in un particolare linguaggio di programmazione esistono molti linguaggi di programmazione (Di solito)

Dettagli

Il Sistema Operativo Linux

Il Sistema Operativo Linux Il Sistema Operativo Linux Sistema Linux storia Unix deriva da Unix open source software libero software open source GNU, GPL, LGPL storia Linux amministrazione struttura concetti base comandi shell Unix

Dettagli

Software proprietario

Software proprietario Open Source Software proprietario NO Fino a tutti glianni sessanta, anche se in misura decrescente, la componente principale e costosa di un computer era l hardware. Da ciò la scelta dei produttori di

Dettagli

Introduzione a LINUX. Unix

Introduzione a LINUX. Unix Introduzione a LINUX Introduzione a Linux 1 Unix 1969: Ken Thompson AT&T Bell Lab realizza un ambiente di calcolo multiprogrammato e portabile per macchine di medie dimensioni. Estrema flessibilità nel

Dettagli

0.2: Il Software Libero

0.2: Il Software Libero 0.2: Il Software Libero Introduzione Definizione Tipi di licenze Business cases Fatti significativi Conclusione Storia del Software di Sistema Confronto economico 0.2.1 Il Software Libero L'evoluzione

Dettagli

Il software Open Source

Il software Open Source Il software Open Source Matteo Baroni Open source non significa semplicemente accesso al codice sorgente. Secondo quanto stabilito nelle definizioni date dalla OSI (Open Source Initiative) e riportate

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

Linux?!? A cura di: Carmine Stolfi Roberto Lacava

Linux?!? A cura di: Carmine Stolfi Roberto Lacava Linux?!? A cura di: Carmine Stolfi Roberto Lacava Panoramica su Linux Cosè Linux Perchè Linux è libero Cosè Linux? Linux è un Sistema Operativo Agisce da interfaccia tra l' uomo e la macchina fornendo

Dettagli

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux,

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, I Server Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, FreeBSD, ecc. Apache / Tomcat / Jakarta / Samba e l'accesso a Windows Antivirus, firewall,

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono:

Dettagli

Prefazione. Contenuti

Prefazione. Contenuti Prefazione Il sistema operativo costituisce uno dei componenti fondamentali di ogni sistema di elaborazione, in particolare è quello con cui l utente entra direttamente in contatto quando accede al sistema,

Dettagli

**************************************************************************/

**************************************************************************/ /************************************************************************** * * Guida introduttiva al mondo GNU/Linux. * * Autore: Salvatore "sneo" Giugliano * Email: sneo@tiscali.it * ICQ: 116699222 *

Dettagli

IZ0MJE Stefano sinager@tarapippo.net. per

IZ0MJE Stefano sinager@tarapippo.net. per IZ0MJE Stefano sinager@tarapippo.net per Perché? Se mi piace smanettare ho più libertà e strumenti per farlo Non devo formattare e reinstallare una volta ogni anno o due Il software che gira sul mio pc

Dettagli

Unix, Linux, Software Libero e Open Source: cenni storici e definizioni

Unix, Linux, Software Libero e Open Source: cenni storici e definizioni Corsi di Formazione "Open Source & Scuola" Provincia di Pescara gennaio 2005 aprile 2005 Unix, Linux, Software Libero e Open Source: cenni storici e definizioni Spremere denaro dagli utenti di un programma

Dettagli

SISTEMI OPERATIVI alla base di tutto. Informatica Applicata Prof.Emanuela Zilio

SISTEMI OPERATIVI alla base di tutto. Informatica Applicata Prof.Emanuela Zilio SISTEMI OPERATIVI alla base di tutto 1 Sistemi Operativi: avvio All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario

Dettagli

LE PORTE DELL ACCESSO. iniziativa realizzata nell ambito delle attività di promozione del CSV Napoli

LE PORTE DELL ACCESSO. iniziativa realizzata nell ambito delle attività di promozione del CSV Napoli LE PORTE DELL ACCESSO iniziativa realizzata nell ambito delle attività di promozione del CSV Napoli Le porte dell accesso incontri seminariali per costruire strumenti di inclusione informatica e di contrasto

Dettagli

Corso base GNU/Linux 2014. Latina Linux Group. Sito web: www.llg.it. Mailing list:http://lists.linux.it/listinfo/latina

Corso base GNU/Linux 2014. Latina Linux Group. Sito web: www.llg.it. Mailing list:http://lists.linux.it/listinfo/latina Corso base GNU/Linux 2014 Latina Linux Group Sito web: www.llg.it Mailing list:http://lists.linux.it/listinfo/latina 1 / 34 Obiettivi di questo incontro Fornire delle informazioni di base sul funzionamento

Dettagli

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino Sistemi Operativi Modulo 2 Schema di un Sistema di Calcolo Programmi Dati di Input Calcolatore Dati di output Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica

Dettagli

Introduzione al Software Libero e a GNU/Linux

Introduzione al Software Libero e a GNU/Linux Introduzione al Software Libero e a GNU/Linux Enrico Albertini 1 Di cosa stiamo parlando? L'hardware è la parte del computer che possiamo toccare, ciò che è composto da atomi. Il software, invece, è una

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16

Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16 Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16 Cosa vedremo Il software applicativo Categorie di SW Il sistema operativo Gestione programmi in esecuzione (processi) Gestione memoria Gestione

Dettagli

L'associazione Solira

L'associazione Solira L'associazione Solira SoLiRa = Software Libero Ragusa opera sul territorio dal 2003 attività: seminari, conferenze (Linux Day, Giornata del Software Libero) sito internet: http://www.solira.org Riscaldiamo

Dettagli

Il software libero nella didattica. Le tre classi di programmi. Caratteristiche del software. Il progetto GNU

Il software libero nella didattica. Le tre classi di programmi. Caratteristiche del software. Il progetto GNU Il software libero nella didattica Marino Miculan -- Linux Day 2002 -- Gorizia, 23 novembre 2002 Le libertà del Software Libero nella didattica Perché adottare S.L. nella scuola

Dettagli

GNU/Linux e *BSD: filosofia del software libero ed open source

GNU/Linux e *BSD: filosofia del software libero ed open source GNU/Linux e *BSD: filosofia del software libero ed open source Origini e filosofie dei sistemi operativi liberi. Principali licenze e libertà del software. Data: 28 ottobre 2006 Relatore: Massimo Masson

Dettagli

Università di Padova - Corso di Laurea in Governo delle Amministrazioni - Informatica per ufficio

Università di Padova - Corso di Laurea in Governo delle Amministrazioni - Informatica per ufficio Il lavoro d ufficio La posta elettronica Intranet e Internet Browser OpenSource Mail server Utente 1 Utente 2 Apparato Rete Mail Server Server di posta POP3: (Post Office Protocol) protocollo per gestire

Dettagli

Introduzione a GNU/Linux e alle licenze libere

Introduzione a GNU/Linux e alle licenze libere Introduzione a GNU/Linux e alle licenze libere Luca Syslac Mezzalira Montebelluna Linux User Group 20/09/2007 Montebelluna Syslac (MontelLUG) Intro Linux/GPL 20/09/2007 Montebelluna 1 / 27 Licenza d utilizzo

Dettagli

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese Introduzione al sistema operativo Laboratorio Software 2008-2009 C. Brandolese Che cos è un sistema operativo Alcuni anni fa un sistema operativo era definito come: Il software necessario a controllare

Dettagli

Linux e Open Source: Libero! Non "gratis"...

Linux e Open Source: Libero! Non gratis... Linux e Open Source: Libero! Non "gratis"... Di Colucci Martino. 1 Cos'è Linux Linux è un sistema operativo alternativo al più blasonato Windows OS (o al cugino Macintosh) È parente stretto della famiglia

Dettagli

LPIC-1 Junior Level Linux Certification

LPIC-1 Junior Level Linux Certification Corso 2012/2013 Introduzione a GNU/Linux Obiettivi Il percorso formativo ha l obiettivo di fornire ai partecipanti le competenze basilari necessarie per installare, configurare e gestire un server/workstation

Dettagli

Licenze d uso libere. Rossetto Stefano Seminario di Commercio Elettronico

Licenze d uso libere. Rossetto Stefano Seminario di Commercio Elettronico Licenze d uso libere Rossetto Stefano Seminario di Commercio Elettronico Open Source L OSI definisce un elenco di condizioni per definire una licenza Open Source: 1. Redistribuzione libera; 2. Codice sorgente

Dettagli

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione LINUX - Introduzione 1 di 26 LINUX - Introduzione Cos è LINUX? Si tratta di un clone di UNIX Più precisamente è il kernel del S.O. Funzionalità di base Scheduling dei processi Gestione della memoria virtuale

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Software libero & Community Ing. Andrea Scrimieri

Software libero & Community Ing. Andrea Scrimieri & Community Ing. Andrea Scrimieri andrea.scrimieri@linux.it Origini del software libero 1984......ma prima un passo indietro... "Penso che nel mondo ci sia mercato forse per 4 o 5 computer" "Il microchip:

Dettagli

Lezione 3. Il software libero. Linux avanzato. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 3. Il software libero. Linux avanzato. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 3 Linux avanzato 15 marzo 2013 System Programming Research Group Università degli Studi di Roma Tor Vergata LA 13 3.1 Di cosa parliamo in questa lezione? Il movimento del software libero 1 Nascita

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

Software Libero e GNU/Linux

Software Libero e GNU/Linux Corso introduttivo a GNU/Linux Padova Software Libero e GNU/Linux Gianluca Moro Faber Libertatis Associazione di Promozione Sociale Faber Libertatis - http://faberlibertatis.org/ Linux che cos'è? Linux

Dettagli

Software libero e condivisione della conoscenza

Software libero e condivisione della conoscenza Software libero e condivisione della conoscenza Gianni Bianchini Dipartimento di Ingegneria dell Informazione, Università di Siena Associazione Software Libero giannibi@dii.unisi.it - giannibi@softwarelibero.it

Dettagli

Fondamenti di Informatica 7. Linguaggi di programmazione

Fondamenti di Informatica 7. Linguaggi di programmazione I linguaggi di alto livello Fondamenti di Informatica 7. Linguaggi di programmazione Introduzione alla programmazione Caratteristiche dei linguaggi di programmazione I linguaggi di programmazione di alto

Dettagli

OPEN NON E FREE Metodi di ricerca per il progetto Docente Stefano Maffei Politecnico di Milano Facoltà del design

OPEN NON E FREE Metodi di ricerca per il progetto Docente Stefano Maffei Politecnico di Milano Facoltà del design Presentazione di Cristina Zocca 736584 Nicole Galeone 735934 OPEN NON E FREE Metodi di ricerca per il progetto Docente Stefano Maffei Politecnico di Milano Facoltà del design di Ippolita AUTORE IPPOLITA

Dettagli

2 La tempesta perfetta

2 La tempesta perfetta La tempesta perfetta : perché ora è il momento dell Open Source 2 INtroduzione 2 La tempesta perfetta 3 La promessa di valore dell open source 5 open source = riduzione dei costi per le aziende 6 Quali

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

Sviluppare Software Libero

Sviluppare Software Libero Sviluppare Software Libero Un introduzione allo sviluppo del software libero. Idee, motivi ed esempi. Maurizio Lemmo File TEST - 1 Per iniziare... Un progetto software, idealmente,

Dettagli

LICENZE D'USO E TIPOLOGIE DI SOFTWARE

LICENZE D'USO E TIPOLOGIE DI SOFTWARE LICENZE D'USO E TIPOLOGIE DI SOFTWARE Il software è tutelato dalle leggi sul diritto d'autore, in maniera simile a quanto avviene per le opere letterarie. Il contratto che regola l'uso del software è la

Dettagli

Sistemi Operativi (modulo di Informatica II) Introduzione

Sistemi Operativi (modulo di Informatica II) Introduzione Sistemi Operativi (modulo di Informatica II) Introduzione Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Definizione di sistema operativo Evoluzione dei sistemi operativi Cenni

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare Facoltà di Lingue e Letterature Straniere Software È un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici (=

Dettagli

Paolo Zatelli. Dipartimento di Ingegneria Civile e Ambientale Università di Trento. Open Source e Free Software. Open Source e Free Software

Paolo Zatelli. Dipartimento di Ingegneria Civile e Ambientale Università di Trento. Open Source e Free Software. Open Source e Free Software Paolo Zatelli Università di Trento 1/11 Paolo Zatelli Dipartimento di Ingegneria Civile e Ambientale Università di Trento Paolo Zatelli Università di Trento 2/11 Free Software Il termine free si deve tradurre

Dettagli

INTRODUZIONE AL SOFTWARE LIBERO STEFANO IANNUCCI 02/13/12 1

INTRODUZIONE AL SOFTWARE LIBERO STEFANO IANNUCCI 02/13/12 1 INTRODUZIONE AL SOFTWARE LIBERO STEFANO IANNUCCI 02/13/12 1 Agenda Introduzione: limiti del software proprietario Definizione di software libero Vantaggi del software libero Per end-user (persone, aziende)

Dettagli

Avete detto Open Source?!

Avete detto Open Source?! Come avvicinarsi all'open Source Sergio Margarita LIASES Università di Torino margarita@econ.unito.it Open Source nell'università - Software libero per studiare, insegnare e fare ricerca Università di

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

Ambito della tutela del software I diritti esclusivi sul software Le licenze d uso Le licenze del software libero Le facoltà dell utilizzatore

Ambito della tutela del software I diritti esclusivi sul software Le licenze d uso Le licenze del software libero Le facoltà dell utilizzatore /H]LRQ TXDUWD Ambito della tutela del software I diritti esclusivi sul software Le licenze d uso Le licenze del software libero Le facoltà dell utilizzatore legittimo Il ruolo della SIAE Tutela civile

Dettagli

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

GNU/Linux e il software libero a scuola (e non solo) A cura del Prof. Fulvio Ferroni

GNU/Linux e il software libero a scuola (e non solo) A cura del Prof. Fulvio Ferroni GNU/Linux e il software libero a scuola (e non solo) A cura del Prof. Fulvio Ferroni Hardware e software HARDWARE (HW) = Parte fisica del sistema di elaborazione. SOFTWARE (SW) = L'insieme dei programmi.

Dettagli

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani. La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani. Trieste, 2 Maggio 2016 1) OPEN SOURCE COSA SIGNIFICA OPEN SOURCE? E' un aggettivo che si una per intendere

Dettagli

Linux Sia: Linux Fu!

Linux Sia: Linux Fu! Linux Sia: Linux Fu! Pasquale Merella p.merella@blueberrypie.it Associazione Studentesca Blueberrypie Università Commericiale "L.Bocconi" http://www.blueberrypie.it 22 Gennaio, 2002 Abstract Cosa è Linux?

Dettagli

Open. Source. Il software AUTORE: ELENA COCCO UNIVERSITÁ DEGLI STUDI DI CAGLIARI FACOLTÁ DI GIURISPRUDENZA DIRITTO PRIVATO DELL INFORMATICA

Open. Source. Il software AUTORE: ELENA COCCO UNIVERSITÁ DEGLI STUDI DI CAGLIARI FACOLTÁ DI GIURISPRUDENZA DIRITTO PRIVATO DELL INFORMATICA Il software Open Source UNIVERSITÁ DEGLI STUDI DI CAGLIARI FACOLTÁ DI GIURISPRUDENZA DIRITTO PRIVATO DELL INFORMATICA A.A. 2006/2007 DOCENTI:PROF.BRUNO TROISI DOTT.MASSIMO FARINA La società dell informazione

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Sistemi Operativi: avvio

Sistemi Operativi: avvio Sistemi Operativi: avvio All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario tra l hardware del sistema e uno

Dettagli

Storia dell Open Source

Storia dell Open Source S.I.C.S.I. VIII CICLO Storia dell Open Source Storia dell Informatica e del Calcolo Automatico Giuseppe Caldo Elenco Contenuti Definizioni preliminari Prima del software Nascita del software Evoluzione

Dettagli

ERP Commercio e Servizi

ERP Commercio e Servizi ERP Commercio e Servizi Sistema informativo: una scelta strategica In questi ultimi anni hanno avuto grande affermazione nel mercato mondiale i cosiddetti sistemi software ERP. Tali sistemi sono in grado

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

Sistemi Operativi. Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi

Sistemi Operativi. Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi Sistemi Operativi Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi Un sistema di elaborazione dati Sistema bancario Browser Web Prenotazioni aeree Editor Sistema Operativo Compilatori

Dettagli

Software Libero. Nicola Asuni

Software Libero. Nicola Asuni Software Libero Nicola Asuni Software "programmi e procedure utilizzati per far eseguire determinati compiti agli elaboratori elettronici (computer) o qualsiasi altro apparato con capacità di elaborazione

Dettagli

SISTEMI OPERATIVI E SOFTWARE SOFTWARE. Software: Programmi Applicativi. Software: device driver

SISTEMI OPERATIVI E SOFTWARE SOFTWARE. Software: Programmi Applicativi. Software: device driver SOFTWARE L hardware è la parte che si può prendere a calci; il software quella contro cui si può solo imprecare. SOFTWARE E l insieme dei dati e dei programmi che rendono possibile l inserimento dei dati

Dettagli

Ambienti Operativi: Introduzione

Ambienti Operativi: Introduzione DTI / ISIN / Titolo principale della presentazione Ambienti Operativi: Introduzione Amos Brocco, Ricercatore, DTI / ISIN 1 Architettura di un computer CPU Memoria Bus Dispositivi I/O 3 Esecuzione del software

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

LinuxDay 2002 L'Aquila

LinuxDay 2002 L'Aquila LinuxDay 2002 L'Aquila 23 Novembre 2002 AULA MAGNA Facoltà di Scienze MM.FF.NN. Cartella per addetti stampa L'Open Linux User Group (di seguito OpenLUG) è un gruppo di utenti Linux e appassionati di software

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

Veloce, economico e sicuro: rendete più agile il vostro lavoro, diminuite il TCO e migliorate la vostra sicurezza grazie alla soluzione di job

Veloce, economico e sicuro: rendete più agile il vostro lavoro, diminuite il TCO e migliorate la vostra sicurezza grazie alla soluzione di job Veloce, economico e sicuro: rendete più agile il vostro lavoro, diminuite il TCO e migliorate la vostra sicurezza grazie alla soluzione di job scheduling senza agente White paper preparato per BMC Software

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

L o. Giulio Concas. Romolo Camplani Nicola Serra. Evento del TOSSAD Project. http://www.tossad.org. http://agile.diee.unica.it.

L o. Giulio Concas. Romolo Camplani Nicola Serra. Evento del TOSSAD Project. http://www.tossad.org. http://agile.diee.unica.it. FLOSS Opportunità per PPAA e PMI L o Evento del TOSSAD Project http://www.tossad.org Romolo Camplani Nicola Serra http://agile.diee.unica.it 1 Cosa è il FLOSS (o F/OSS) Free/Libre Open Source Software

Dettagli

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra.

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra. Appunti di Calcolatori Elettronici Modello di macchina multilivello Introduzione... 1 Linguaggi, livelli e macchine virtuali... 3 La struttura a livelli delle macchine odierne... 4 Evoluzione delle macchine

Dettagli

ALTRA ECONOMIA. Le licenze nel software. di virtualmondo. terza parte del seminario sul software libero. per contatti luciano@aniene.

ALTRA ECONOMIA. Le licenze nel software. di virtualmondo. terza parte del seminario sul software libero. per contatti luciano@aniene. ALTRA ECONOMIA Le licenze nel software di virtualmondo terza parte del seminario sul software libero per contatti luciano@aniene.net Le licenze L'utilizzo del software può essere concesso gratuitamente

Dettagli

Corso Software Open Source 2009 I.P.S.I.A A.M. Barlacchi Crotone

Corso Software Open Source 2009 I.P.S.I.A A.M. Barlacchi Crotone Corso Software Open Source 2009 I.P.S.I.A A.M. Barlacchi Crotone Linux is a free Unix-type operating system originally created by Linus Torvalds with the assistance of developers around the world. 1 Free

Dettagli

Come fare a leggere questi dati generati da un programma windows?

Come fare a leggere questi dati generati da un programma windows? Come fare a leggere questi dati generati da un programma windows? A questo punto siamo in possesso di tutti gli elementi per sfruttare appieno le potenzialità di Linux: sappiamo destreggiarci (mai abbastanza)

Dettagli

Le licenze d uso. Le principali tipologie di licenze

Le licenze d uso. Le principali tipologie di licenze Le licenze d uso La legge 633/41 attribuisce in via esclusiva all autore dell opera software tutti i diritti derivanti dall opera stessa, e vieta e punisce ogni abuso che leda questi diritti esclusivi.

Dettagli

Free software e modelli di business. Giornata della libertà digitale. Politecnico di Milano

Free software e modelli di business. Giornata della libertà digitale. Politecnico di Milano Giornata della libertà digitale Politecnico di Milano Gabriele Erba root@gabriele-erba.it Sito Web : www.gabriele-erba.it Tema : Analisi dell'impatto della cultura free nel mondo economico in particolare

Dettagli

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI Il Software Software di Base Sistema Operativo (Software di base essenziale) Software di base non essenziale Utility Driver Software applicativi (Applicazioni)

Dettagli

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it Il software Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it Outline 1 Il software Outline Il software 1 Il software Algoritmo Sequenza di istruzioni la cui esecuzione consente di risolvere uno

Dettagli

Il sistema operativo Linux installato sul vostro computer non è un unico, grande

Il sistema operativo Linux installato sul vostro computer non è un unico, grande CAPITOLO 2 Scegliere una distribuzione di Linux Il sistema operativo Linux installato sul vostro computer non è un unico, grande programma, ma un insieme di molti programmi. Potete ottenere autonomamente

Dettagli

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio. 2011 Gabriele Riva - Arci Barzanò

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio. 2011 Gabriele Riva - Arci Barzanò Internet: conoscerlo al meglio per usarlo meglio Software Open Source e Sistemi operativi Indice Cos'è un Software Open Source Perchè utilizzare Software Open Source Sistemi operativi Licenze software

Dettagli

Software Libero. Terra Futura - Firenze

Software Libero. Terra Futura - Firenze Cosa è il Software Libero Terra Futura - Firenze Simone Piccardi: piccardi@softwarelibero.it April 10, 2005 1 L Associazione Software Libero L Associazione Software Libero, è una associazione culturale

Dettagli

1.4. Caratteristiche generali dei Sistemi Operativi

1.4. Caratteristiche generali dei Sistemi Operativi 1.4. Caratteristiche generali dei Sistemi Operativi 1.4.1. Funzione primaria di un S.O. Il sistema operativo è la parte più importante del software di base ed ha il compito primario di costituire l interfaccia

Dettagli

OPEN SOURCE CLOSED SOURCE

OPEN SOURCE CLOSED SOURCE OPEN SOURCE CLOSED SOURCE VS Con questi due termini si intendono due strategie di distribuzione software. Questi due modelli si differenziano per le modalità di: REALIZZAZIONE DISTRIBUZIONE MANUTENZIONE

Dettagli

ALLEGATO TECNICO SUL MODELLO DI SICUREZZA IN INTERNET IL PRODOTTO VORTAL

ALLEGATO TECNICO SUL MODELLO DI SICUREZZA IN INTERNET IL PRODOTTO VORTAL ALLEGATO TECNICO SUL MODELLO DI SICUREZZA IN INTERNET IL PRODOTTO VORTAL 1 Introduzione Il mondo del Web ha assunto negli ultimi anni una forza dirompente su tutti i fronti della comunicazione e della

Dettagli

Sistemi operativi e reti A.A. 2015-16. Lezione 2

Sistemi operativi e reti A.A. 2015-16. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 2 Giovedì 8-10-2015 Sistemi batch multiprogrammati La causa principale

Dettagli

INFORMATICA GENERALE PARTE 2: SOFTWARE A CURA DEL PROF. CAVAZZA GENNARO

INFORMATICA GENERALE PARTE 2: SOFTWARE A CURA DEL PROF. CAVAZZA GENNARO INFORMATICA GENERALE PARTE 2: SOFTWARE A CURA DEL PROF. CAVAZZA GENNARO CLASSIFICAZIONE E PRODUZIONE DEL SOFTWARE TIPI DI SOFTWARE Per software si intende l'insieme delle istruzioni che guidano l hardware

Dettagli

Legge 134-2012: CAD art. 68 c) Libera PA

Legge 134-2012: CAD art. 68 c) Libera PA Legge 134-2012: CAD art. 68 c) Libera PA Introduzione al valore della libertà nel software Ing. Vincenzo Virgilio Presidente Sputnix LUG Jug Sicilia Membro Pluto IETF RSVPwg CEO Sicily On Net Amm.re sistema

Dettagli

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it I moderni Sistemi Operativi!2 Unix È stato creato da Ken Thompson e Dennis Ritchie nel 1969

Dettagli

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete Sistemi Operativi di Rete Estensione dei Sistemi Operativi standard con servizi per la gestione di risorse in rete locale Risorse gestite: uno o più server di rete più stampanti di rete una o più reti

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Parte VI SISTEMI OPERATIVI

Parte VI SISTEMI OPERATIVI Parte VI SISTEMI OPERATIVI Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi

Dettagli

gestione delle risorse hardware interfaccia verso l utente

gestione delle risorse hardware interfaccia verso l utente Sistemi Operativi: avvio Sistema Operativo: funzioni All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario tra

Dettagli

SOFTWARE far funzionare l hardware. Informatica Applicata Prof.Emanuela Zilio

SOFTWARE far funzionare l hardware. Informatica Applicata Prof.Emanuela Zilio SOFTWARE far funzionare l hardware 1 SOFTWARE cos è E l insieme dei dati e dei programmi che rendono possibile l inserimento dei dati e dei comandi da parte dell utente, volti all elaborazione da lui desiderata

Dettagli

I Sistemi Operativi. Introduzione ai Sistemi Operativi (parte B) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

I Sistemi Operativi. Introduzione ai Sistemi Operativi (parte B) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino I Sistemi Operativi Introduzione ai Sistemi Operativi (parte B) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Principali SO I SO possono essere classificati utilizzando

Dettagli

DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0

DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0 DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0 nelle lezioni precedenti abbiamo preso in esame tutte le caratteristiche e le funzionalità del microprocessore didattico

Dettagli