Evoluzione dei Sistemi Operativi Università di Bologna - anno accademico 2012/2013 Orgest Shehaj 30 maggio 2013 2 Indice 1 2 3 4 5 6 7 Introduzione 1.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . 1.2 La struttura di un sistema operativo . . . . . . . . . . 1.3 La preistoria dell'informatica . . . . . . . . . . . . . La prima generazione (1945-1955): 2.1 Valvole e schede perforate . . . . . . . . . . . . 2.2 Schede perforate . . . . . . . . . . . . . . . . . . 2.2.1 Dettagli funzionali . . . . . . . . . . . . . 2.3 Nascita dei transistor . . . . . . . . . . . . . . 2.4 Nascita di Fortran(Formula Translation/Translator) 2.5 Mark I . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Mark II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La seconda generazione(1955-1965): 3.1 I Sistemi batch . . . . . . . . . . . . . . . . . . . . . 3.2 Fortran Monitor System . . . . . . . . . . . . . . . . . 3.3 IBSYS . . . . . . . . . . . . . . . . . . . . . . . . . . La terza generazione (1965-1980) 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Anni 60 . . . . . . IBM System/360 . . . Multiprogrammazione Il Timesharing . . . CTSS . . . . . . . . MULTICS . . . . . . UNIX® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La quarta generazione (1980-2000) 5.1 Personal Computer . . . . . . . . . . . . . . . . . . . . Quinta generazione (2000-..) 6.1 Web e Mobile . . . . . . . . . . . . . . . . . . . . . . . Windows OS 7.1 Nascita della Microsoft . . . 7.1.1 MS-DOS . . . . . . . . 7.2 Microsoft Windows . . . . . . 7.2.1 Il successo di Windows 7.2.2 Windows Vista . . . . . 7.2.3 Windows 7 . . . . . . . 7.2.4 Windows 8 . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 5 7 7 7 8 8 8 8 10 11 11 14 14 15 15 15 16 16 17 17 18 20 20 22 22 23 23 23 23 24 25 25 25 Indice 8 9 Apple OS 8.1 Nascita della Apple . 8.1.1 Apple Macintosh 8.2 L'inizio del declino . 8.3 MAC OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L'inizio del progetto . . . . Software GNU e il sistema GNU Free come libero . . . . . . Open Source . . . . . . . . . Copyleft e la GNU GPL . . . . Modalità di guadagno . . . . . LAMP . . . . . . . . . . . . . Debian . . . . . . . . . . . . Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNU/Linux 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 Mobile OS 10.1 Touch screen . . . . . . . . . . . . 10.1.1 Touchscreen capacitivo . . . 10.1.2 Touchscreen resistivo . . . . 10.2 Android . . . . . . . . . . . . . . 10.2.1 2007: la nascita di Android 10.2.2 Il primo smartphone Android . 10.3 Windows Phone . . . . . . . . . . . 10.3.1 Windows Phone 8 . . . . . . . 10.4 iPhone iOS . . . . . . . . . . . . . 10.5 Ubuntu Touch . . . . . . . . . . . . 10.6 Firefox OS . . . . . . . . . . . . . 10.7 Openmoko . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 27 29 31 31 33 34 34 36 37 39 40 40 40 41 42 43 43 43 44 45 45 46 46 47 47 47 48 1 Introduzione Nella società attuale, l'informatica rappresenta una tra le sde più importanti ed e l'ambito in cui l'innovazione è uno dei punti strategici attraverso cui si gioca l'evoluzione. 1.1 Denizione Un sistema operativo è un software che fornisce all'utente una serie di comandi e servizi per gestire un elaboratore elettronico, in altre parole il sistema operativo altro non e che un insieme di programmi software che permettono all'utente di interagire con l'hardware. I sistemi operativi si occupano anche di rappresentare le informazioni elaborate dal computer in un modo comprensibile all'uomo. 1.2 La struttura di un sistema operativo Il sistema operativo è composto da diverse parti, avente ognuna un determinato compito, le parti principali di un sistema operativo sono: Kernel : è il nucleo del sistema operativo. Il kernel fornisce tutti i servizi alle applicazioni che permettono l'utilizzo delle risorse hardware. La parte kernel viene eseguito sul calcolatore con priorità massima e con possibilità di accesso alle periferiche hardware. File system : consente le operazioni di lettura e scrittura sulle memorie di massa, inoltre fornisce la possibilità di creare, cancellare, leggere, modicare ed eseguire un le, denire regole di accesso e strutturare i le in base alle proprie necessità. Scheduler : gestisce i processi nei sistemi multitasking. Lo scheduler si occupa di assegnare ai processi il tempo di utilizzo della CPU (Central Processing Unit). Poichè la CPU può eseguire un'unica operazione alla volta, si è pensato di rendere l'idea del parallelismo tra processi, utilizzando il metodo dell'assegnazione di un determinato tempo, che permetta a tutti i processi di usufruire della risorsa sica, in modo da creare l'illusione di una concorrenza dei processi, quando in realtà è lo scheduler che ponendo priorità e code di accesso, rende possibile tale illusione. Memoria virtuale : e in grado di fornire una astrazione della memoria sica rendendo possibile l'allocazione di più memoria virtuale rispetto a quella che sicamente si possiede. Utilizzando algoritmi di rimpiazzo, la MMU (memory management unit) rimpiazza le pagine reputate inutili, con altre pagine di memoria che dovranno essere utilizzate. Inoltre la MMU si occupa della traduzione da indirizzi logici a indirizzi sici, ne controlla l'eettiva reperibilità e gestisce i page fault. 1.3 La preistoria dell'informatica I sistemi operativi si sono evoluti nel corso degli anni e, storicamente, i sistemi operativi sono stati strettamente legati all'architettura dei calcolatori. Nel 1840 si svolse a Torino il secondo Congresso degli Scienziati italiani, organizzato dal re Carlo Alberto di Savoia. Al congresso partecipo Charles Babbage, il quale presento il progetto 5 1 Introduzione della macchina analitica . Questo progetto appassiono molti scienziati italiani, fra i quali anche il sico Ottaviano Fabrizio Mossotti e Luigi Menabrea. Quindi possiamo dire che il primo autentico calcolatore digitale fu progettato dal matematico inglese Charles Babbage (1792-1871). Sebbene Babbage abbia speso grand'parte della propria vita e della propria fortuna cercando di costruire questa macchina analitica, egli non riusci mai a vederla funzionare in maniera corretta, dal momento che fu progettata come dispositivo meccanico e che la tecnologia dell'epoca non era in grado di produrre le ruote, gli ingranaggi e le altre parti meccaniche necessarie con la precisione richiesta. Inoltre la macchina analitica non aveva un sistema operativo. Modello di una parte della macchina analitica di Babbage in mostra al museo della scienza di Londra. Menabrea si dedico a una descrizione del progetto di Babbage che pubblico in francese nel 1842 preso la Bibliothèque Universelle de Genève. Il lavoro di Menabrea (Notions sur la machine analytique de Charles Babbage) può essere considerato il primo lavoro scientico nella disciplina dell'informatica. Il lavoro di Menabrea fu ripreso da Ada Lovelace qualche mese dopo per essere ampliato e tradotto in inglese. Ada lavoro insieme a Babbage, e lo aiuto a documentare il suo progetto, tradusse i documenti in diverse lingue e sviluppo programmi per la macchina. Il linguaggi di programmazione Ada prende da lei il suo nome. 6 2 La prima generazione (1945-1955): ....ragazzi dovreste fare marcia indietro e cambiare completamente i vostri programmi; lasciate perdere questa ... sciocchezza di Eckert e Mauchly - Howard Aiken Questa e l'opinione che Howard Aiken, matematico di Harward e costruttore del calcolatore Mark I, espresse nel 1948. Aiken fece questa dichiarazione e decise di non appoggiare la proposta di J.Presper Eckert e John Mauchly di fabbricare e vendere computer elettronici. Secondo Aiken, non si sarebbe mai sviluppato un mercato per i computer, negli Stati Uniti c'era spazio forse per cinque o sei macchine del genere, non di più. Eckert e Mauchly fondarono la Eckert-Mauchly Computer Corporation, la concorrente di IBM. Uno dei loro prodotti fu l'UNIVAC, un capolavoro tecnico, il quale pero, venne eclissato nel mercato dai computer prodotti dalla IBM. 2.1 Valvole e schede perforate Dopo gli inutili sforzi di Babbage, furono fatti pochi progressi nella realizzazione di calcolatori digitali no alla seconda guerra mondiale. Circa verso la metà degli anni 40, Howard Aiken ad Harvard, John von Neumann all'Institute for Advanced Study di Princeton, J.Presper Eckert e William Maunchley all'Univeristà della Pennsylvania e Konrad Zuse in Germania, riuscirono a costruire macchine da calcolo. Le prime usavano relè meccanici ma erano molto lente, con tempi di ciclo misurabili in secondi. I relè furono più tardi sostituiti da valvole termoioniche. Queste macchine avevano delle dimensioni molto grandi, a tal punto da riempire intere stanze, poichè erano costituite da centinaia di migliaia di valvole, ma erano anche molto più lenti degli attuali personal computer. All'inizio la programmazione veniva eettuata totalmente in linguaggio macchina, predisponendo una serie di spinotti su schede particolari che servivano per controllare le funzioni elementari della macchina. I linguaggi di programmazione erano sconosciuti e di sistemi operativi non si sentiva nemmeno parlare. 2.2 Schede perforate Quando sono apparsi i primi computer basati sui transistor, ci si e trovato di fronte allo stesso problema che ebbe Gutenberg con la stampa a caratteri mobili: Dove immagazzinare le informazioni? Inizialmente le tecniche per conservare dati nell'era informatica usarono lo stesso supporto sico usato da Gutenberg per la stampa, ovvero la carta. La registrazione di dati su supporti ssi avveniva mediante schede o nastri perforati dove la posizione dei fori corrispondeva a un ben preciso carattere e la lettura veniva fatto in modo ottico. Una scheda perforata contiene una sequenza di solo 80 caratteri. 7 2 La prima generazione (1945-1955): 2.2.1 Dettagli funzionali Il metodo è abbastanza semplice: un pezzo di cartoncino leggero viene suddiviso in molteplici porzioni che possono essere attraversate da un foro o lasciate intatte. I pezzetti di carta rettangolare che vengono asportati durante la perforazione vengono chiamati chad. Ogni singola posizione sulla scheda rappresenta una singola cifra binaria (bit). Ogni colonna sulla scheda contiene più posizioni forabili (bit multipli). Scheda Perforata 2.3 Nascita dei transistor Nel 1948 tre ricercatori dei Bell Telephone Laboratories, negli Stati Uniti, partendo da una osservazione casuale mentre svolgevano esperimenti sui semiconduttori, inventarono il transistor ottenendo il Nobel per la Fisica nel 1956. Il primo transistor funzionante fu elaborato da Walter Brattain e John Bardeen nel mese di dicembre del 1947, nei Bell Labs. l'anno dopo William Shockley ne spiegò il funzionamento. 2.4 Nascita di Fortran(Formula Translation/Translator) Nel 1954 un gruppo di lavoro guidato da John Backus inizio a sviluppare il primo linguaggio di programmazione per il calcolatore IBM704, questo linguaggio di programmazione veniva utilizzato soprattutto per calcoli scientici e numerici, questa situazione incoraggio molti progettisti a creare compilatori che generavano codice molto veloce. Nel 1956 dallo stesso Backus venne scritta la prima guida all'utilizzo di fortran. Nei giorni nostri il FORTRAN e tuttora usato e ne esistono varie versioni. 2.5 Mark I Fu proprio nel dopo guerra che si registro un balzo in avanti nella progettazione e nella costruzione dei calcolatori. Furono gli anni in cui dominarono i dinosauri (per via del loro peso e delle loro dimensioni), come nel caso del calcolatore elettromeccanico I Harvard Mark , realizzato nei laboratori IBM da Howard Aiken con la collaborazione di alcuni esperti e ricercatori dell'università di Harvard. Mark I pesava cinque tonnellate , aveva 800 chilometri di cavi e più di tre mila relè, per un totale di 76 mila componenti, era lungo 16 metri e mezzo e alto due e mezzo. 8 2 La prima generazione (1945-1955): L'Harvard Mark I fu il primo calcolatore a funzionare automaticamente con programmi registrati, gli antenati degli odierni softwares. Questa macchina era in grado di sommare due numeri di ventitrè cifre in tre decimi di secondo e moltiplicarli in soli sei secondi. Mark I venne impiegato dalla Marina militare statunitense per studi di balistica e progettazione di navi e della Commissione per l'energia atomica per ricerche sulla disintegrazione dell'atomo. 9 2 La prima generazione (1945-1955): 2.5.1 Mark II Fu proprio sul Mark II che venne coniato il termine di bug, in seguito usato dagli specialisti e appassionati di informatica per denire un errore di programmazione in un software. Il fatto prende spunto da un divertente episodio: dopo un improvviso blocco della macchina, il 9 settembre 1947, la matematica Grace Murray Hopper impiegò diverse ore per comprendere l'origine del guasto. Alla ne scopri che una falena si era annidata in un relè, bloccando il funzionamento del computer. Foto del primo bug trovato in un computer, 9 settembre 1947 10 3 La seconda generazione(1955-1965): 3.1 I Sistemi batch Durante la metà degli anni 50 vengono introdotti i transistor e i sistemi batch. L'introduzione dei transistor cambio la situazione dei calcolatori. I calcolatori divennero abbastanza adabili da poter essere costruiti e venduti dando all'acquirente la certezza che avrebbero funzionato a lungo da poter svolgere dei lavori utili. Questi calcolatori, ora chiamati mainframe, erano tenuti chiusi in speciali sale macchine con aria condizionata, ed al loro funzionamento erano assegnati gruppi di operatori specializzati. Il loro costo, di molti milioni di dollari, poteva essere arontato solo da grosse compagnie, dalle agenzie governative o dalle università. Per far girare un job(cioè un programma o un insieme di programmi), un programmatore doveva prima scrivere il programma su carta(in Fortran o in Assembler), poi doveva copiarlo su schede perforate, e inne doveva portare il pacchetto delle schede nella stanza dove venivano raccolti i programmi e darlo ad uno degli operatori. Dopo tutto ciò doveva soltanto aspettare l'uscita dei risultati. Appena il calcolatore aveva terminato il job in esecuzione, un operatore andava alla stampante, e prelevava quanto prodotto in uscita dal job. Non essendo stata ancora introdotta la tecnologia di accesso diretto alla memoria (DMA), tutte le operazioni di input/output erano a carico della CPU, con conseguente rallentamento dell'esecuzione del calcolatore. Dato l'elevato costo delle macchine, e le poche macchina a disposizione, i programmatori cercavano di ridurre il tempo sprecato, e la soluzione che vene adottata fu quella dei batch sistemi (sistemi di elaborazione a loti): dove l'I/O viene gestito da un calcolatore economico come l'IBM 1401 e l'elaborazione veniva adata a un calcolatore centrale come l'IBM 7094. L'idea era quella di raccogliere dei job e di farli trasferire su un nastro magnetico da un piccolo calcolatore, come ad esempio un IBM 1401, molto adatto a leggere schede perforate, scrivere nastri magnetici o stampare dati, ma non adatto ad eseguire calcoli. 11 3 La seconda generazione(1955-1965): Nel 1959, l'IBM annuncio il 1401, il quale veniva attato per $2,500 al mese per uso commerciale. Il 1401 e stato il primo prodotto di massa del IBM, la macchina era alta 1,4 metri e lunga 1, con una memoria da 4.096 caratteri [da 6-bit(più un bit di parità)] . Per eseguire i calcoli venivano usati altri calcolatori, molto più costosi, come gli IBM 7094. 12 3 La seconda generazione(1955-1965): La serie 709x del IBM fu annunciata intorno al 1958, il 7094 altro non era che il primo calcolatore commerciale con i transistor logici. Una volta che venivano raccolti tutti i batch dei lavori, i nastri venivano riavvolti e portati nella sala macchine, dove venivano montati sul lettore dei nastri. Batch Monitor Il Sistema Operativo di questi calcolatori ( ) svolgeva pochi servizi quali la gestione dell'input/output e l'interpretazione ed esecuzione dei comandi contenuti nelle schede di controllo. Tali comandi costituiscono il JCL (Job Control Language) L'operatore caricava un programma speciale(l'antenato dei attuali sistemi operativi) che leggeva il primo job e lo eseguiva, e i dati in uscita venivano memorizzati su un secondo nastro magnetico. Dopo la ne di un job, il sistema operativo leggeva in modo automatico il prossimo job e lo mandava in esecuzione. Quando l'intero lotto di lavoro era stato eseguito l'operatore portava i nastri magnetici in uscita al 1401, per stampare i dati fuori linea (o line), cioè senza essere direttamente collegato al calcolatore principale. Uno dei primi sistemi di elaborazione batch. Il programmatore porta le schede perforate al 1401, il 1401 legge un lotto di programmi sul nastro, il programmatore porta il nastro al 7094 il quale esegue tutti i calcoli, dopo di che il nastro in uscita viene portato al 1401 che stampa l'uscita. I job cominciavano con una scheda di tipo $JOB, che specicava il tempo di esecuzione massimo previsto(in minuti), il numero di conto su cui doveva venire addebitato il conto dell'elaborazione, ed il nome del programmatore. Poi c'era una scheda di tipo $FORTRAN, che richiedeva al sistema operativo di caricare il compilatore FORTRAN dal nastro del sistema, dopo questa scheda veniva il programma da compilare, quindi una scheda di tipo $LOAD che comunicava al sistema operativo che il programma oggetto appena compilato doveva essere caricato per l'esecuzione, c'era poi una scheda di tipo $RUN, che richiedeva al sistema operativo di mantenere in esecuzione il programma con i dati contenuti sulle schede immediatamente seguenti. Inne, una scheda di tipo $END contrassegnava la ne del job. //$JOB Prova, USER=Orgest,CPU=50,MEM=30 //COM FORTRAN PROGprova ... ... (Programma Fortran) ... //LINK PROGprova,Sub1,Sub2,Fortlib //EXECUTE PROGprova ... ... (dati per il programma) ... //END 13 3 La seconda generazione(1955-1965): Le schede che compongono il job sono di due tipi: schede dati (istruzioni e dati del programma) e schede controllo (contenenti comandi JCL) I grandi calcolatori della seconda generazione furono principalmente usati per calcoli scientici ed ingegneristici, come per esempio nella risoluzione di sistemi di equazioni dierenziali ecc. Per lo più furono programmati in fortran ed in linguaggio assmbler. I sistemi operativi tipici furono FMS(Fortran Monitor System) e IBSYS, sistema operativo dell'IBM per i 7094. 3.2 Fortran Monitor System Prima del sistema operativo IBSYS, IBM produsse per i calcolatori 709, 7090 e 7094 un sistema operativo su nastro magnetico il cui unico scopo era quello di compilare i programmi FORTRAN. Il sistema operativo FMS e il compilatore FORTRAN si trovavano sullo stesso nastro. 3.3 IBSYS Il sistema operativo IBSYS fu creato per la serie 7090/7094 da IBM, e consisteva in un insieme di programmi commerciali e scientici sotto il controllo del 7090-SV-918. 14 4 La terza generazione (1965-1980) 4.1 Anni 60 All'inizio degli anni 60 i calcolatori si dividevano principalmente in due gruppi, da una parte c'erano i grossi calcolatori scientici orientati alla parola che venivano usati per i calcoli scientici ed ingegneristici , come l'IBM 7094, dall'altra c'erano i calcolatori commerciali, orientati al carattere che venivano usati dalle dite per ordinare dati sul nastro o per le stampe (dalle assicurazioni o le banche), come l'IBM 1401. Sviluppare e mantenere due distinte linee di calcolatori era un attività molto dispendiosa per le dite che costruivano calcolatori, inoltre molti clienti acquistavano all'inizio una macchina piccola e in seguito una macchina più veloce e più potente. L'IBM cerco di risolvere tutti questi problemi con l'introduzione del Sistema 360 (System/360). Il Sistema 360 era costruito da una serie di macchine, compatibili fra di loro a livello software, che andavano da macchine piccole, come il 1401, a macchine molto più potenti come il 7094. Queste macchine dierivano solamente nel prezzo e nelle prestazioni (quantità massima di memoria, velocità del processore ecc). Tutte le macchine avevano la stessa architettura e lo stesso insieme di istruzioni, quindi i programmi scritti per una macchina potevano girare per tutte le altre. 4.2 IBM System/360 Nei primi anni 60 i sistemi low-end e high-end di IBM erano incompatibili fra loro. I programmi non potevano essere trasferiti facilmente da un calcolatore ad un altro, ed i sistemi usavano periferiche diverse. IBM ha concluso che tutti questi fattori aumentavano i costi di produzione dei calcolatori sia per quanto riguardava il hardware che per quanto riguardava il software, portando ad avere dei costi insostenibili e facendo diminuire le vendite dei calcolatori sempre di più . Nel 1964, la società , ha annunciato il sistema 360, che consisteva in una gamma di calcolatori compatibili fra loro, che utilizzavano tutti le stesse periferiche e le maggior parte dei programmi girava su tutti i calcolatori senza nessuna modica. Il sistema 360 fu la prima linea di calcolatori ad usare la tecnologia dei circuiti integrati, che portò vantaggi molto rilevanti, in termini di prezzo e soprattutto di prestazioni, rispetto alla seconda generazione di macchine che erano costruite a partire da singoli transistor. Il sistema 360 fu un successo immediato e l'idea della famiglia di compilatori compatibili fra loro fu immediatamente adottata da tutti gli altri principali costruttori di calcolatori. Originariamente l'IBM aveva destinato a questa gamma di calcolatori un solo sistema operativo, l'OS/360. L'idea di avere una singola famiglia di macchine, con lo stesso sistema operativo, fu contemporaneamente una grande forza, ma anche una grande debolezza. L'intenzione era che tutto il software, compreso il sistema operativo, OS/360, dovesse girare su tutti i modelli dei calcolatori: sui piccoli sistemi, che presto sostituirono i 1401, per copiare 15 4 La terza generazione (1965-1980) le schede sul nastro, e sui sistemi molto grossi, che sostituirono i 7094, per fare eseguire compiti molto più dicili. Quindi tutto il software doveva funzionare ugualmente sia sui sistemi con poche periferiche che sui sistemi con molte periferiche, doveva lavorare in ambiente scientico e commerciale. Il risultato dello sforzo di IBM nel scrivere l'OS/360 fu un sistema operativo enorme, molto complesso, composto da milioni di righe di codice assembler e con migliaia di errori. Successivamente ci furono delle nuove versioni, del sistema operativo, che cercarono di correggere gli errori, ma ogni nuova versione correggeva alcuni errori introducendone molti altri, da cui la decisione di fare un altro sistema operativo più semplice per i calcolatori con una memoria più limitata. Con la terza generazione dei calcolatori abbiamo l'introduzione di una nuova tecnica, la multiprogrammazione. 4.3 Multiprogrammazione I sistemi batch per la multiprogrammazione fanno uso su determinate caratteristiche del calcolatore. La caratteristica aggiuntiva più notevole per la multiprogrammazione è l'hardware di supporto agli interrupt di I/O e al DMA. Con l'I/O interrupt driven o il DMA, il processore può inviare un comando di I/O per un job e procedere con l'esecuzione di un altro job mentre l'I/O viene svolto dal controllore del dispositivo. Quando l'operazione di I/O è completa, il processore viene interrotto e il controllo è passato a un programma di gestione dell'interrupt del sistema operativo. Il sistema operativo trasferirà poi il controllo a un altro job. I sistemi operativi multiprogrammati sono discretamente sosticati se paragonati ai sistemi operativi monoprogrammati. I job pronti per l'esecuzione devono essere mantenuti nella memoria centrale, il che richiede una forma di gestione della memoria. Inoltre, se parecchi job sono pronti per l'esecuzione, il processore deve decidere quale mandare in esecuzione, il che richiede algoritmi di schedulazione. 4.4 Il Timesharing Il Desiderio di un tempo di risposta veloce preparò la strada al timesharing (condivisione di tempo), una variante della multiprogrammazione nella quale ogni utente aveva a disposizione un terminale. Dal momento che i primi computer mainframe erano estremamente costosi, non era possibile garantire l'accesso esclusivo ad un singolo utilizzatore per l'uso in modo interattivo. Dal momento che con questa modalità di utilizzo i computer trascorrevano molto tempo in attesa dell'input dell'utente, si pensò di far utilizzare a più utenti lo stesso elaboratore, utilizzando i tempi morti per servire i diversi utenti a rotazione. Allo stesso modo, le piccole porzioni di tempo che trascorrevano nell'attesa dei dispositivi, quali dischi, nastro magnetico o rete potevano essere utilizzati per servire i vari utenti. I computer capaci di fornire servizi in time-sharing normalmente venivano impiegati per lavori in batch durante la notte. L'esecuzione della CPU viene suddivisa in quanti temporali. Il time-sharing è l'estensione logica della multiprogrammazione, dove più utenti possono, con i loro programmi in esecuzione, interagire con il sistema centralizzato ciascuno con un proprio terminale. La CPU del computer centrale viene utilizzata per rispondere alle richieste dei singoli utenti, passando rapidamente da uno all'altro (context switch) dando così l'impressione ad ognuno di avere a disposizione il computer centrale interamente per sé ovvero dando l'impressione di un processamento multiplo in parallelo di più processi verso più utenti. 16 4 La terza generazione (1965-1980) 4.5 CTSS Al inizio degli anni 60, l'IBM 7094 era uno dei calcolatori più veloci , capace di sommare numeri in virgola mobile con una velocità di 0,35 milioni di istruzioni al secondo. Il 7094 aveva una memoria da 36 bit orientato alla parola, e arrivava a costare intorno ai $3.5 milioni di dollari. Dal momento che questi calcolatori erano estremamente costosi, non era possibile garantire l'accesso esclusivo ad un singolo utilizzatore, inoltre questi computer trascorrevano molto tempo in attesa dell'input dall'utente, si penso allora di far utilizzare a più utenti lo stesso elaboratore, utilizzando i tempi morti per servire diversi utenti, dando vita in questo modo al time-sharing. Il primo vero sistema timesharing, CTSS(Compatible Time Sharing System) fu sviluppato al MIT su un 7094 appositamente modicato. Lo sviluppo del CTSS inizio nel 1961, guidato da Corby (Fernando Josè Corbatò), Bob Daley e Marjorie Merwin-Daggett. Una versione di CTSS a 4 utenti fu dimostrata in un IBM 709 nel novembre del 1961 al MIT. Questo sistema poteva supportare quattro terminali direttamente collegati ad un canale I/O del computer. Lo sviluppo del sistema operativo continuo anche nel 63, espandendo sempre di più le funzionalità del sistema mentre i servizi per gli utenti del MIT iniziarono nell'estate del 1963. Il primo tentativo di introduzione commerciale del sistema in time-sharing, che poi si diuse ampiamente alla ne degli anni 60 è stato il Darmouth Time Sharing System o DTSS, che è stato implementato per la prima volta al Dartmouth College nel 1964. Il CTSS dimostrò che il sistema a partizione del tempo era nalmente possibile, inoltre possedeva una delle prime utility per formattazione testi completamente computerizzati. In CTSS fu implementato un primo sistema di scambio di messaggi tra gli utenti, è quindi un antenato del sistema ad email. C'era un comando dello RUNCOM che eseguiva una lista di comandi presenti in un le, questo gettò le basi per il futuro shell scripting Unix. Presentava un complesso algoritmo di scheduling che divideva i processi in categorie secondo il loro utilizzo di CPU e favoriva processi brevi, in particolare quelli I/O bound. 4.6 MULTICS Multiplexed Information and Computing Service è un sistema operativo time-sharing il cui sviluppo è iniziato nel 1964 presso il MIT sotto la guida di Fernando Corbató e in collaborazione con i colossi dell'industria statunitense Bell Labs e General Electric. Multics era sviluppato inizialmente sul mainframe della General Electric, il GE-645 e tra gli sviluppatori c'era Ken Thompson che con l'esperienza su questo computer decise prima per il porting di un gioco e poi per la creazione di un altro sistema operativo meno ambizioso e complesso, Unix. 17 4 La terza generazione (1965-1980) Multics, il padre di Unix e il nonno di Linux Multics ha però continuato sulla sua strada tra alti e bassi venendo impiegato con successo commercialmente in decine di enti governativi, aziende e centri di ricerca tra cui l'MIT stesso dove era usato per ni di ricerca e amministrativi. I Bell Labs si ritirarono dal progetto nel 1969 e l'anno dopo anche General Electric decise di abbandonare Multics cedendolo alla Honeywell che già lo supportava sui suoi modelli 6180. Honeywell ha continuato a sviluppare e commercializzare Multics sino al 1985 e tra i suoi clienti nei primi anni '80 c'era il sistema universitario francese. La consociata Bull se ne è assunta la responsabilità prima in Europa e poi anche negli USA no al 2000 quando, alla ne di ottobre, è stato spento l'ultimo sistema Multics. Multics è stato il primo OS con un lesystem gerarchico: i nomi dei le già negli anni '60 e '70 potevano essere di qualsiasi lunghezza e caratteri. Inoltre le e directory potevano avere più nomi ed esistevano già i link simbolici alla directory. Altro primato di Multics è il dynamic linking e cioè la possibilità che un processo in corso potesse richiedere e caricare altri segmenti con codice da eseguire. Inoltre con Multics c'era la possibilità di ricongurare l'hardware mentre era acceso. 4.7 UNIX ® Le origini di Unix risalgono alla metà del 1960, quanto AT&T, Honeywell, General Electric, e il Massachusetts Institute of Tecnology attivarono il progetto MULTICS (Multiplexed Information and Computing Service), nanziato dall'Agenzia Progetti di Ricerca Avanzata Dipartimento della Difesa ARPA, MULTICS era un sistema modulare composto da banchi di processori ad alta velocità, memoria, componenti di comunicazione. Lo scopo era fornire servizi informatici 24 ore al giorno per 365 giorni all'anno con la possibilità di aumentare la potenza aggiungendo componenti. MULTICS fu progettato con in mente la sicurezza militare, sia per la resistenza agli attacchi esterni che per proteggere ogni utente dagli altri utenti. MULTICS supportava il concetto di sicurezza multilivello. MULTICS era ingrado di evitare che le informazioni appartenenti ad un livello potessero nire nelle mani di un altro livello. 18 4 La terza generazione (1965-1980) Nel 1969 MULTICS era molto indietro rispetto al programma. I suoi creatori avevano promesso molto di più di quello che avrebbero potuto fare nel tempo previsto per il progetto e vista anche la distanza tra i tre centri di sviluppo del progetto decidono di abbandonare. Quell'anno Ken Thompson un ricercatore AT&T che aveva lavorato sul progetto MULTICS, rilevò un computer PDP-7 non usato per proseguire in proprio le idee di MULTICS. A Thompson si unì presto un altro partecipante del progetto MULTICS Dennis Ritchie. Peter Neumann suggeri il nome UNIX per il nuovo sistema. Il nome era un gioco di parole sul nome MULTICS che ironizzava sul fatto che dove MULTICS non era riuscito a fare molte cose UNIX sarebbe riuscito a fare una cosa: eseguire programmi. Il concetto di massima sicurezza non faceva parte di questo obbiettivo. Lo scopo minore era tutto l'impulso che i ricercatori necessitavano, una prima versione di UNIX operativa molti mesi prima di MULTICS. Entro un anno Thompson, Ritchie ed altri riscrivono UNIX per il nuovo computer PDP-11 della Digital. Il nuovo sistema era costituito da programmi chiamati tools, ognuno dei quali eseguiva una specica funzione, mentre la loro combinazione permetteva di risolvere problemi complessi. AT&T creò uno UNIX Support Group (USG) per lo sviluppo e il commercio uciale di UNIX. USG rilascia velocemente la releasse dello UNIX AT&T, chiamato System V , con una nuova modalità di licenza imposta da AT&T. System III & V family 19 5 La quarta generazione (1980-2000) 5.1 Personal Computer L'avvento dei circuiti integrati su larga scala LSI (Large Scale Integration) portò, alla ne degli anni 70, alla costruzione dei primi personal computer (inizialmente chiamati microcalcolatori), molto simili ai minicalcolatori come il PDP-11, ma più economici. Nel 1974 la INTEL costruì il microprocessore 8080 e Gary Kildall costruì un controllore per oppy disk che collegò all'8080 realizzando il primo microcalcolatore con disco e scrisse il sistema operativo basato su disco CP/M (Control Programm for Microcomputer). Kildall fondò la Digital Research e no al 1980 il CP/M domina il mercato dei microcalcolatori. Nel 1980 IBM progetta il PC IBM e chiede a Bill Gates la licenza del suo interprete BASIC e un sistema operativo adatto. Gates suggerì di contattare la Digital Research, ma vista la dicoltà di contrattazione con Kildall, venne anche spronato da IBM a realizzare un nuovo OS. Microsoft acquistò allora il DOS (Disk Operative System) da una piccola azienda e lo orì con l'interprete BASIC alla IBM che accettò anche se fu praticamente costretta a riscriverne buona parte, visto il numero impressionante di bug. Il successo dipese anche dalla scelta di Gates di vender MS-DOS alle aziende che producevano computer perché formasse un unico pacchetto con la macchina, mentre Digital Research vendeva CP/M direttamente agli utenti. Le successive versioni di MS DOS avevano caratteristiche più avanzate prese anche da UNIX. Microsoft vendette anche un versione di UNIX per microcalcolatore detta XENIX. Una nota particolare merita Linux, apparso per la prima volta nel 1991, che, nato su iniziativa di un giovane studente di nome Linus Torvalds, che intendeva scrivere una versione professionale gratuita di un clone di UNIX detto MINIX, ha ben presto ricevuto l'appoggio di numerosi sviluppatori sparsi in tutto il mondo, che hanno potuto contribuire al suo sviluppo soprattutto grazie ad Internet. L'aermazione di questo SO è storia recente ed è tuttora in crescita. Questi sistemi erano basati su comandi da tastiera, ma Engelbart inventò la GUI (Graphical User Interface) con icone, menù, nestre e l'uso del mouse e Jobs, inventore del calcolatore Apple sfruttò questa idea e produsse Macintosh ottenendo un enorme successo perché rese il PC accessibile a tutti. Microsoft, inuenzata da questo, produsse Windows, un sistema operativo che inizialmente (1985-1995) veniva eseguito sopra MS-DOS ma che con le versioni 95 e poi 98 incorporò quasi tutte le caratteristiche del sistema operativo, sbarazzandosene denitivamente con la versione XP. Anche UNIX ha un sistema a nestre detto X windows. Uno sviluppo interessante che iniziò a prendere piede durante la metà degli anni 80 è la crescita di reti di PC sui quali giravano i primi sistemi operativi di rete e i sistemi operativi distribuiti. 20 5 La quarta generazione (1980-2000) Personal Computer 21 6 Quinta generazione (2000-..) 6.1 Web e Mobile Dal boom di Internet al settore mobile: ecco le nuove sde per l'informatica che non potevano non interessare il settore dei sistemi operativi. Una prima ipotesi, cavalcata dai colossi del Web come Google, è stata quella di creare un OS light browser-based che trasportasse l'utente in una sorta di universo web in cui tutto si può fare attraverso internet ed il dispositivo diventa un semplice terminale. In realtà questa tesi sembra quasi del tutto accantonata in favore dei nuovi OS Mobile che ormai rappresentano un buon connubio tra leggerezza e funzionalità, andandosi a posizionare su tutta una serie di dispositivi pensati per permettere all'utente una connessione continua alla rete ma anche la possibilità di utilizzare applicazioni decisamente complete e funzionali. I sistemi operativi classici (desktop) non restano certo a guardare e, oltre ad una sempre maggiore integrazione con le reti, guardano a nuove frontiere: basti pensare alle annunciate funzionalità di riconoscimento facciale o ai nuovi App Market da cui scaricare ed installare velocemente nuove applicazioni. 22 7 Windows OS 7.1 Nascita della Microsoft Dopo alcuni anni passati a utilizzare per i test il computer della scuola, provocando diversi guasti, Bill Gates e Paul Allen fecero alcuni lavori per le società che consegnavano alle scuole i computer, riconoscendo le loro competenze informatiche. Il vero e primo passo verso il successo però, avvenne nel 1974, quando la General Electric produsse il primo kit per microcomputer Altair8800. Bill Gates non perse tempo e contattò la General Electric per proporre software specico per Altair8800, la quale accolse felicemente Bill e Paul. Grazie a questo contatto la coppia si trasferì ad Albuquerque (Nuovo Messico), e nell'aprile del 1975 fondò la Microsoft Corporation. 7.1.1 MS-DOS Nel 1980 IBM stava cercando un sistema operativo per la sua nuova famiglia di computer PC IBM. Tra i vari candidati allo sviluppo di tale sistema vi era la Digital Research di Gary Kildall, la quale però mandò in fumo la trattativa, decidendo di non rmare l'accordo di non divulgazione del codice sorgente. Continuando la ricerca, IBM arrivò anche alle porte della Microsoft, la quale non esitò a contattare la Seattle Computer Products, che pochi mesi prima aveva scritto un clone a 16 bit del CP/M chiamato QDOS (o 86- DOS), per comprare il sistema operativo Disk Operative System. La Microsoft acquistò il DOS, revisionò i sorgenti e li consegnò a IBM la quale si ritenne soddisfatta. Essendo però il DOS un prodotto aetto da svariati bug, che vennero corretti da IBM, i nuovi computer IBM si chiamarono IBM PC-DOS 1.0 e vennero licenziati congiuntamente da IBM e Microsoft. Il DOS venne poi revisionato da Microsoft che ne sviluppò diverse versioni sempre con il nome MS-DOS. 7.2 Microsoft Windows Dopo lo sviluppo di MS-DOS la Microsoft si dedicò allo sviluppo di un sistema operativo con una interfaccia graca. Infatti nel 1984 Microsoft annunciò che stava sviluppando Windows, un'interfaccia graca per il suo sistema operativo MS-DOS che era venduto con i PC IBM. Grazie a una collaborazione con Apple, il team Microsoft copiò l'interfaccia dal sistema Macintosh. Apple concesse una licenza di distribuzione a Microsoft impedendo ad esso di 23 7 Windows OS utilizzare le nestre aancate, prerogativa del Mac. Infatti nella versione di Windows 1.0 le nestre occupavano tutto lo schermo. Successivamente Windows adottò il sistema delle nestre aancate e venne citata in giudizio da Apple; l'esito della trattativa intrapresa non è del tutto noto, poichè il 25 luglio 1989 il giudice William Schwarzer respinse tutte le accuse tranne 10. 7.2.1 Il successo di Windows Microsoft Windows e arrivata ad ottenere un successo enorme con Windows 3.0, rilasciato nel 1990. Windows 3.0 aveva un multitasking migliore rispetto a Windows/386, grazie all'introduzione della memoria virtuale ed ai device dirver virtuali. Questi miglioramenti resero i PC dei seri concorrenti dei Macintosh della Apple, ad un costo nettamente più basso. Il 22 maggio 1990 Microsoft annuncia il lancio di Windows 3.0, seguito nel 1992 da Windows 3.1. Insieme, questi due sistemi operativi vendono 10 milioni di copie nei primi due anni, tanto che Windows diventa il sistema operativo più diuso. Questo successo planetario spinge Microsoft a riesaminare i suoi piani. La memoria virtuale migliora la graca. Nel 1990, l'aspetto di Windows comincia ad assomigliare a quello che conosciamo oggi. Windows può contare su prestazioni notevolmente migliorate, una graca avanzata a 16 colori e icone ancora più intuitive. Una nuova ondata di PC con processore 386 dà una forte spinta alla diusione di Windows 3.0. Infatti, grazie al supporto completo del processore Intel 386, l'esecuzione dei programmi è molto più veloce. In Windows 3.0 compaiono per la prima volta Program Manager, File Manager e Print Manager. Dal primo sistema operativo, Microsoft, portò ad evoluzione il suo sistema, in modo particolare introdusse in Windows 95 un nuovo gestore della graca chiamato explorer, con l'innovativa barra delle applicazioni, dal quale poi prenderanno spunto i sistemi graci KDE e GNOME di GNU/Linux. Questo passo è di rilevante importanza poichè l'interfaccia graca introdotta da Microsoft fu il frutto di un vero e proprio studio approfondito e rigoroso di specialisti, che osservando come veniva utilizzato il computer dettarono le linee guida per l'ergonomia e l'usabilità dell'interfaccia. Il sistema operativo è in continuo sviluppo se pur le API grache non hanno subito sostanziali modiche. La tipica schermata di Windows 3.1 24 7 Windows OS 7.2.2 Windows Vista L'altro vero passo innovativo è avvenuto con l'introduzione di Windows Vista con una graca completamente nuova rispetto ai suoi predecessori. Le vendite al pubblico di questo SO incominciarono il 30 gennaio del 2007. Windows Vista fu riscritto da 0, usando come base il codice di Windows Server 2003. Le principali innovazioni di Windows Vista sono l'uso di un nuovo motore di rendering per le nestre, basato sulle funzionalità 3D delle moderne schede video, e un profondo rinnovamento della shell Windows Explorer. 7.2.3 Windows 7 Windows 7 e il successsore di Windows Vista, rilasciato da Microsoft il 22 ottobre 2009. Windows 7 è basato sullo stesso kernel di Vista e ha in comune con il suo predecessore anche la shell graca Windows Aero. A dierenza di Vista, Windows 7 ha migliorato la gestione della memoria, dei Driver e risulta molto più stabile del suo predecessore. Windows 7 fu prodotto in varie versioni, fra cui una versione mobile chiamata Windows Phone Mango e una versione per tablet PC. 7.2.4 Windows 8 Windows 8 e il successore di windows 7, uscito il 26 ottobre 2012. Windows 8 è un prodotto Windows completamente reinventato, dal chipset all'esperienza utente. Il sistema funziona sia come tablet per l'intrattenimento che come un PC dalle funzionalità complete per garantire la massima ecienza ed è caratterizzato da un'interfaccia completamente nuova, compatibile sia con la modalità touch che con mouse e tastiera. In Windows 8 sono stati introdotti miglioramenti al familiare desktop di Windows, con una nuova barra delle applicazioni e una gestione dei le semplicata. Windows 8 è caratterizzato inoltre dalla schermata Start, con riquadri che consentono di avere sempre contatti, le, app e siti Web a portata di mano. Le app sono in primo piano, con accesso al Windows Store, integrato direttamente nella schermata Start, dove è possibile acquistarle. Oltre a Windows 8, Microsoft ha inoltre reso disponibile Windows RT, una versione di Windows eseguita su alcuni tablet e PC. Windows RT, pensato appositamente per dispositivi dal design elegante e con una lunga durata della batteria, esegue esclusivamente app del Windows Store e viene fornito con una versione integrata di Oce ottimizzata per i PC con touchscreen. 25 7 Windows OS Interfaccia graca di Windows 8 Timeline windows 26 8 Apple OS I soci fondatori di apple sono Steve Jobs, Steve Wozniak e Ronlad Wayne. Steve Jobs e Steve Wozniak, si conoscevano già dai tempi della scuola. Nei primi anni settanta costruiscono dei dispositivi chiamati Blue Box che permettevano di telefonare gratuitamente. Nella realizzazione del Blue Box, Steve Wozniak è stato la mente, mentre Jobs ha fatto in modo di pubblicizzare il prodotto, riuscendo a vendere una buona quantità. 8.1 Nascita della Apple Nel 1975 i due Steve iniziano a progettare il loro primo computer. All'inizio Wozniak progetta il suo computer sulla carta, perchè avrebbe voluto utilizzare il processore Motorola 6800, ma costava 170 dollari ed era un prezzo troppo elevato per le loro tasche. Nel 1976 la MOS Technologies commercializzò il chip 6502 al prezzo di 25 dollari, cosi Wozniak potè adattare i progetti basati sul processore 6800 di Motorola a questo nuovo processore. Il primo Apple I venne completato nel garage di casa Jobs nel 1976. L'Apple I viene venduto a 666,66 dollari ad un negozio di computer che ne acquisto 50 esemplari, tutti assemblati a mano dai due. Dopo aver venduto 50 esemplari dell'Apple I, un computer interamente costruito da Steve Wozniak e Steve Jobs, i due Steve , Wozniak iniziò a pensare agli sviluppi futuri, iniziando la progettazione e costruzione dell'Apple II. Il primo Aprile del 1976 steve Jobs e Steve Wozniak fondarono la Apple Computer Co. assieme al co-fondatore Ronald Wayne. 27 8 Apple OS Il primo logo della apple, disegnato interamente a mano dal co-fondatore della apple Ronald Wayne. All'interno dell'immagine si vede Isaac Newton mentre si dedica alla lettura di un libro all'ombra di un albero con attaccata una mela luccicante. Inoltre, in basso a sinistra, c'e una piccola scritta (Newton... A Mind Forever Voyaging Throught Strange Seas of Thought.... Alone) la cui traduzione italiana equivale a Newton, una mente sempre in viaggio attraverso strani mari di pensiero... da sola. La misterisoa frase deriva dal poema The Prelude, Book Third: Residence of Cambridge. Nel 1977 questo logo fu cambiato da Steve Jobs, con la mela morsicata con i colori del arcobaleno invertiti (Creato da Rob Janov), poichè ritenuto poco chiaro e non adatto ad essere rappresentato in formati di piccole dimensioni. Alla ne del 1976 l'Apple II era stato completato, era molto più avanzato di Apple I, ed era completo di alloggiamento per la scheda madre, oltre ad avere anche la tastiera. Il computer era dotato inoltre, di graca a colori e si poteva collegare a qualsiasi televisore. Nel 1978 Steve Jobs decise che l'Apple doveva comprare i brevetti e le idee della Xerox, poichè la Xerox stava svolgendo degli studi sulle nuove interfacce d'uso per utilizzare i computer. Xerox infatti aveva creato nel centro Xerox Parc, un computer chiamato Alto, che era il primo ad avere un'interfaccia utente graca (GUI), ed era controllato sia con la tastiera che con il Mouse. Nel 1980, Apple rilascia un nuovo computer, l'Apple III. l'Apple III fu il primo computer interamente progettato da Apple Computer, perchè i primi due erano stati sviluppati da Steve Wozniak. Questo computer aveva un processore da 2 Mhz, la RAM no a 256Kb, un Hard Disk esterno e un nuovo sistema operativo più avanzato, e costava dai 4340 ai 7800 dollari, in base alle prestazioni. 28 8 Apple OS Apple III Apple III non ebbe successo innanzitutto per il prezzo e anche perchè non era dotato di ventole di rareddamento. Nonostante il fallimento di Apple III, la società viene quotata in borsa, tanto che un anno dopo le azioni sono aumentate del 1700 %. Apple diventa l'azienda che cresce più rapidamente nella storia. Ad aprile del 1983 Steve Jobs contatta John Sculley, che era il presidente di PepsiCo, per proporgli il posto di CEO di Apple, che accettò. Si dice che Jobs abbia convinto Sculley a diventare CEO con queste parole: Vuoi continuare a vendere acqua zuccherata per il resto della tua vita? Oppure vuoi cambiare il mondo? . 8.1.1 Apple Macintosh Nel 1984 Apple commercializzò Macintosh, un sistema operativo altamente innovativo grazie all'utilizzo di una interfaccia graca ben funzionante. Grazie all'accesso nei laboratori della Xerox, Jobs era riuscito a mettere a bordo dei propri dispositivi il supporto per il mouse e l'interfaccia graca, vera e propria innovazione, sulla quale venne trasmesso anche uno spot diventato celebre. Tale spot venne trasmesso durante il Super Bowl del 1984, con la quale Apple accusava IBM di essere il Grande Fratello , e nella parte del liberatore si trovava, ovviamente, il Macintosh, o meglio l'innovazione signicativa del Macintosh: l'interfaccia graca. Le parole della pubblicità diventate famose furono: Il 24 gennaio Apple Computer presenterà il Macintosh. E vedrete perché il 1984 non sarà come il 1984 . Il Macintosh rilasciato nel 1984 era chiamato System 7, poichè non vi era la necessità di dare un nome al sistema che era strettamente legato al computer. Il nome venne creato quando Apple decise di commercializzare il sitema operativo anche singolarmente slegato dal calcolatore. 29 8 Apple OS Il Macintosh 128k (il primo Macintosh della storia) costava 2459$, era dotato di una rivoluzionaria interfaccia graca con icone di facile comprensione ed aveva 128Kb di memoria, mentre gli altri computer di allora possedevano soltanto 64Kb, quindi il Macintosh fu una vera rivoluzione. Macintosh 128k Il più grosso passo che Apple dovette compiere nell'evoluzione del sistema Macintosh avvenne quando i computer Apple passarono dal processore CISC Motorola 68000 (Complex instruction set computer) al RISC PowerPC (Reduced Instruction Set Computer) nel 1994 dovendo convertire tutto il sistema per il nuovo processore. Si introdusse così un emulatore in grado di far girare il codice assembler del motorola 68k sul nuovo processore, ma piano piano il codice venne convertito alzando le prestazioni del Mac. Nonostante i grandi sforzi di conversione, Apple era comunque indirizzata allo sviluppo di un nuovo sistema operativo. Se pur a buon punto, Mac OS era fortemente limitato da diversi problemi tra cui l'assenza di memoria protetta e la possibilità del multitasking con prelazione. Si presero in considerazione diverse alternative tra cui lo sviluppo di Copland, che doveva garantire multitasking preemptivo, memoria protetta e la piena retrocompatibilità con il software Mac preesistente. Copland doveva essere il Mac OS 8, ma a causa di una cattiva gestione del progetto, dovuta al massiccio lavoro per garantire la retrocompatibilità, portò ad enormi ritardi e alla ne all'abbandono del progetto. Dopo una valutazione da parte di Apple, la scelta migliore fu adottare un sistema esistente da modicare opportunamente. Così si scelse il sistema OpenStep di NeXT, una azienda fondata dallo stesso Steve Jobs. Grazie a questa scelta Jobs tornò a lavorare alla Apple con lo sviluppo del nuovo sistema. Il nuovo sistema doveva essere il connubio perfetto tra la solidità di Unix con l'interfaccia graca e le altre tecnologie ad alto livello del Mac OS. Il risultato fu il nuovo sistema operativo Mac OS X con il quale venne ribattezzato il vecchio Mac OS come Mac OS Classic, tuttora utilizzabile grazie a un emulatore presente su Mac OS X. 30 8 Apple OS 8.2 L'inizio del declino Nel 1985 Steve Wozniak lascia Apple Computer, Inc. Durante il 1985, iniziano a vericarsi dei contrasti tra Jobs e Sculley. Jobs sosteneva che Sculley non capisse niente di computer e che potesse danneggiare la società, ma quando Sculley lo seppe, pensò che Jobs doveva essere tenuto sotto controllo per evitare di causare danni all'interno della società. Il 31 maggio 1985 Sculley toglie a Steve Jobs tutte le responsabilità operative, e le decisioni di Steve non inuirono più alle scelte della società, Steve non contava più niente per Apple. Il 17 settembre 1985 Steve Jobs prende la pesante decisione di abbandonare la società da lui creata, abbandona Apple Computer, Inc. Da questo momento in poi, Apple entra anno dopo anno, in un periodo di profonda crisi, in anni molto bui. Il 24 ottobre 1985 John Sculley rma un contratto con Microsoft in cui Apple permetteva l'uso di alcuni elementi graci dell'interfaccia del Macintosh alla società di Bill Gates, e in cambio Microsoft, avrebbe sviluppato Word ed Excel per il Macintosh. Poco dopo Steve Jobs fonda la NeXT Inc. società fondamentale per la rinascita di Apple. Inoltre Steve Jobs compra gli studi di animazione digitale computerizzata di George Lucas, la Pixar ottenendo inoltre un accordo con la Disney. Nel 1994 Apple era davvero in una grave crisi nanziaria, in quanto vendeva prodotti solo per uso professionale, dedicati soprattutto alle aziende, e non era disponibile nessuna macchina consumer . Apple, disperata, decide di concedere in licenza il proprio sistema operativo, sperando di riprendersi provando a guadagnare come faceva Microsoft. Il tentativo fu però un insuccesso. Apple essendo in grave crisi si accorge che non può continuare a vendere sempre lo stesso sistema operativo, che si basa principalmente sulla potenza dell'interfaccia graca e decide di acquistare l'azienda con il sistema operativo migliore e più innovativo di quegli anni, su cui basare le future versioni di Mac OS, acquistando NeXT Computer, Inc. per 430 milioni di dollari. L'acquisto di NeXT permettè a Steve Jobs, il fondatore sia di Apple che di NeXT, di rientrare in Apple Computer, Inc. Nel 1997 Steve Jobs per salvare Apple (che ormai tutti credevano andasse in fallimento) dovette chiedere proprio al suo rivale, Bill Gates di Microsoft, di acquistare Apple. Bill Gates comprò circa il 7-8% di Apple, per 150 milioni di dollari, e Apple doveva in cambio includere nelle copie di Mac OS il browser Internet Explorer per i 5 anni avvenire, così come Microsoft si impegnava a sviluppare l'Oce anche per Mac OS per i prossimi 5 anni. Il 16 settembre 1997, Steve Jobs diventa a tutti gli eetti il CEO di Apple, ma ad una condizione: diventando CEO Steve Jobs, accettava di guadagnare simbolicamente solo 1% annuo. 8.3 MAC OS X Nel 2000, Apple presenta Mac OS X, il sistema operativo basato su NeXTStep. Questo sistema coniuga la sicurezza e stabilità di un sistema Unix con la semplicità e eleganza tipica dei prodotti Apple. Nel maggio del 2001, dopo molte speculazioni, Apple annuncia l'apertura di una linea di propri negozi: gli Apple Store. I negozi vengono creati con due obiettivi fondamentali: evitare un ulteriore riduzione della quota di mercato e fare una seria concorrenza ai prodotti di terze parti, che riducevano i guadagni derivanti dagli accessori. Nell'ottobre del 2001 Apple presenta l'iPod, un lettore di musica digitale portatile. Essendo basato su un mini hard disk, l'iPod è dotato di una elevata capacità di memorizzazione. 31 8 Apple OS Il 6 giugno 2005 il CEO di Apple Steve Jobs annuncia che l'azienda nel medio termine (2 anni) intende abbandonare totalmente i processori PowerPC e utilizzare esclusivamente i processori x86 prodotti da Intel. La compatibilità del software sarà ottenuta tramite la ricompilazione dei programmi e tramite l'utilizzo di un emulatore software chiamato Rosetta. Attualmente la Apple e arrivata a rilasciare, il 25 luglio 2012 (al pubblico), l'OS X 10.8 Mountain Lion. 32 9 GNU/Linux Se non sono per me stesso, chi sarà per me? E se sono solo per me stesso, che cosa sono? E se non ora, quando? Hillie La decisione di avviare il progetto GNU si basò su uno spirito simile . Richard Stallman cominciò la sua carriera al MIT nel 1971, in un periodo in cui il software veniva utilizzato da molte compagnie private ed i programmatori non erano quasi mai soggetti a un contratto di non divulgazione. Il software veniva utilizzato in modo molto simile all'attuale software libero, senza però nessuna regola scritta che ne sancisse le modalità d'uso, cioè senza nessuna licenza. Già nel 1980, la quasi totalità del software in circolazione, era stato sostituito dal software proprietario. Stallman, confrontandosi con le conseguenze del cambiamento, si rese conto che l'avvento del software proprietario, ha l'eetto di impedire ai programmatori di collaborare tra loro. Stallman stava vedendo morire lentamente l'etica hacker e quell'attitudine di metterci le mani sopra, di migliorare e condividere il software. 33 9 GNU/Linux 9.1 L'inizio del progetto Nel 1983 Stallman lasciò il suo lavoro al MIT per intraprendere lo sviluppo di un nuovo sistema operativo completamente libero, che permettesse a chiunque di leggere il codice sorgente, modicarlo e ridistribuirlo. Si poteva così risolvere il problema etico o legale di non poter utilizzare del software poiché chi l'aveva scritto, aveva voluto rendere proprietario i propri programmi, come ad esempio UNIX. Il manifesto venne pubblicato il 27 settembre 1983, dando cosi il via al movimento del software libero. Lo sviluppo del sistema iniziò nel 1984 sotto il nome di GNU, acronimo ricorsivo che signica GNU is not Unix. Legate allo sviluppo del progetto vennero anche create delle licenze ad-hoc per il rilascio del software e della documentazione: la licenza GNU GPL (GNU General Public License) la GNU FDL (GNU Free Documentation License) le quali sanciscono e proteggono, secondo Stallman, le libertà fondamenti che permettono l'uso e lo sviluppo collettivo e naturale del software. 9.2 Software GNU e il sistema GNU GNU e un acronimo ricorsivo che signica GNU's Not Unix (GNU non è Unix), un astuto gioco di parole per prendere le distanze da un sistema operativo proprietario a pagamento chiamato Unix, a cui GNU si ispirava. Nel 1990 il sistema GNU aveva già a sua disposizione un editor di testo, emacs, un compilatore, il GCC (GNU C Compiler), e quasi tutte le funzioni, librerie e utility del sistema Unix. La parte che però mancava era il kernel, la parte fondamentale del sistema, poiché il kernel HURD, sviluppato dal progetto GNU, è tuttora in via di sviluppo, ma non ha ancora raggiunto una maturità tale da garantire adabilità. Fu così che divenne fondamentale l'intervento di Linus Torvalds, che nel 1991 scrisse il kernel linux e lo rilasciò sotto licenza GNU GPL, dopo una disputa con il professor Andrew Tanenbaum. Quest'ultimo aveva scritto il sistema operativo Minix per scopi didattici, ma distribuiva il sistema sotto una licenza che non permetteva le modiche se non autorizzate dall'autore. Fu così che Torvalds decise di scrivere un kernel simile a Unix e ispirato a Minix ma con una licenza veramente libera. 34 9 GNU/Linux In realtà il nome dato da Linus alla sua invenzione fu Freax (da freak = mostriciattolo, inoltre la tradizione impone che un kernel unix-like nisca con x) ma questo nome venne poi modicato dalla persona incaricata da Torvalds di pubblicarlo su internet. È grazie a Linux che oggi possiamo utilizzare una versione del sistema GNU, naturalmente combinarli fu un lavoro notevole. Attualmente Linus Torvalds lavora per conto dell'OSDL (Open Source Development Lab) per la manutenzione del kernel linux. Grazie all'unione del kernel linux e del progetto GNU nel 1992 venne rilasciato, sotto licenza GPL, il sistema GNU/Linux. Il progetto GNU e il sistema GNU/Linux, insieme alle licenze GNU, saranno fondamentali per la losoa open source e il software libero. Infatti la diusione del sistema porta anche alla diusione delle sue caratteristiche peculiari, cioè la sua totale libertà. Richard Stallman fonda anche la Free Software Fondation con la quale dichiara le 4 libertà che deniscono un software libero: 1. Libertà di eseguire il programma per qualsiasi scopo 2. Libertà di studiare il programma e modicarlo 3. Libertà di copiare il programma in modo da aiutare il prossimo 4. Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga benecio 35 9 GNU/Linux 9.3 Free come libero Il termine "free software" (il termine free in inglese signica sia gratuito che libero) a volte è mal interpretato: non ha niente a che vedere col prezzo, si tratta di libertà. Ecco, dunque, la denizione di software libero. Un programma è software libero per voi, che ne siete un generico utente, se: l'utente ha la libertà di eseguire il programma come desidera, per qualsiasi scopo; l'utente ha la libertà di modicare il programma secondo i propri bisogni (perché questa libertà abbia qualche eetto in pratica, è necessario avere accesso al codice sorgente del programma, poiché apportare modiche ad un programma senza disporre del codice sorgente è estremamente dicile); l'utente ha la libertà di distribuire copie del programma, gratuitamente o dietro compenso; l'utente ha la libertà di distribuire versioni modicate del programma, così che la comunità possa fruire dei miglioramenti apportati. Poiché "free" si riferisce alla libertà e non al prezzo, vendere copie di un programma non contraddice il concetto di software libero. In eetti, la libertà di vendere copie di programmi è essenziale: raccolte di software libero vendute su CD-ROM sono importanti per la comunità, e la loro vendita è un modo di raccogliere fondi importante per lo sviluppo del software libero. Di conseguenza, un programma che non può essere liberamente incluso in tali raccolte non è software libero. A causa dell'ambiguità del termine free , si è cercata a lungo un'alternativa, ma nessuno ne ha trovata una valida. La lingua inglese ha più termini e sfumature di ogni altra, ma non ha una parola semplice e non ambigua che signichi libero; unfettered è la parola più vicina come signicato. Alternative come liberated , freedom e open hanno signicati errati o non sono adatte per altri motivi ( rispettivamente, liberato, libertà, aperto). Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer. -Richard Stallman Il sistema GNU/Linux come la maggior parte di sistemi operativi di spicco, adotta un interfaccia graca. Nel sistema vi sono due Window Manager principali che gestiscono l'interfaccia, Gnome, del progetto GNU, e KDE. 36 9 GNU/Linux Windows Manager KDE È possibile quindi dire che anche il sistema GNU/Linux sia ormai diventato un sistema operativo aperto a tutti, facilmente utilizzabile anche su computer desktop di privati, poiché l'interfaccia graca è intuitiva e di semplice utilizzo. Unendo ad essa un sistema stabile si ha il risultato di un sistema operativo con tutte le carte in regola per la competizione con i sistemi proprietari. Inoltre grazie alla libertà di GNU/Linux, molti sviluppatori si sono impegnati per lo sviluppo di questo sistema. Da diverse aziende, diverse losoe, diversi gusti ed esigenze software, sono nate tante versioni di GNU/Linux, chiamate distribuzioni. 9.4 Open Source Nel corso degli anni 80 e 90 il software libero ebbe una crescita piuttosto sostanziosa, ma ancora non aveva fatto breccia nel mondo del business e nelle grandi aziende che mal vedevano il movimento del free software. Alla parola inglese free possono essere infatti associati diversi signicati, dando origine ad una parola ambigua: può essere tradotta sia come gratis che come libero e questa ambiguità causò parecchie controversie all'interno delle grandi comunità. Inoltre la losoa che Stallman promuoveva mal s'addiceva ad una diusione anche in ambito aziendale del software libero poiché il termine free veniva associato a prodotti sì gratuiti, ma di bassa qualità (in ambito economico la parola gratuito è sinonimo di qualità inferiore). Proprio per favorire la diusione di licenze liberali nel mondo degli aari, Bruce Perence, Eric Raymond ed altri esponenti del software libero coniarono il termine Open Source e nel 1998 diedero vita al consorzio Open Source Initiative (OSI) per promuovere il nuovo termine. 37 9 GNU/Linux Ben presto fu evidente che l'Open Source apriva una breccia nel mondo del software libero in quanto tralasciava le questioni etiche e losoche: dal concetto del software libero per tutti e delle restrizioni sull'uso delle opere altrui, l'Open Source cercava di darne un'immagine più commerciale, più adatta alle logiche di mercato. La posizione del consorzio OSI si può racchiudere nelle seguenti frasi, citando il pensiero che si trova nella home page del sito del consorzio: mantenere la stessa licenza del software libero, mantenere le stesse pratiche collaborative e di conoscenza comune, ma estraniare il concetto di libertà e ideologia liberale di cui si faceva a fa ancora oggi portavoce Stallman. Come dissero gli stessi fondatori del termine Open Source, il buon marketing sta alla base del successo di un prodotto e l'utilizzo di questo termine ben s'addice alle numerose società software che vogliono migliorare i loro prodotti. A partire dal 1998 no ai nostri giorni, tantissime aziende e grandi multinazionali hanno abbracciato il fenomeno dell'Open Source. Un esempio lampante di come l'Open Source abbia dato linfa vitale a nuovi prodotti di successo è il noto browser Mozilla Firefox, nato dal rilascio del codice sorgente, sotto licenza Open Source, del famoso browser Netscape da parte del colosso statunitense America Online (AOL). Entrambi i movimenti, free software ed Open Source, hanno proseguito sui loro percorsi seguendo i rispettivi ideali, ma non per questo si sono chiusi ad ogni tentativo di collaborazione. Sebbene la FSF di Stallman rimanga ancora fortemente attaccata ai suoi forti principi di libertà informatica, entrambe le fondazioni collaborano per l'obiettivo comune della diusione del software libero e per l'uso di licenze compatibili. Oggigiorno, per risolvere i conitti etici e morali derivati da queste terminologie, si sta promuovendo l'uso di un nuovo acronimo, FLOSS (Free/Libre Open Source Software) con lo scopo di inglobare in un'unica denizione ogni genere di software open trascendendo eventuali connotati politici dei due termini. 38 9 GNU/Linux 9.5 Copyleft e la GNU GPL Il concetto di copyleft nasce dalle idee di Richar Stallman e della Free Software Foundation in opposizione al copyright. Tradotto signica "permesso d'autore" che si contrappone al "diritto d'autore". L'idea di base è che data un'opera sia possibile tutelare la paternità di quest'opera (quindi identicare il suo autore in modo indelebile) senza però limitare la libertà di distribuzione e circolazione dell'opera stessa. Il concetto di libertà di distribuzione di un'opera, si traduce in libertà di apportare modiche, copiarlo, regalarlo , o addirittura venderlo ma riconoscendo sempre gli autori e dando la stessa libertà di distribuire anche alle versioni derivate. Quindi esiste una grossa dierenza tra copyleft e pubblico dominio, poichè un programma di pubblico dominio potrebbe essere preso da qualcuno, modicato per renderlo diverso dalla versione originale e messo sotto copyright in questa versione modicata. Essendo di pubblico dominio, non esiste un copyright sull'opera che impedisce di farlo, ma tutto ciò non e possibile su un copyleft poichè esiste una sorta di copyright. Per mettere un'opera sotto copyleft occore dapprima creare un copyright, quindi aggiungere una licenza che permette di distribuire versioni integrali o modicate dell'opera con la condizione che anche le versioni distribuite mantengano copyright e licenza di distribuzione. licenza divengono inseparabili. Opera e La licenza copyleft più famosa è la licenza GPL, scritta da Richard Stallman nel 1989. 39 9 GNU/Linux La c rovesciata dentro un cerchio è il simbolo del copyleft. 9.6 Modalità di guadagno Lo sviluppo opensource ha tra le sue caratteristiche quello di essere quasi sempre gratuito, tanto da creare confusione tra alcuni che credono che opensource e gratuito siano sinonimi. Ci si potrebbe chiedere perchè delle persone si dedichino allo sviluppo di progetti senza remunerazione. In realtà, ci possono essere delle forme di guadagno e si può ricorrere ad una o più strategie per questo scopo. Il guadagno può arrivare dalle: 1. donazioni : lo sviluppatore dà la possibilità di fare delle donazioni non obbligatorie a chi usa il suo programma 2. servizio di supporto a pagamento : il programma è gratuito ma si paga per avere il supporto dello sviluppatore 3. sponsorizzazione : il programma o il sito che lo ospita può contenere delle publicità a diverse aziende che supportano economicamente lo sviluppatore 4. didattica : lo sviluppatore può guadagnare grazie all'organizzazione di corsi di apprendi- mento del prodotto che ha creato. 9.7 LAMP Nel settore server GNU/Linux è alla base dei server LAMP ( P P erl- L inux, A pache, M ySql e P HP- ython), che hanno raggiunto un'ampia popolarità tra gli sviluppatori web, e sono presenti nella maggior parte dei sistemi mondiali. 9.8 Debian Il Progetto Debian è composto da un gruppo di volontari provenienti da tutto il mondo, i loro sforzi sono concentrati verso la realizzazione di un sistema operativo composto interamente da software libero. 40 9 GNU/Linux Attualmente il principale prodotto del progetto è la distribuzione Debian GNU/Linux, che include il kernel del sistema operativo Linux e migliaia di applicazioni preimpacchettate. Sono supportati vari tipi di processori, inclusi Intel i386 e superiori, Alpha, ARM, Intel IA-64, Motorola 68k, MIPS, PA-RISC, PowerPC, Sparc (e UltraSparc), IBM S/390 e Hitachi SuperH. Il Progetto Debian è stato fondato ucialmente da Ian Murdock il 16 Agosto del 1993, e l'ha guidata no al marzo 1996. Il nome Debian è stato coniato dal fondatore del progetto, Ian Murdock, unendo il proprio nome e le prime tre lettere di quello della sua danzata (ora ex-moglie) Debra. Ian voleva che Debian fosse una distribuzione sviluppata apertamente, libera, nello spirito di Linux e di GNU. Debian è la sola distribuzione aperta a tutti, sviluppatori e utenti, che vogliono contribuire allo sviluppo. È l'unico signicativo distributore di Linux non commerciale. È il solo grande progetto con uno statuto, un contratto sociale e dei documenti di politica di organizzazione del progetto. Debian è anche la sola distribuzione ad usare informazioni dettagliate sulle dipendenze tra pacchetti per assicurare la stabilità del sistema anche dopo consistenti aggiornamenti. Debian e arrivato alla versione 6.0.7 (Squeeze) con Gnome rilasciato il 23 febbraio 2013. 9.9 Red Hat Red Hat è praticamente sinonimo di Linux stesso. La sua nascita, come per molte altre distro, si deve alla collaborazione di centinaia di sviluppatori diusi in tutto il mondo e, in parte, al supporto diretto di grosse aziende software. Red Hat viene fondata nel 1993 da Marc Ewing, che spiega così la scelta del nome: Ai tempi del college avevo l'abitudine di indossare un cappello a strisce bianche e rosse che era appartenuto a mio nonno. Era il mio cappello preferito, ma lo smarrii durante l'ultimo anno di corso a Philadelphia. Fu in suo ricordo che scelsi il nome Red Hat per la società. La prima versione viene rilasciata il 3 novembre 1994 con un annuncio sul newsgroup comp.os.linux.announce, e porta in dote il rivoluzionario sistema di gestione dei pacchetti RPM Package Manager. Oggi Red Hat Inc., che si occupa della distribuzione e del relativo ecosistema, è quotata al NASDAQ di New York, e, tra l'altro, vanta il primato di prima società fornitrice di soluzioni Open Source ad entrare in borsa. Nel tempo la strategia di Red Hat è andata sempre più orientandosi verso il mercato professional ed enterprise (soprattutto nel settore delle telecomunicazioni), abbandonando il supporto diretto all'utenza consumer, per la quale è stato lanciato il progetto Fedora. I punti forti d RedHat sono: 1. commercializzazione del prodotto; 2. disponibilità di assistenza diretta pensata soprattutto per le aziende; 3. aggiornamenti della distribuzione, come evidenziato dallo stesso Ewing: Prima della comparsa di Red Hat nessuno aveva mai pensato all'aggiornamento di ogni nuova distribuzione di GNU/Linux, ogni volta bisognava reinstallare ed era un grosso svantaggio. La famiglia dei prodotti di Red Hat Enterprise Linux è in grado di soddisfare i requisiti sulle prestazioni, adabilità e sicurezza richiesti dai service provider. Red Hat e la famiglia dei prodotti Enterprise Linux forniscono numerosi vantaggi grazie al coinvolgimento diretto dei grossi clienti nello sviluppo delle varie edizioni della distribuzione stessa. Inoltre Red Hat ha messo su un ecosistema basato su una serie di certicazioni in grado di soddisfare i requisiti delle più importanti aziende mondiali nel settore delle telecomunicazioni. In questa ottica, particolare attenzione è posta nello sviluppo di nuove tecnologie di sicurezza per GNU/Linux, tra le quali: Security Enhanced Linux (SELinux), Exec Shield, PIE e Auditing.s 41 10 Mobile OS Con l'avvento di dispositivi sempre più avanzati e per merito della miniaturizzazione ci si sta avvicinando sempre di più a inserire un vero e proprio computer in ogni strumento elettronico. Lavatrici, forni a microonde, caldaie e molti altri elettrodomestici vengono oggi dotati di un processore e di un microsistema operativo per riuscire a svolgere compiti aggiuntivi oltre al loro scopo fondamentale. Il settore in cui tale sviluppo si è evidenziato con maggiore intensità, è stato il campo dei palmari e della telefonia mobile. Infatti al giorno d'oggi si possono acquistare telefoni con capacità di calcolo molto elevate, in grado di riuscire ad eseguire un sistema operativo molto simile a quello dei computer tradizionali, solo un po' alleggerito. È disponibile sul mercato un rappresentante per ognuno dei tre maggior esponenti: iOS, Android e Windows Phone sono i tre sistemi che oggi si contengono la palma come miglior OS per smartphone. Tra questi quello che ha dato il via alla cosiddetta mobile revolution è sicuramente iOS, cuore pulsante dell'IPhone. Il sistema di Apple è facile da usare e molto stabile, rappresentando il punto di riferimento per l'intero settore. Tra i difetti principali si annotera il fatto di essere un sistema chiuso e poco personalizzabile. Il più grande antagonista del sistema di Apple è Google Androind, non legato ad un produttore specico e sicuramente il preferito dalla comunità di sviluppatori. Il sistema di BigG è altamente personalizzabile, e, ciò, paradossalmente, porta a personalizzazioni talmente spinte che causano anche la dicoltà di iterazioni tra il medesimo OS montato su dispositivi diversi. L'ultimo arrivato sul mercato è Windows Phone, il nuovo sistema operativo mobile di Microsoft che rompe completamente il legami con i suoi predecessori. Il nuovo OS mobile ha fatto proprio il concetto di UI basato su piastrelle (TILES) e può essere installato solo su dispositivi dotati di speciche caratteristiche minime. Tutti e tre i sistemi dispongono di un proprio Market Store e di un ecosistema di applicazioni in continua crescita ed evoluzione. Windows phone VS Android VS iPhone iOS 42 10 Mobile OS 10.1 Touch screen Il touch screen ha sicuramente stravolto il mondo della telefonia mobile, dando un grande impulso allo sviluppo di questa tecnologia. La storia considera che il primo touchscreen fu inventato da E.A.Johnson nel 1965, nel Regno Unito (Royal Radar Estabilishment in Malvern). Johnson inizialmente descrisse il suo lavoro in un articolo intitolato Touch displaya novel input/output device for computers e lo pubblico in Electronic Letters. 10.1.1 Touchscreen capacitivo Johnson aveva inventato lo schermo capacitivo, anche se la tecnologia iniziale di Johnson poteva elaborare un solo tocco alla volta. Anche se preistorica, l'idea di Johnson ha avuto più acquirenti, infatti la sua scoperta e stato adottata dal controllo del traco aereo nel Regno Unito, e questa tecnologia è rimasta in uso no alla ne del 1990. Il primo schermo capacitivo, inventato nel 1965 da E.A.Johnson 10.1.2 Touchscreen resistivo Il touchscreen resistivo fu inventato dal Dr.G.Samuel Hurst quasi per caso, presso l'università di Kentucky. Nel 1970 Hurst inizio a lavorare nella cantina di casa sua su un nuovo progetto, il quale consisteva nel creare un monitor touchscreen per un personal computer, Hurst si rese conto che questa interazione era semplicemente eccellente e semplicava di molto l'interazione uomocomputer, e decise di chiamare Elographics la sua invenzione. Questa scoperta ha contribuito a fondare quello che oggi chiamiamo il touch resistivo (perchè risponde puramente alla pressione piuttosto che alla conducibilità elettrica, ovvero funzionava sia con una pena che con un dito). Nel 1971 erano state introdotte un certo numero di macchine con lo schermo touchscreen. Uno dei primi dispositivi touch più diusi e stato PLATO IV, introdotto dal Università di Illinois. Il PLATO IV usava un sistema a raggi infrarossi per determinare le coordinate nello schermo e determinare cosi la posizione esatta che si toccava. PLATO IV e stato anche il primo computer touchscreen ad essere utilizzato in una classe, dove gli studenti toccavano lo schermo per scegliere la risposta corretta. 43 10 Mobile OS Plato IV 10.2 Android 44 10 Mobile OS make a device about the size of a small candy bar that cost less than $10 and allowed users to scan objects and unearth information about them on the Internet. -Andy Rubin Android è il sistema operativo mobile più utilizzato e rappresenta la scelta migliore in termini di bassi costi, personalizzazione e leggerezza del sistema operativo stesso inoltre Android è un sistema operativo open source basato sul kernel 2.6 di Linux. L'idea di Rubin nel 1999 era quella di realizzare un dispositivo di dimensioni piccole e del costo basso che permettesse agli utenti di fotografare (scannerizzare) oggetti ed ottenere informazioni su di esse attraverso internet. Nel 2002 Rubin tiene una serie di seminari per presentare il proprio prodotto e incontra Page e Brin, i due fondatori di Google, i quali si mostrano sin da subito interessati del prodotto di Rubin. Nel ottobre del 2003 viene fondato l'Andorid Inc in Palo Alto, California, da Andy Rubin, Rich Miner, Nick Sears e Chris White. Google decide di acquistare Android Inc ad agosto del 2005. 10.2.1 2007: la nascita di Android Il 5 novembre 2007 L'Open Handset Alliance presenta il sistema operativo Android. Qualche giorno dopo viene rilasciato anche il primo Software Development Kit (SDK) per gli sviluppatori che include gli strumenti di sviluppo, le librerie, un emulatore del dispositivo, la documentazione, tutorial e altro. Al momento del lancio Android presentava un numero molto ridotto di applicazioni: un browser basato su webkit, una rubrica e un calendario sincronizzato con gmail. Per invogliare i programmatori a cimentarsi con questa nuova piattaforma, Google istituì nel gennaio del 2008 un concorso con un montepremi di 10 milioni di dollari per le migliori 50 applicazioni. 10.2.2 Il primo smartphone Android Ad agosto del 2008 viene presentata la versione 0.9 dell'SDK di Android sulla cui base l'operatore T-Mobile annuncia il primo smartphone con sistema operativo Android: il T-Mobile G1. Questo terminale, che in Italia sarà conosciuto come HTC Dream, raggiunse il mercato americano nel settembre del 2008: se ne vendettero 1 milione nei primi 60 giorni. 45 10 Mobile OS T-Mobile G1 Google nel 2012 è arrivata a presentare Android 4.1 Jelly Bean. Sviluppato partendo da Ice Cream Sandwich l'intento principale è quello di rendere il sistema operativo molto più uido e veloce combattendo qualsiasi rallentamento. 10.3 Windows Phone Windows Phone è nato per essere il sistema operativo degli smartphone Microsoft ed è stato lanciato sul mercato nell'ottobre 2010. A causa dei grossi progressi fatti e degli elementi innovativi che i nuovi telefoni possedevano questo sistema operativo è stato realizzato da zero e ha perso la compatibilità con i modelli precedenti. I primi telefoni con s.o. Windows Phone possedevano, oltre a migliorate capacità elaborative, il supporto multitouch, lo schermo capacitivo e una nuova interfaccia. Il lancio del sistema operativo avvenne l'11 ottobre 2010, e i primi telefoni iniziarono a circolare il 22 in Europa e l'8 novembre in America, portando a un milione e mezzo le vendite dei dispositivi con questo sistema operativo durante i primi 40 giorni circa. Per quanto riguarda gli aggiornamenti il primo avvenne a marzo 2011 col nome di No-Do , mentre il secondo che ha portato la versione alla 7.5 è conosciuto come Mango ed è datato settembre 2011. Il 2 luglio del 2012 e stato rilasciato Windows Phone 7.5 Refresh, noto anche come Tango, è la nuova release del sistema operativo mobile di Microsoft, che introduce diverse migliorie software e risolve diversi bug . 10.3.1 Windows Phone 8 È stato rilasciato il 29 ottobre 2012, Windows Phone 8 è basato sul kernel Windows NT. Verrà inoltre inclusa la versione mobile di Windows Internet Explorer 10. Windows Phone 8 porterà grandi novità anche in ambito tiles, infatti sarà possibile regolare la grandezza delle tiles di sms/email e visualizzare nella tiles un'anteprima del contenuto appena ricevuto. 46 10 Mobile OS 10.4 iPhone iOS La storia di iOS inizia con l'entrata in commercio dell'iPhone, il giorno 29 giugno 2007. iOS è il sistema operativo sviluppato da Apple per i dispositivi portatili iPhone, iPod touch e iPad. Il primo iPhone commercializzato dalla Apple fu l'iPhone 2G, il quale conteneva solamente le applicazioni preinstallate da Apple ed era disponibile solamente in lingua inglese, da subito si nota che l'attenzione principale era riposta sul interfaccia. Il primo iPhone era molto limitato, mancava il multitasking ed era impossibile sviluppare applicazioni per l'iPhone. Esattamente un anno dopo viene rilasciato il primo SDK per gli sviluppatori, permettendo in questo modo anche agli utenti di creare o pubblicare le loro applicazioni. L'iOS e arrivato alla versione 6 rilasciato al pubblico il 19 settembre 2012, introducendo molte novità e migliorando le prestazioni. 10.5 Ubuntu Touch Ubuntu Touch è una versione di Ubuntu ottimizzata per gli smartphone ed i tablet prodotto da Canonical Ltd. L'obbiettivo di Ubuntu Touch e portare nel mondo mobile la semplicità e la comodità di Unity. Il progetto e stato presentato il 2 gennaio 2013 per gli smartphone, e il 19 febbraio per i tablet da Mark Shuttleworth . Canonical ha dichiarato che il primo smartphone con Ubuntu Touch sarà rilasciato in ottobre del 2013. Ubuntu Touch 10.6 Firefox OS Andreas Gal, direttore di ricerca della Mozilla Corporation, il 25 luglio 2011, ha annunciato il Progetto Boot to Gecko. Il 27 settembre 2012 Boot to Gecko è stato rinominato in Firefox OS in onore al famoso browser Mozilla Firefox, fù cosi che nacque Firefox OS. 47 10 Mobile OS 10.7 Openmoko OpenMoko ha iniziato un progetto libero, passato poi alla comunità, dal nome openmoko. L'azienda ha prodotto recentemente il suo ultimo modello, il freerunner, un telefono completamente open, schemi hardware inclusi, che permette di far girare un kernel linux. Ovviamente sono state già state implementate diverse distribuzioni come OpenMoko, la distribuzione uciale del produttore, SHR (Stable Hybrid Release), Hackable e molte altre. Se pure il progetto è ancora all'inizio, con ancora problemi da risolvere, l'idea di avere un sistema free e opensource anche sul dispositivo telefonico ha attratto molte persone che hanno accettato il compromesso di qualche piccolo problemino in cambio della totale libertà. 48 Bibliograa [09] Andrew S.Tanenbaum-Moderni Sistemi Operativi [13] http://it.wikipedia.org/ [13] http://en.wikipedia.org/ [1] http://www.gnu.org/ [60] http://www.linux.org/ [10] http://www.gnu.org/licenses/gpl.html [12] http://en.wikipedia.org/wiki/Ubuntu_Touch [19] http://www.ubuntu-it.org/ [15] http://www.mozilla.org/en-US/refox/partners/ [15] http://refoxos.info/ [09] http://wiki.openmoko.org/wiki/Main_Page [11] http://creativecommons.org/ [19] http://developer.android.com/guide/components/index.html [1] http://www.lamphowto.com/ [fsf ] http://www.fsf.org/ [08] http://www.androiditaly.com/ [93] http://www.debian.org/doc/manuals/project-history/ch-releases.it.html [00] http://www.storiainformatica.it/index.php [01] http://it.redhat.com/about/company/history.html 49 Bibliograa Copyright Copyright Orgest Shehaj 2013 Questa opera viene rilasciata sotto licenza Creative Commons che permette di modicare e redistribuire il lavoro, mantenendo lo stesso tipo di licenza e citando le fonti. Non è consentito l'uso commerciale. 50