Il sistema operativo Stefano Bilotta Corso di Informatica (Stefano Bilotta) Il sistema operativo Corso di Informatica 1 / 57 Il sistema operativo Il sistema operativo può essere interpretato come un insieme di programmi che fungono da intermediario tra l’hardware e il software applicativo in calcolatore. Mediante il bootstrap il sistema operativo è il primo programma caricato in memoria all’avvio del calcolatore ed è attivo fino allo spegnimento. Il suo primo scopo è dunque quello di mettere a disposizione all’utente un’interfaccia per l’avvio degli altri programmi. (Stefano Bilotta) Il sistema operativo Corso di Informatica 2 / 57 Funzionalità Inoltre, il sistema operativo gestisce molte altre funzionalità fondamentali della macchina: L’accesso ai dispositivi di ingresso ed uscita (I/O, Input/Output), La gestione dei dati presenti nel calcolatore, e la loro strutturazione in file e cartelle, Coordinazione dei programmi in esecuzione contemporaneamente, ottimizzando le risorse condivise, Controllo degli accessi e controllo sulle limitazioni dei programmi, Gestione della memoria. (Stefano Bilotta) Il sistema operativo Corso di Informatica 3 / 57 Il sistema operativo come tramite Il sistema operativo fa da tramite tra i programmi e le risorse del computer, quest’ultime comprendono il processore, la memoria, le periferiche, i file e la rete. E’ possibile in questo modo ripartire le risorse tra i vari processi, imponendo dove necessario anche vincoli per la sicurezza. (Stefano Bilotta) Il sistema operativo Corso di Informatica 4 / 57 Processi e Programmi L’entità di riferimento nel contesto dei sistemi operativi è il processo. Per processo si intende l’esecuzione dinamica di un programma, questa comprende anche l’insieme dei dati necessari all’esecuzione dello stesso. Formalmente, un processo differisce da un programma: quest’ultimo infatti è definito come una sequenza di istruzioni statiche non in esecuzione. In particolare, da un programma si origina un processo tipicamente quando questo viene caricato in memoria e viene inizializzata l’esecuzione delle sue istruzioni. (Stefano Bilotta) Il sistema operativo Corso di Informatica 5 / 57 Visione a livelli Si può pensare al sistema operativo mediante una visione a livelli, in cui ogni livello svolge particolari funzioni del sistema: Utente Programma applicativo Programma applicativo Interprete comandi Gestore file (filesystem) Gestore delle periferiche Sistema operativo Gestore della memoria Nucleo (kernel) Hardware (Stefano Bilotta) Il sistema operativo Corso di Informatica 6 / 57 Il nucleo del sistema operativo Il nucleo del sistema operativo (anche detto kernel ) è quello che si occupa di interagire direttamente con l’hardware del calcolatore. Gestisce inoltre vari processi che sono in esecuzione contemporaneamente. Decide che programma eseguire e quando deve essere eseguito (compito detto scheduling ). (Stefano Bilotta) Il sistema operativo Corso di Informatica 7 / 57 Gestore della memoria Il gestore della memoria gestisce la memoria centrale della macchina. Assegna ai vari processi la memoria necessaria. Controlla che ogni processo acceda solo agli spazi di memoria che è autorizzato a manipolare. (Stefano Bilotta) Il sistema operativo Corso di Informatica 8 / 57 Gestore delle periferiche Il gestore delle periferiche permette ai vari programmi di accedere alle periferiche del sistema. Accesso astratto: i programmi inviano le richieste indipendentemente dall’hardware specifico del sistema, la gestione specifica avviene mediante opportuni programmi detti driver, ovvero guide. (Stefano Bilotta) Il sistema operativo Corso di Informatica 9 / 57 Gestore dei file Il gestore dei file permette la lettura e la scrittura sul filesystem, una struttura che contiene tutti i dati presenti su disco fisso. Controllo e coordinazione sugli accessi ai file: Protezione di file di sistema critici, In un sistema con più utenti, è permessa la manipolazione di alcuni file solo da specifici utenti. (Stefano Bilotta) Il sistema operativo Corso di Informatica 10 / 57 Interprete dei comandi L’interprete dei comandi è quella parte del sistema operativo che da la possibilità all’utente di avviare gli altri programmi. Gestisce l’interfaccia che compare all’utente una volta che, dopo l’accensione della macchina, il sistema operativo è stato interamente caricato. (Stefano Bilotta) Il sistema operativo Corso di Informatica 11 / 57 Sistemi operativi e usabilità Proprio per la loro proprietà di fare da ponte tra utente ed i programmi nel sistema, i sistemi operativi definiscono anche l’usabilità del calcolatore. Nei primi calcolatori, i dati in ingresso ed in uscita venivano comunicati tramite schede perforate In seguito, con l’uso di tastiere e schermi, è stato possibile creare un sistema a comandi di testo, tramite il quale l’utente potesse comunicare più facilmente con la macchina (Stefano Bilotta) Il sistema operativo Corso di Informatica 12 / 57 Sistemi operativi a comandi Uno dei primi sistemi operativi, MS-DOS, utilizzava un’interfaccia a comandi Per eseguire un comando, occorreva scrivere il nome del comando o del programma da avviare eventualmente seguito da dei parametri. Es: dir Elenca i file nella cartella corrente del *.jpg Elimina tutti i file jpg nella cartella corrente copy letter.doc copia.doc Copia il file letter.doc in un altro file chiamato copia.doc notepad Avvia il programma chiamato notepad (Stefano Bilotta) Il sistema operativo Corso di Informatica 13 / 57 Console e vantaggi dei sistemi a comandi I sistemi operativi moderni dispongono ancora di una console dei comandi. In caso di comandi complessi, per utenti esperti a volte può risultare la soluzione più veloce. Tramite i sistemi a comandi si possono infatti automatizzare facilmente una serie di operazioni, tramite la scrittura di procedure che eseguono in sequenza una serie di comandi. (Stefano Bilotta) Il sistema operativo Corso di Informatica 14 / 57 Sistemi operativi, grafica e GUI Con lo sviluppo delle potenzialità grafiche del calcolatore, nascono i sistemi operativi con interfaccia grafica (detta anche GUI, Graphical User Interface) Detti anche ’punta e clicca’ per il sistema di interazione molto semplice ottenuto con l’uso di mouse. Il computer diventa uno strumento usabile anche ai non addetti ai lavori. (Stefano Bilotta) Il sistema operativo Corso di Informatica 15 / 57 Alternanza tra processi Uno dei compiti principali di un sistema operativo è quello della gestione dell’alternanza dei processi. Durante l’esecuzione di più processi, mentre un processo viene eseguito gli altri vengono mantenuti in una coda detta dei processi pronti. Quando il processo in esecuzione termina il suo quanto di tempo, l’esecuzione torna al sistema operativo. Il processo viene inserito in fondo alla coda, ed il primo processo in coda va quindi in esecuzione. (Stefano Bilotta) Il sistema operativo Corso di Informatica 16 / 57 Alternanza tra processi, esempio Vediamo un esempio di 5 processi in esecuzione: Tempo Coda processi pronti In esecuzione Processo 5 Processo 4 Processo 3 Processo 2 Processo 1 Fine quanto di tempo processo 1 Processo 1 Processo 5 Processo 4 Processo 3 Processo 2 Fine quanto di tempo processo 2 Processo 2 Processo 1 Processo 5 Processo 4 (Stefano Bilotta) Il sistema operativo Processo 3 Corso di Informatica 17 / 57 Processi in attesa Quando un processo in esecuzione per proseguire necessita di attendere dispositivi di I/O, viene messo in attesa ed un altro processo tra quelli pronti viene eseguito al suo posto in modo da ottimizzare le risorse utilizzate. Una volta che la periferica termina un compito o ha dell’input a disposizione invia un segnale, detto interrupt, tramite bus . L’esecuzione passa quindi al sistema operativo che fa tornare il processo in attesa tra i processi pronti o in esecuzione. Il processo può tornare in esecuzione o tra i processi pronti a seconda di vari criteri del sistema operativo. (Stefano Bilotta) Il sistema operativo Corso di Informatica 18 / 57 Interrupt: esempio Vediamo un esempio di alternanza di processi in caso di interrupt: Tempo Coda processi pronti In esecuzione Processo 4 Processo 3 Processo 2 Processo 1 In attesa Richiesta I/O del processo 1 Processo 4 Processo 3 Processo 2 Processo 1 Fine del quanto per il processo 2 Processo 2 Processo 4 Processo 3 Processo 1 Interrupt relativo alla richiesta del processo 1 Processo 2 Processo 4 Processo 3 (Stefano Bilotta) Il sistema operativo Processo 1 Corso di Informatica 19 / 57 Gestione dell’hardware Il sistema operativo è anche incaricato di gestire l’hardware del computer. Gli altri processi non possono accedere direttamente all’hardware, per manipolarlo devono inoltrare una chiamata al sistema operativo. Esempio: nel momento in cui si debba scrivere su disco fisso. (Stefano Bilotta) Il sistema operativo Corso di Informatica 20 / 57 Gestione dell’hardware: vantaggi Si garantisce cosı̀ un maggiore controllo sul sistema. E’ possibile limitare le operazioni che un processo può eseguire, impedendo per esempio la manipolazione di alcuni dati importanti o un uso eccessivo delle risorse. Possibilità di maggiore coordinazione tra le risorse del calcolatore. (Stefano Bilotta) Il sistema operativo Corso di Informatica 21 / 57 Driver Per la gestione effettiva delle componenti hardware, sono necessari dei programmi detti driver che si occupano di tradurre i comandi del processo in un linguaggio comprensibile alla periferica. I processi comunicheranno dunque la richiesta di utilizzo di un dispositivo I/O tramite chiamata al sistema operativo, quest’ultimo attiverà il driver che tradurrà oppurtamente la richiesta al dispositivo. (Stefano Bilotta) Il sistema operativo Corso di Informatica 22 / 57 Esempio driver: stampa Un esempio di uso di driver: un processo per la creazione di testi richiede la stampa di un documento, il sistema operativo apre una finestra dove si possono configurare la proprietà di stampa tramite il driver. (Stefano Bilotta) Il sistema operativo Corso di Informatica 23 / 57 Gestione della memoria Un’importante funzione del sistema operativo è quello della gestione della memoria. Ad ogni processo viene associata una zona di memoria limitata, in questo modo si proibisce che il processo manipoli il resto della RAM. Si impedisce cosı̀ che un difetto in un processo alteri il funzionamento degli altri. Ogni processo funziona dunque indipendentemente dal contesto. Tuttavia in caso di necessità, due processi si possono comunque ’accordare’ per condividere un’area di memoria. (Stefano Bilotta) Il sistema operativo Corso di Informatica 24 / 57 Allocazione nuova memoria A volte i programmi necessitano di spazi di memoria piuttosto grandi, per tale motivo un processo in esecuzione può richiedere altra memoria al sistema tramite una chiamata di sistema. Per esempio, questo avviene quando in un word processor si richiede l’apertura di un nuovo documento. Il sistema si occuperà di individuare una zona di memoria libera delle dimensioni richieste e di assegnarla al processo. (Stefano Bilotta) Il sistema operativo Corso di Informatica 25 / 57 Memoria virtuale Grazie alla gestione centralizzata della memoria, è possibile sfuttare alcuni espedienti per disporre di maggiori quantità di memoria. Nel caso la richiesta di memoria ecceda le dimensioni della memoria centrale, viene utilizzata parte del disco fisso per integrare la mancanza di memoria centrale. Tale memoria aggiuntiva viene detta virtuale, e l’operazione di scambio tra RAM e disco fisso swapping. (Stefano Bilotta) Il sistema operativo Corso di Informatica 26 / 57 Pagine In generale, per ottimizzare l’uso della memoria del sistema, questa viene suddivisa in blocchi detti pagine, la cui dimensione totale può eccedere quella fisica della RAM. In questo modo alcune pagine si troveranno nella memoria RAM ed altre su disco fisso. Per associare l’indirizzo di una pagina virtuale (es. la pagina numero 1386) alla sua posizione fisica (es. la pagina si trova sul disco fisso all’indirizzo 7981) è adibita ad un dispositivo hardware detto Memory Management Unit (MMU) (Stefano Bilotta) Il sistema operativo Corso di Informatica 27 / 57 Pagine: esempio Vediamo un esempio in cui un processo richiede una pagina presente in memoria centrale: La pagina virtuale 1386 e’ in memoria centrale all’indirizzo 5918 Processo Richiesta pagina 1386 MMU Pagina richiesta (Stefano Bilotta) Il sistema operativo Richiesta pagina 5918 Memoria centrale (RAM) Memoria di archivio (disco fisso) Corso di Informatica 28 / 57 Pagine: esempio (2) Vediamo un esempio dove invece un processo richiede una pagina presente su disco fisso: La pagina virtuale 1386 e’ in memoria di archivio all’indirizzo 7981 Processo Richiesta pagina 1386 MMU Richiesta pagina 7981 Pagina richiesta (Stefano Bilotta) Il sistema operativo Memoria centrale (RAM) Memoria di archivio (disco fisso) Corso di Informatica 29 / 57 Politiche per le pagine Come scegliere quali pagine tenere in memoria e quali su disco? Utilizzate politiche simili a quelle della cache (principio di località spaziale e temporale) In effetti, il meccanismo di paginazione virtuale è del tutto analogo a quello della cache, dove la RAM fa la parte della memoria veloce e il disco fisso di quella più lenta (Stefano Bilotta) Il sistema operativo Corso di Informatica 30 / 57 Memoria virtuale: limitazioni Utilizzando tuttavia il disco fisso come memoria centrale, l’efficienza della macchina decade molto rapidamente Uno dei motivi di rallentamento quando troppe applicazioni vengono utilizzate contemporaneamente Per questo, la quantità di memoria virtuale impiegata è solitamente limitata ad una soglia massima (Stefano Bilotta) Il sistema operativo Corso di Informatica 31 / 57 Filesystem Una delle principali funzionalità di un sistema informatico è la gestione di grandi quantità di dati. Uno specifico componente del sistema operativo, chiamato filesystem, è deputato a gestire in modo efficiente la memoria di massa, con l’obiettivo di presentare all’utente (nel modo più semplice) l’organizzazione logica dei dati e le operazioni che è possibile compiere su di essi. I dati contenuti nella memoria di massa vengono strutturati e gestiti mediante unità logiche di base dette file. Un file può rappresentare per esempio un’immagine, un programma, un documento... (Stefano Bilotta) Il sistema operativo Corso di Informatica 32 / 57 File Un file è formato da un nome e da un’estenzione, separati da un punto: Es. ding.wav è un file di nome ding e di estenzione wav. L’estenzione serve ad identificare il tipo di file: Es. I file .jpg sono immagini, i .mp3 sono file audio, i .pdf documenti . Nel filesystem è memorizzata la posizione su disco di ogni file. (Stefano Bilotta) Il sistema operativo Corso di Informatica 33 / 57 File: attributi Un file può avere impostati diversi attributi : Un file può essere in sola lettura: non può essere modificato o rimosso dell’utente. Un file può essere di sistema: essendo fondamentale per il funzionamento del sistema, in questo caso il file non può essere modificato o cancellato. Un file può essere nascosto, cioè non viene visualizzato con gli altri quando un utente esamina il filesystem. Limitazione aggirabile tramite le opportune opzioni nel programma di esplorazione delle risorse. Nel caso di un sistema con più utenti, è possibile che un file di un utente sia di sola lettura per gli altri utenti ma non per il suo proprietario. (Stefano Bilotta) Il sistema operativo Corso di Informatica 34 / 57 File: date memorizzate Il sistema operativo inoltre tiene traccia di tre momenti importanti di un file: Il tempo e la data di creazione. Il tempo e la data dell’ultima modifica. Il tempo e la data dell’ultimo accesso. Utili sia come criteri di ricerca, sia per avere informazioni su di un file. (Stefano Bilotta) Il sistema operativo Corso di Informatica 35 / 57 Cartelle I file sono raggruppati in gruppi logici detti cartelle o directory. Metafora che rispecchia un archivio cartaceo. Una cartella può a sua volta contenere altre cartelle; si crea cosı̀ una struttura ad albero (Stefano Bilotta) Il sistema operativo Corso di Informatica 36 / 57 Radice Su windows, le radici del filesystem sono rappresentate dalle prime lettere dell’alfabeto seguite da ’:’, ed identificano il dispositivo di memoria di archivio dove si trova il file. Es. tipicamente in un computer c: è il disco fisso, d: è il lettore cd/dvd, e all’inserimento di una chiave USB compare il disco e: (a: e b: erano solitamente riservate per i floppy disk). (Stefano Bilotta) Il sistema operativo Corso di Informatica 37 / 57 Percorsi Ciascun file viene individuato univocamente dal suo percorso Il formato del percorso (sempre su sistemi Windows) è drive\cartella\cartella\...\nomefile Es. c:\windows\images\stripe.png è un file sul disco c: nella sottocartella images della cartella windows con nome stripe ed estensione png. Ogni file può essere anche identificato, oltre che dal suo percorso completo, anche dal percorso relativo alla directory corrente, spesso più breve del precedente. (Stefano Bilotta) Il sistema operativo Corso di Informatica 38 / 57 Collegamenti Per poter richiamare un file da una cartella diversa, si possono utilizzare i collegamenti. Questi file contengono semplicemente un percorso ad una cartella o a un file. Possono essere utili per navigare il filesystem in modo comodo. Esempio: le icone sul desktop sono semplicemente dei collegamenti per avviare i vari programmi senza andarli a cercare nelle loro cartelle di installazione. (Stefano Bilotta) Il sistema operativo Corso di Informatica 39 / 57 Gestione filesystem tramite GUI Vediamo come si può gestire il filesystem su Windows tramite l’interfaccia grafica GUI: (Stefano Bilotta) Il sistema operativo Corso di Informatica 40 / 57 Operazioni su filesystem La struttura ad albero del filesystem non contiene anche i file stessi, ma solo un puntatore alla loro posizione su disco. Filesystem Disco fisso c: documenti vecchi contenuto di lettera.doc lettera.doc appunti.doc documenti nuovi (Stefano Bilotta) contenuto di appunti.doc Il sistema operativo Corso di Informatica 41 / 57 Operazioni su filesystem Nel caso della copia di file, questo viene copiato in un’altra posizione su disco ed un riferimento a questa posizione viene salvato nel filesystem. Filesystem Disco fisso c: documenti vecchi contenuto di lettera.doc lettera.doc appunti.doc contenuto di appunti.doc documenti nuovi appunti.doc contenuto di appunti.doc (Stefano Bilotta) Il sistema operativo Corso di Informatica 42 / 57 Operazioni su filesystem: spostamento Quando invece un file viene spostato all’interno dello stesso disco, la sua posizione fisica non cambia, rendendo questa un’operazione molto veloce. Filesystem Disco fisso c: documenti vecchi contenuto di lettera.doc lettera.doc appunti.doc contenuto di appunti.doc documenti nuovi appunti.doc (Stefano Bilotta) Il sistema operativo Corso di Informatica 43 / 57 Operazioni su filesystem: rimozione Quando un file viene cancellato, fisicamente resta su disco ma viene rimosso il riferimento ad esso nel filesystem. La zona di memoria occupata risulterà libera, e potrà essere riscritta quando viene richiesto spazio per altri file. Filesystem Disco fisso c: documenti vecchi contenuto di lettera.doc lettera.doc appunti.doc documenti nuovi (Stefano Bilotta) contenuto di ero ib ol appunti.doc azi Sp Il sistema operativo Corso di Informatica 44 / 57 Risoluzione problemi: blocco Supponiamo che il computer si blocchi, cioè non risponda più all’input dell’utente Come si può risolvere il problema alla luce delle conoscenze acquisite? Il computer sta leggendo da disco fisso? Segnalato dall’apposita spia sul case In questo caso, è più probabile che la macchina stia caricando qualcosa, e che si sbloccherà con il tempo Se ci sono molti programmi in memoria, è possibile che stia eseguendo lo swapping: appena il sistema si riattiva, provare a chiudere alcune applicazioni (Stefano Bilotta) Il sistema operativo Corso di Informatica 45 / 57 Risoluzione problemi: blocco (2) Si possono controllare i processi in esecuzione, tramite Ctrl+Alt+Del e usando il monitoraggio di sistema C’è qualche programma che sta utilizzando buona parte della CPU? Se si, potrebbe essere responsabile del blocco Possibile forzare la terminazione Attenzione: i dati non salvati del programma andranno persi Se i soliti programmi continuano a bloccare il computer, se ne potrebbe cercare una versione più nuova e più stabile, oppure cercare del software alternativo Se ad occupare la CPU è un programma sconosciuto, nel caso peggiore potrebbe trattarsi di un virus (programmi di danneggiamento dati) o un trojan (programmi che consentono l’accesso non permesso al vostro calcolatore) (Stefano Bilotta) Il sistema operativo Corso di Informatica 46 / 57 Risoluzione problemi: prestazioni lente Come si può affrontare invece un calo drastico delle prestazioni della macchina? Se il computer rallenta molto passando da una finestra all’altra, il problema potrebbe essere causato dallo swapping: può essere necessario aprire meno applicazioni contemporaneamente Se il computer richiede molto tempo all’accensione, potrebbero essere avviati molti processi all’avvio (msconfig: per la gestione di processi all’avvio) Rimuovere i programmi non necessari dall’avvio automatico Anche nel caso di basse prestazioni, può essere utile controllare il sistema con un antivirus (scansione dei dati) (Stefano Bilotta) Il sistema operativo Corso di Informatica 47 / 57 Windows Windows è probabilmente il sistema operativo più utilizzato nel mondo Programma proprietario della Microsoft, a pagamento Nel 1990 nasce Windows 3.0, contenente un’interfaccia che faceva da ponte tra l’utente e la vecchia console dei comandi Invece di scrivere comandi sulla console, l’utente poteva usufruire dell’interfaccia punta e clicca, e l’interfaccia grafica si occupava di creare il comando corrispondente (Stefano Bilotta) Il sistema operativo Corso di Informatica 48 / 57 Windows 95 Grandi evoluzioni arrivano nel 1995 con Windows 95 Nasce il supporto per nomi di file lunghi, prima limitati a 8 caratteri e 3 di estensione Anche altre funzionalità aggiunte, come la distinzione tra maiuscole e minuscole e la possibilità della presenza di spazi Parallelismo gestito in maniera migliore (possibilità di avviare più programmi contemporaneamente) (Stefano Bilotta) Il sistema operativo Corso di Informatica 49 / 57 Plug and Play Con Windows 95 nasce il Plug and Play, la possibilità di attaccare una periferica al sistema operativo e di farla funzionare automaticamente Realizzata tramite la presenza di una serie di driver comuni nel sistema operativo Richiesti comunque diversi anni prima che il meccanismo funzionasse in modo stabile (Stefano Bilotta) Il sistema operativo Corso di Informatica 50 / 57 Windows 98 - 8 Ultieriori evoluzioni del sistema operativo vanno da Windows 98 all’ultimo Windows 8, passando per Windows 2000, Windows XP, Windows Vista, Windows 7 Esistono altre versioni per scopi specifici, come Windows Phone per dispositivi mobili Molte versioni distribuite anche in modalità ’professional’, con funzionalità aggiuntive per quanto riguarda le reti e la gestione della sicurezza (Stefano Bilotta) Il sistema operativo Corso di Informatica 51 / 57 Applicazioni incluse Insieme a Windows, distribuite diverse applicazioni in modo che il computer sia utilizzabile già dall’installazione del sistema operativo Esempi: software per word processing (Wordpad), calcolatrici, programmi base per la gestione di immagini (Paint) Anche se distribuiti con Windows, questi programmi non sono parte del sistema operativo propriamente detto, ma sono a tutti gli effetti applicativi (Stefano Bilotta) Il sistema operativo Corso di Informatica 52 / 57 Linux La principale alternativa a sistemi Windows sono i sistemi operativi Linux Sistema operativo nato nel 91, scritto da Linux Torvald Gratis e open source: chiunque può vedere il programma che realizza il sistema Adottata (e creata) la filosofia del software libero (Stefano Bilotta) Il sistema operativo Corso di Informatica 53 / 57 Linux come sistema open source Dal momento che ognuno può vedere e modificare il codice, qualunque programmatore può scrivere una componente del sistema operativo Il sistema operativo è realizzato da tante piccole parti create da persone diverse Inoltre, con questo metodo chiunque può rilevare problemi di sicurezza o stabilità (Stefano Bilotta) Il sistema operativo Corso di Informatica 54 / 57 Confronto con Windows Vediamo vantaggi e svantaggi di usare un sistema Linux: Minore facilità di utilizzo, soprattutto per non addetti ai lavori. In molte versioni di Linux, la differenza di usabilità si sta rapidamente assottigliando Una delle versioni più usabili è Ubuntu Maggiore sicurezza, grazie al codice aperto Quasi inesistenti virus che funzionano su Linux (Stefano Bilotta) Il sistema operativo Corso di Informatica 55 / 57 Confronto con Windows (2) Diverse compatibilità con i programmi: programmi creati per Windows non funzioneranno su Linux e viceversa Alcuni programmi sono disponibili in entrambe le versioni; molti software commerciali sono sviluppati tuttavia principalmente su Windows, in modo da garantire un bacino d’utenza più grande I sistemi Linux, grazie alla loro modularità, solitamente sono più veloci Linux è gratuito (Stefano Bilotta) Il sistema operativo Corso di Informatica 56 / 57 Altri sistemi operativi Un altro sistema operativo comune è quello per Macintosh, detto prima Mac OSX poi OSX Creato specificatamente per un tipo di computer, il Mac Esistenti versioni per dispositivi portatili (iPhone, iPad), detti iOS (IPhone Operative System) Molte componenti costruite in modo simile a sistemi Linux (Stefano Bilotta) Il sistema operativo Corso di Informatica 57 / 57