55
Sistema Operativo Sistema Operativo A. Ferrari A. Ferrari

Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Sistema OperativoSistema OperativoA. FerrariA. Ferrari

Page 2: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

DefinizioneDefinizione(da Wikipedia)(da Wikipedia)

Il sistema operativo, abbreviato in SO (in inglese OS, "operating system") è Il sistema operativo, abbreviato in SO (in inglese OS, "operating system") è un insieme di componenti software, che garantisce l'operatività di base di un insieme di componenti software, che garantisce l'operatività di base di un calcolatore, coordinando e gestendo un calcolatore, coordinando e gestendo

le risorse hardware, le risorse hardware, le periferiche, le periferiche, le risorse software (processi) le risorse software (processi) e facendo da interfaccia con l'utentee facendo da interfaccia con l'utente

È la "base" per i software applicativi , che dovranno essere progettati e È la "base" per i software applicativi , che dovranno essere progettati e realizzati in modo da essere riconosciuti e supportati da quel particolare realizzati in modo da essere riconosciuti e supportati da quel particolare sistema operativo. sistema operativo.

Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato)o per MAC OS X (a seconda del SO installato)

Assieme al processore, con cui è strettamente legato, costituisce la Assieme al processore, con cui è strettamente legato, costituisce la piattaforma del sistema di elaborazione.piattaforma del sistema di elaborazione.

Page 3: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Application Program Application Program Interface (API)Interface (API)

Il Sistema Operativo espone una API che tradizionalmente Il Sistema Operativo espone una API che tradizionalmente assume la forma di una libreria di funzioni speciali assume la forma di una libreria di funzioni speciali (system-call, chiamate di sistema)(system-call, chiamate di sistema)

L’API di Windows è nota come WINAPIL’API di Windows è nota come WINAPIL’interfaccia di riferimento per il mondo Linux è denominata L’interfaccia di riferimento per il mondo Linux è denominata POSIXPOSIX

Molti programmatori non utilizzano direttamente le API, i Molti programmatori non utilizzano direttamente le API, i linguaggi di programmazione “nascondono” l’interazione linguaggi di programmazione “nascondono” l’interazione col SO.col SO.

Es. Es. printfprintf del linguaggio C o del linguaggio C o coutcout del C++ vengono del C++ vengono trasformate dal compilatore in chiamate alle API del SOtrasformate dal compilatore in chiamate alle API del SO

Page 4: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Come sono scritti i SOCome sono scritti i SOData la stretta dipendenza dall’HW alcune parti del Data la stretta dipendenza dall’HW alcune parti del SO sono in linguaggio macchina.SO sono in linguaggio macchina.

Tradizionalmente la maggior parte del SW che Tradizionalmente la maggior parte del SW che compone un SO è scritta in C.compone un SO è scritta in C.

Es. Windows, LinuxEs. Windows, Linux

Page 5: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

““strati”strati”

Page 6: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

firmwarefirmwareIl firmware è un programma integrato direttamente in un componente Il firmware è un programma integrato direttamente in un componente elettronico nel senso più vasto del termine (integrati, schede elettroniche, elettronico nel senso più vasto del termine (integrati, schede elettroniche, periferiche). periferiche).

Lo scopo del programma è quello di avviare il componente stesso e Lo scopo del programma è quello di avviare il componente stesso e consentirgli di interagire con altri componenti tramite l'implementazione consentirgli di interagire con altri componenti tramite l'implementazione di protocolli di comunicazione o interfacce di programmazione.di protocolli di comunicazione o interfacce di programmazione.

Il termine deriva dall'unione di "firm" (azienda) e "ware" (componente), Il termine deriva dall'unione di "firm" (azienda) e "ware" (componente), indica che il programma non è immediatamente modificabile dall'utente indica che il programma non è immediatamente modificabile dall'utente finale, ovvero risiede stabilmente nell'hardware integrato in esso, e che si finale, ovvero risiede stabilmente nell'hardware integrato in esso, e che si tratta del punto di incontro fra componenti logiche e fisiche, ossia fra tratta del punto di incontro fra componenti logiche e fisiche, ossia fra hardware e software.hardware e software.

Il firmware forse più conosciuto è quello della scheda madre, chiamato Il firmware forse più conosciuto è quello della scheda madre, chiamato comunemente BIOS e responsabile del corretto avvio del computer.comunemente BIOS e responsabile del corretto avvio del computer.

Page 7: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

BootBootIl sistema operativo viene Il sistema operativo viene caricato nella memoria caricato nella memoria RAM all’accensione della RAM all’accensione della macchina (programma di macchina (programma di boot) e rimane attivo fino boot) e rimane attivo fino allo spegnimento.allo spegnimento.

Page 8: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

CaratteristicheCaratteristicheIl sistema operativo:Il sistema operativo:

è un insieme di moduli softwareè un insieme di moduli softwarecontrolla le risorse hardware del sistemacontrolla le risorse hardware del sistemamette a disposizione dell’utente una macchina virtuale, mette a disposizione dell’utente una macchina virtuale, in grado di eseguire comandi dati dall’utente, in grado di eseguire comandi dati dall’utente, utilizzando la macchina “reale”.utilizzando la macchina “reale”.la macchina virtuale nasconde tutti i dettagli hardware la macchina virtuale nasconde tutti i dettagli hardware che sarebbero troppo complicati da gestire per la che sarebbero troppo complicati da gestire per la maggior parte degli utentimaggior parte degli utenti

Page 9: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Struttura a “cipolla”Struttura a “cipolla”

Page 10: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Gli strati della “cipolla”Gli strati della “cipolla”Ogni strato (livello) costituisce una macchina Ogni strato (livello) costituisce una macchina virtuale:virtuale:

usa le funzionalità di quello sottostanteusa le funzionalità di quello sottostantefornisce servizi al livello che segue nella gerarchiafornisce servizi al livello che segue nella gerarchiagestisce delle risorse mediante politiche invisibili ai gestisce delle risorse mediante politiche invisibili ai livelli superiori (struttura modulare del Sistema livelli superiori (struttura modulare del Sistema Operativo)Operativo)

Page 11: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Gerarchia di Macchine Gerarchia di Macchine virtualivirtuali

Chi scrive un sistema operativo vede il sistema come un insieme Chi scrive un sistema operativo vede il sistema come un insieme di risorse fisiche da comandare direttamentedi risorse fisiche da comandare direttamente

Chi progetta un ambiente di programmazione vede la macchina Chi progetta un ambiente di programmazione vede la macchina come l’insieme delle funzioni messe a disposizione dal sistema come l’insieme delle funzioni messe a disposizione dal sistema operativooperativo

Il programmatore usa un linguaggio ad alto livello per realizzare Il programmatore usa un linguaggio ad alto livello per realizzare un programma applicativo e vede l’elaboratore come l’insieme un programma applicativo e vede l’elaboratore come l’insieme delle funzionalità messe a disposizione dall’ambiente di delle funzionalità messe a disposizione dall’ambiente di programmazioneprogrammazione

per l’utilizzatore di un programma applicativo il sistema appare per l’utilizzatore di un programma applicativo il sistema appare virtualmente come l’insieme dei comandi che può fornire alla virtualmente come l’insieme dei comandi che può fornire alla macchina per soddisfare le sue esigenzemacchina per soddisfare le sue esigenze

Page 12: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

SW di virtualizzazioneSW di virtualizzazioneDa non confondere con il concetto esposto in Da non confondere con il concetto esposto in precedenza di “macchine virtuali” sono i SW di precedenza di “macchine virtuali” sono i SW di virtualizzazione (chiamati anche questi macchine virtualizzazione (chiamati anche questi macchine virtuali”)virtuali”)

Sono applicazioni installate in un sistema operativo Sono applicazioni installate in un sistema operativo host in grado di “eseguire” altri sistemi operativi host in grado di “eseguire” altri sistemi operativi guest.guest.

Page 13: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Un esempio di Sw di Un esempio di Sw di virtualizzazione: VirtualBoxvirtualizzazione: VirtualBox

VirtualBox è un software di virtualizzazione commerciale VirtualBox è un software di virtualizzazione commerciale proprietario (con una versione ridotta distribuita secondo proprietario (con una versione ridotta distribuita secondo i termini della GNU General Public License) per i termini della GNU General Public License) per architettura x86 che supporta Windows, GNU/Linux e Mac architettura x86 che supporta Windows, GNU/Linux e Mac OS X come sistemi operativi host, ed è in grado di eseguire OS X come sistemi operativi host, ed è in grado di eseguire Windows, GNU/Linux, OS/2 Warp, OpenBSD e FreeBSD Windows, GNU/Linux, OS/2 Warp, OpenBSD e FreeBSD come sistemi operativi guest.come sistemi operativi guest.

Il 12 febbraio 2008 Sun Microsystems ha acquistato Il 12 febbraio 2008 Sun Microsystems ha acquistato Innotek GmbH, l'azienda tedesca sviluppatrice di Innotek GmbH, l'azienda tedesca sviluppatrice di VirtualBox.VirtualBox.

Il 27 gennaio 2010 è stata perfezionata l'acquisizione di Il 27 gennaio 2010 è stata perfezionata l'acquisizione di Sun da parte di Oracle Corporation.Sun da parte di Oracle Corporation.

Page 14: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Linux (host) Linux (host) Windows (guest)Windows (guest)

Page 15: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Classificazione dei SOClassificazione dei SO

Page 16: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Sistemi proprietariSistemi proprietariOgni azienda produttrice di piattaforme hardware o Ogni azienda produttrice di piattaforme hardware o produttrice di programmi applicativi comunque produttrice di programmi applicativi comunque interessate a distribuire il proprio prodotto ha creato interessate a distribuire il proprio prodotto ha creato spesso un sistema operativo proprio, spesso non spesso un sistema operativo proprio, spesso non trasportabile su altre macchine. trasportabile su altre macchine.

Tutto ciò per tutelare e garantire la vendita delle Tutto ciò per tutelare e garantire la vendita delle proprie piattaforme hardware o software, ma di proprie piattaforme hardware o software, ma di fatto impedendo sia la standardizzazione sia la fatto impedendo sia la standardizzazione sia la diffusione di modelli operativi condivisibili.diffusione di modelli operativi condivisibili.

I SO per mainframe di solito sono sistemi proprietariI SO per mainframe di solito sono sistemi proprietari

Page 17: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Sistemi apertiSistemi apertiLa casa produttrice del SO distribuisce La casa produttrice del SO distribuisce documentazione (API Applications Program documentazione (API Applications Program Interface) atta a favorire la scrittura di applicativi sw Interface) atta a favorire la scrittura di applicativi sw da parte di terze parti (la prima parte è il costruttore da parte di terze parti (la prima parte è il costruttore dell’hardware, la seconda parte è il costruttore del dell’hardware, la seconda parte è il costruttore del sistema operativo) e, di fatto, base essenziale per uno sistema operativo) e, di fatto, base essenziale per uno sviluppo orizzontale del mercato del sw.sviluppo orizzontale del mercato del sw.

MS-DOS, Windows, Mac OSX, iOS …MS-DOS, Windows, Mac OSX, iOS …

Page 18: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Sistemi Open SourceSistemi Open SourceSistemi operativi per cui la Sistemi operativi per cui la distribuzione commerciale distribuzione commerciale è svincolata da costi e il cui è svincolata da costi e il cui codice sorgente è codice sorgente è disponibile ai disponibile ai programmatori.programmatori.

Linux, FreeDOS …Linux, FreeDOS …

Page 19: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Utenti e livelliUtenti e livelliL’utente finale del sistema interagisce solo con il L’utente finale del sistema interagisce solo con il livello più esterno della gerarchialivello più esterno della gerarchia

E’ ignaro di tutti i dettagli delle operazioni svolte dai E’ ignaro di tutti i dettagli delle operazioni svolte dai livelli inferiorilivelli inferiori

Page 20: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Interprete dei comandiInterprete dei comandiLe richieste dell'utente al Sistema Operativo sono fatte Le richieste dell'utente al Sistema Operativo sono fatte

digitando dei comandi nelle interfacce a carattere (a riga di digitando dei comandi nelle interfacce a carattere (a riga di comando) (CLI, Command Line Interface)comando) (CLI, Command Line Interface)o selezionando oggetti con il mouse nelle interfacce o selezionando oggetti con il mouse nelle interfacce grafiche (Graphic User Interface)grafiche (Graphic User Interface)

Le richieste sono intercettate dall'interprete dei comandi Le richieste sono intercettate dall'interprete dei comandi (shell), il quale attiva i moduli programma che agiscono (shell), il quale attiva i moduli programma che agiscono nei componenti del nucleo (kernel). nei componenti del nucleo (kernel).

Questi attivano i dispositivi hardware quali il processore, Questi attivano i dispositivi hardware quali il processore, la memoria, i controller di I/O, ecc., che svolgono la la memoria, i controller di I/O, ecc., che svolgono la richiesta dell'utente.richiesta dell'utente.

Page 21: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Command Line Command Line Interface (shell testuali)Interface (shell testuali)

Page 22: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

GUI, Graphic User GUI, Graphic User InterfaceInterface

Page 23: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

WIMPWIMPLa maggior parte delle interfacce grafiche sono di La maggior parte delle interfacce grafiche sono di tipo WIMP (Windows, Icons, Menus, Pointing device)tipo WIMP (Windows, Icons, Menus, Pointing device)

La metafora più utilizzata nei personal computer, La metafora più utilizzata nei personal computer, oggi, è quella della “scrivania”oggi, è quella della “scrivania”(in inglese, desktop).(in inglese, desktop).

Dalla sua introduzione ad oggi sono state introdotte Dalla sua introduzione ad oggi sono state introdotte interfacce alternative, allo scopo di superarne le interfacce alternative, allo scopo di superarne le limitazioni, ma ancora senza successo.limitazioni, ma ancora senza successo.

Page 24: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Xerox StarXerox StarLa workstation dello Xerox Star è La workstation dello Xerox Star è stata il primo computer stata il primo computer commercializzato della storia ad commercializzato della storia ad essere dotato di interfaccia grafica essere dotato di interfaccia grafica di tipo WIMP.di tipo WIMP.

Lo Xerox Star, è un sistema Lo Xerox Star, è un sistema informatico della Xerox informatico della Xerox Corporation commercializzato a Corporation commercializzato a partire dal 27 aprile 1981 e partire dal 27 aprile 1981 e costituito da una serie di costituito da una serie di workstation collegate fra loro workstation collegate fra loro tramite LAN.tramite LAN.

Lo Xerox Star per la prima volta Lo Xerox Star per la prima volta proponeva, in alternativa alla proponeva, in alternativa alla multiutenza del minicomputer una multiutenza del minicomputer una serie di computer monoutenti serie di computer monoutenti collegati tramite LAN.collegati tramite LAN.

Page 25: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Microsoft BOBMicrosoft BOBhttp://www.youtube.com/watch?v=ZegWedG-jk4http://www.youtube.com/watch?v=ZegWedG-jk4

Microsoft Bob era un prodotto di Microsoft, rilasciato nel marzo 1995, Microsoft Bob era un prodotto di Microsoft, rilasciato nel marzo 1995, progettato per diventare un'interfaccia alternativa al desktop di Microsoft progettato per diventare un'interfaccia alternativa al desktop di Microsoft Windows 3.1 e 95, in sostituzione del Program Manager e dell'Explorer.Windows 3.1 e 95, in sostituzione del Program Manager e dell'Explorer.

Il software si basava sulla rappresentazione di un ambiente casalingo, che Il software si basava sulla rappresentazione di un ambiente casalingo, che doveva essere più semplice da comprendere per l'utente. doveva essere più semplice da comprendere per l'utente.

La schermata iniziale ha una porta per effettuare il login, un salotto come La schermata iniziale ha una porta per effettuare il login, un salotto come ambiente principale e un assistente (il cane Rover) ambiente principale e un assistente (il cane Rover)

Le varie applicazioni sono rappresentate tramite delle metafore: il Le varie applicazioni sono rappresentate tramite delle metafore: il calendario, la rubrica degli indirizzi ... calendario, la rubrica degli indirizzi ...

Non ebbe successo nelle vendite, ed infatti è generalmente considerato il Non ebbe successo nelle vendite, ed infatti è generalmente considerato il prodotto meno riuscito di Microsoft.prodotto meno riuscito di Microsoft.

Page 26: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Microsoft BOB (1995)Microsoft BOB (1995)

Page 27: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

X WindowsX WindowsX Window System è un gestore grafico molto diffuso, standard de facto per X Window System è un gestore grafico molto diffuso, standard de facto per molti sistemi Unix-like. molti sistemi Unix-like.

X fornisce l'ambiente e i componenti di base per le interfacce grafiche, il X fornisce l'ambiente e i componenti di base per le interfacce grafiche, il disegno e lo spostamento delle finestre sullo schermo e l'interazione con disegno e lo spostamento delle finestre sullo schermo e l'interazione con periferiche d'input quali il mouse e la tastiera. X non gestisce invece periferiche d'input quali il mouse e la tastiera. X non gestisce invece l'interfaccia grafica utente o lo stile grafico delle applicazioni che vengono l'interfaccia grafica utente o lo stile grafico delle applicazioni che vengono gestite dall'ambiente desktop scelto dall'utente e in uso sul computer.gestite dall'ambiente desktop scelto dall'utente e in uso sul computer.

Un'altra caratteristica molto importante è la trasparenza di rete: la Un'altra caratteristica molto importante è la trasparenza di rete: la macchina dove girano i programmi (client) non deve essere macchina dove girano i programmi (client) non deve essere necessariamente la macchina locale (display server). Questo permette necessariamente la macchina locale (display server). Questo permette anche di visualizzare sullo stesso display applicazioni che vengono eseguite anche di visualizzare sullo stesso display applicazioni che vengono eseguite su diversi host, oppure che su un host vengano eseguite applicazioni la cui su diversi host, oppure che su un host vengano eseguite applicazioni la cui interfaccia grafica finisce su diversi display.interfaccia grafica finisce su diversi display.

X è stato creato dal MIT nel 1984. X è stato creato dal MIT nel 1984.

Page 28: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

GNOMEGNOMEGNOME (GNU Network Object Model Environment) è GNOME (GNU Network Object Model Environment) è un desktop environment creato nell'agosto del 1997, un desktop environment creato nell'agosto del 1997, con l'obiettivo di fornire un ambiente di sviluppo e con l'obiettivo di fornire un ambiente di sviluppo e desktop libero per il sistema operativo GNU/Linux. desktop libero per il sistema operativo GNU/Linux. Grazie a questo e ai risultati raggiunti, è presto stato Grazie a questo e ai risultati raggiunti, è presto stato riconosciuto come il desktop environment ufficiale riconosciuto come il desktop environment ufficiale del progetto GNU.del progetto GNU.

Attualmente GNOME è l'ambiente grafico predefinito Attualmente GNOME è l'ambiente grafico predefinito di molte distribuzioni Linux, tra le quali Debian e di molte distribuzioni Linux, tra le quali Debian e Fedora.Fedora.

Page 29: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

KDEKDEKDE (K Desktop Environment) è un ambiente desktop grafico KDE (K Desktop Environment) è un ambiente desktop grafico per postazioni di lavoro Unix.per postazioni di lavoro Unix.

È basato sulle librerie Qt di Qt Software e funziona sulla È basato sulle librerie Qt di Qt Software e funziona sulla maggior parte dei sistemi operativi di tipo Unix, come maggior parte dei sistemi operativi di tipo Unix, come GNU/Linux, distribuzioni BSD ed esistono anche delle versioni GNU/Linux, distribuzioni BSD ed esistono anche delle versioni funzionanti su Microsoft Windows e su Mac OS X che sfruttano funzionanti su Microsoft Windows e su Mac OS X che sfruttano il layer di portabilità del toolkit Qt nell'attuale versione 4. il layer di portabilità del toolkit Qt nell'attuale versione 4. L'ultima versione disponibile è la 4.9 (rilasciata il 1 agosto 2012) L'ultima versione disponibile è la 4.9 (rilasciata il 1 agosto 2012) ed è stato tradotto in più di sessanta lingue.ed è stato tradotto in più di sessanta lingue.

KDE viene concepito come un Desktop Environment orientato KDE viene concepito come un Desktop Environment orientato prevalentemente agli utenti medio-avanzati, per via della vasta prevalentemente agli utenti medio-avanzati, per via della vasta configurabilità dell'ambiente e dei suoi programmi.configurabilità dell'ambiente e dei suoi programmi.

Page 30: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

FunzioniFunzioniIl Il gestore dei processi gestore dei processi (nucleo) gestisce l’esecuzione dei (nucleo) gestisce l’esecuzione dei programmi da parte dell’unità di elaborazioneprogrammi da parte dell’unità di elaborazione

Il Il gestore della memoria gestore della memoria alloca la memoria e la partiziona alloca la memoria e la partiziona tra i vari programmitra i vari programmi

I I driverdriver sono responsabili delle operazioni di sono responsabili delle operazioni di ingresso/uscita che coinvolgono le perifericheingresso/uscita che coinvolgono le periferiche

Il Il file system file system è responsabile della gestione dei file in è responsabile della gestione dei file in memoria di massamemoria di massa

L’L’interprete comandi interprete comandi consente all’utente di attivare i consente all’utente di attivare i programmiprogrammi

Page 31: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Monoutente o Monoutente o multiutentemultiutente

Il Sistema Operativo deve garantire che ogni utente Il Sistema Operativo deve garantire che ogni utente avverta la macchina come dedicataavverta la macchina come dedicata

Page 32: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

SO monopragrammati o SO monopragrammati o multiprogrammatimultiprogrammati

MonoprogrammatiMonoprogrammati: in grado di mandare in esecuzione un : in grado di mandare in esecuzione un solo processo alla volta su un sistema in cui un solo utente solo processo alla volta su un sistema in cui un solo utente può agire.può agire.

Sono oramai scomparsi, pur avendo rappresentato una Sono oramai scomparsi, pur avendo rappresentato una rivoluzione sostanziale per l’epoca, come MsDos e MaC OS. rivoluzione sostanziale per l’epoca, come MsDos e MaC OS.

MultiprogrammatiMultiprogrammati: possono gestire più processi : possono gestire più processi contemporaneamente, per i quali alternano un preciso contemporaneamente, per i quali alternano un preciso quanto di tempo di esecuzione di CPU, mantenendo quanto di tempo di esecuzione di CPU, mantenendo traccia di differenti sessioni per ogni utente, potendo traccia di differenti sessioni per ogni utente, potendo disporre di memoria centrale virtuale e quindi disporre di memoria centrale virtuale e quindi teoricamente infinita.teoricamente infinita.

Page 33: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

I primi Sistemi OperativiI primi Sistemi OperativiI primi sistemi operativi sono stati progettati negli I primi sistemi operativi sono stati progettati negli anni ’50 per i calcolatori allora disponibili. anni ’50 per i calcolatori allora disponibili.

Consistevano in poche centinaia di istruzioni per il Consistevano in poche centinaia di istruzioni per il caricamento del programma in memoria centrale e caricamento del programma in memoria centrale e per la produzione, su un dispositivo di output, dei per la produzione, su un dispositivo di output, dei risultati dell’elaborazione.risultati dell’elaborazione.

L’interfaccia era quella comune allora – interruttori e L’interfaccia era quella comune allora – interruttori e spie luminose.spie luminose.

I comandi venivano impartiti in codice binario.I comandi venivano impartiti in codice binario.

Page 34: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Pannello di controlloPannello di controllo

Page 35: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Nascita di UNIXNascita di UNIXAnni ’60, alla AT&T nasce UNIX, capostipite di una Anni ’60, alla AT&T nasce UNIX, capostipite di una numerosa e varia famiglia di sistemi operativi. numerosa e varia famiglia di sistemi operativi.

Anni ’70, iniziano a diffondersi i primi micro Anni ’70, iniziano a diffondersi i primi micro computer.computer.

Anni ‘80, a Seattle venne sviluppato il sistema Anni ‘80, a Seattle venne sviluppato il sistema operativo QDOS (Quick and Dirty Operating System).operativo QDOS (Quick and Dirty Operating System).

Page 36: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

DOSDOSDopo pochi mesi, un’altra ditta di Seattle, la Dopo pochi mesi, un’altra ditta di Seattle, la Microsoft di Bill Gates, ne acquista i diritti per Microsoft di Bill Gates, ne acquista i diritti per rivendere il DOS ad un cliente importante.rivendere il DOS ad un cliente importante.

Il cliente è l’IBM, che nel 1981 lancerà il primo PC, Il cliente è l’IBM, che nel 1981 lancerà il primo PC, dando il via alla rivoluzione dei personal computer.dando il via alla rivoluzione dei personal computer.

Page 37: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Win e MacWin e Mac1984, lancio dell’Apple Macintosh, e del suo sistema 1984, lancio dell’Apple Macintosh, e del suo sistema operativo a interfaccia grafica, il System 1.0 operativo a interfaccia grafica, il System 1.0

http://it.wikipedia.org/wiki/Storia_del_Mac_OS#Pre-System_6http://it.wikipedia.org/wiki/Storia_del_Mac_OS#Pre-System_6

L’anno successivo, il 1985, la Microsoft lancia la prima L’anno successivo, il 1985, la Microsoft lancia la prima versione di Windows.versione di Windows.

http://it.wikipedia.org/wiki/Windows#Storia_di_Microsoft_Windowshttp://it.wikipedia.org/wiki/Windows#Storia_di_Microsoft_Windows

Page 38: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

LinuxLinuxNel 1991 uno studente finlandese, Linus Torvalds, Nel 1991 uno studente finlandese, Linus Torvalds, sviluppò il kernel per un sistema operativo basato su sviluppò il kernel per un sistema operativo basato su una variante di UNIX.una variante di UNIX.

Lo distribuì in rete secondo la GNULo distribuì in rete secondo la GNUGeneral Public License, una licenza che ne consentiva General Public License, una licenza che ne consentiva l’uso, la redistribuzione e la modifica (a certe l’uso, la redistribuzione e la modifica (a certe condizioni).condizioni).

Iniziò a ricevere da subito contributi da altri Iniziò a ricevere da subito contributi da altri sviluppatori.sviluppatori.

Page 39: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Linux e software liberoLinux e software liberoNasceva così Linux, una Nasceva così Linux, una delle varianti UNIX oggi più delle varianti UNIX oggi più diffuse. Il kernel di Linux è diffuse. Il kernel di Linux è continuamente aggiornato, continuamente aggiornato, e disponibile anche e disponibile anche gratuitamente.gratuitamente.

Uno dei punti di forza di Uno dei punti di forza di questo sistema è la questo sistema è la comunità che lo supporta, e comunità che lo supporta, e la filosofia su cui si basa, la filosofia su cui si basa, quella del software libero.quella del software libero.

Page 40: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Elementi tipici di un SOElementi tipici di un SOGli elementi chiave che caratterizzano un SO sono Gli elementi chiave che caratterizzano un SO sono tradizionalmente individuati nel modo in cui lo stesso tradizionalmente individuati nel modo in cui lo stesso gestisce e organizza i suoi costituenti principali:gestisce e organizza i suoi costituenti principali:

•• La gestione dei Processi;La gestione dei Processi;

•• La gestione della Memoria Principale;La gestione della Memoria Principale;

•• La gestione dei Dispositivi;La gestione dei Dispositivi;

•• La gestione delle Memorie di Massa;La gestione delle Memorie di Massa;

Page 41: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Kernel (nucleo) di un SOKernel (nucleo) di un SO

Page 42: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

KernelKernelKernel monoliticiKernel monolitici, che implementano direttamente una , che implementano direttamente una completa astrazione dell'hardware sottostante.completa astrazione dell'hardware sottostante.

Unix, LinuxUnix, Linux

MicrokernelMicrokernel, che forniscono un insieme ristretto e , che forniscono un insieme ristretto e semplice di astrazione dell'hardware e usano software semplice di astrazione dell'hardware e usano software (chiamati device driver o server) per fornire maggiori (chiamati device driver o server) per fornire maggiori funzionalità.funzionalità.

Kernel ibridi Kernel ibridi (o microkernel modificati), che si (o microkernel modificati), che si differenziano dai microkernel puri per l'implementazione differenziano dai microkernel puri per l'implementazione di alcune funzioni aggiuntive al fine di incrementare le di alcune funzioni aggiuntive al fine di incrementare le prestazioni.prestazioni.

Windows, Mac OS XWindows, Mac OS X

Page 43: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Gestione dei processiGestione dei processiNei sistemi multiprogrammati più programmi in Nei sistemi multiprogrammati più programmi in esecuzione contemporaneamente (processi) consentono esecuzione contemporaneamente (processi) consentono all’utente di utilizzare più applicazioni nello stesso tempo all’utente di utilizzare più applicazioni nello stesso tempo e alla macchina di distribuire il carico computazionale con e alla macchina di distribuire il carico computazionale con estrema efficacia, per esempio sulle operazioni di estrema efficacia, per esempio sulle operazioni di Input/Output verso i dispositivi.Input/Output verso i dispositivi.

Il SO alterna sulla CPU differenti processi Il SO alterna sulla CPU differenti processi (schedulazione)per tempi molto ridotti (time-sharing), (schedulazione)per tempi molto ridotti (time-sharing), rendendo l’esecuzione dei programmi contemporanea agli rendendo l’esecuzione dei programmi contemporanea agli occhi degli utenti. occhi degli utenti.

Page 44: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Gestione della memoriaGestione della memoriaLa multiprogrammazione impone che la memoria sia La multiprogrammazione impone che la memoria sia sempre maggiore, in modo da contenere sempre più sempre maggiore, in modo da contenere sempre più processi in time-sharing.processi in time-sharing.

Per risolvere il problema della dimensione della Per risolvere il problema della dimensione della memoria i SO simulano la memoria mancante sulla memoria i SO simulano la memoria mancante sulla memoria di massa (es. disco fisso), cosicché memoria di massa (es. disco fisso), cosicché l’ampiezza della memoria è sempre sufficiente. l’ampiezza della memoria è sempre sufficiente.

L’insieme delle tecniche che consentono di simulare L’insieme delle tecniche che consentono di simulare la memoria su disco viene detta memoria virtuale.la memoria su disco viene detta memoria virtuale.

Page 45: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Gestione dei dispositiviGestione dei dispositiviLa gestione dei dispositivi o dell’Input/Output è, da La gestione dei dispositivi o dell’Input/Output è, da sempre, la parte più critica di ogni sistema operativo.sempre, la parte più critica di ogni sistema operativo.

La ragione riguarda la necessità commerciale di avere La ragione riguarda la necessità commerciale di avere più produttori di periferiche (terze parti) spesso più produttori di periferiche (terze parti) spesso diversi dai produttori di calcolatori e dai produttori diversi dai produttori di calcolatori e dai produttori del SO. del SO.

Ciò significa che parti consistenti del SO devono Ciò significa che parti consistenti del SO devono essere integrate con programmi scritti da terze parti essere integrate con programmi scritti da terze parti (driver).(driver).

Page 46: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Gestione della memoria Gestione della memoria di massadi massa

La gestione delle memorie di massa viene ottenuta da un SO La gestione delle memorie di massa viene ottenuta da un SO adottando una o più strutture dati denominate File System.adottando una o più strutture dati denominate File System.

I dati residenti fisicamente sulle memorie secondarie sono I dati residenti fisicamente sulle memorie secondarie sono organizzati in settori, a loro volta componenti di elementi logici organizzati in settori, a loro volta componenti di elementi logici denominati files.denominati files.

Una seconda astrazione serve per organizzare i files tra di loro, Una seconda astrazione serve per organizzare i files tra di loro, tramite directory per costituire un cosiddetto file system tramite directory per costituire un cosiddetto file system gerarchico organizzato ad albero. gerarchico organizzato ad albero.

Tipici elementi di una organizzazione ad albero è la presenza di Tipici elementi di una organizzazione ad albero è la presenza di una root directory (directory radice), di nomi completi di files una root directory (directory radice), di nomi completi di files (pathname, percorso più nome logico) e di directory corrente.(pathname, percorso più nome logico) e di directory corrente.

Page 47: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

ShellShellLa Shell consente all'utente di accedere inizialmente al sistema La Shell consente all'utente di accedere inizialmente al sistema tramite un meccanismo di autenticazione (login), o di tramite un meccanismo di autenticazione (login), o di interrompere l’attività del sistema impostandone la interrompere l’attività del sistema impostandone la terminazione (logoff e/o shutdown).terminazione (logoff e/o shutdown).

La shell definisce l'interfaccia principale tra l’utente e il sistema La shell definisce l'interfaccia principale tra l’utente e il sistema operativo.operativo.

L'interfaccia a caratteri realizzata da quasi tutti i SO è detto L'interfaccia a caratteri realizzata da quasi tutti i SO è detto prompt della shell, ed essa possiede come dispositivi standard prompt della shell, ed essa possiede come dispositivi standard di input la console (tastiera) e standard di output lo schermo di input la console (tastiera) e standard di output lo schermo (monitor).(monitor).

L’ “interprete dei comandi” è un processo del SO che interpreta L’ “interprete dei comandi” è un processo del SO che interpreta le chiamate al sistema da parte dell’utentele chiamate al sistema da parte dell’utente

Page 48: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Strumenti di calcoloStrumenti di calcoloAppendiceAppendice

Page 49: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

SupercalcolatoriSupercalcolatoriUn esempio Bull Tera-10Un esempio Bull Tera-10

Costo 50 milioni di euro Costo 50 milioni di euro

Formato da 270 scaffalature per circuiti alte ciascuna 2.5 metriFormato da 270 scaffalature per circuiti alte ciascuna 2.5 metri

540 unità di calcolo dotate di 16 processori ciascuna540 unità di calcolo dotate di 16 processori ciascuna

800 metri quadri di superficie800 metri quadri di superficie

Necessita di 2 megawatt di elettricità per l'alimentazione e di altrettanti per il Necessita di 2 megawatt di elettricità per l'alimentazione e di altrettanti per il raffreddamento. raffreddamento.

Può compiere diecimila miliardi di operazioni al secondo (10 teraflop)Può compiere diecimila miliardi di operazioni al secondo (10 teraflop)

Memoria 30 terabyteMemoria 30 terabyte

Nel 2017andrà in pensione e verrà sostituito da Tera-100, dieci volte più potente. Nel 2017andrà in pensione e verrà sostituito da Tera-100, dieci volte più potente.

Page 50: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

MainframeMainframeDecine di Mips (milioni di Decine di Mips (milioni di istruzioni per secondo)istruzioni per secondo)

Memoria di centinaia di Memoria di centinaia di milioni di bytemilioni di byte

Costo di miliardi di lireCosto di miliardi di lire

Necessità di locali Necessità di locali particolari e di operatoriparticolari e di operatori

Possibilità di collegamento Possibilità di collegamento con un centinaio di con un centinaio di terminaliterminali

Page 51: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

MinicomputerMinicomputer1965 Digital PDP 8 1965 Digital PDP 8 'economico''economico'

Decine di terminaliDecine di terminali

Decine di milioni di byte di Decine di milioni di byte di memoriamemoria

Costo di centinaia di milioni Costo di centinaia di milioni di liredi lire

Non necessario un Non necessario un operatore ed un locale operatore ed un locale specificospecifico

Page 52: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

MinicomputerMinicomputerWorkstation (postazione di Workstation (postazione di lavoro)lavoro)

Si intende un elaboratore Si intende un elaboratore con un solo posto di lavoro con un solo posto di lavoro con potenza superiore a con potenza superiore a quella di un normale quella di un normale Personal ComputerPersonal Computer

Applicazioni industriali, Applicazioni industriali, tecniche, grafichetecniche, grafiche

Page 53: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Personal computerPersonal computerAvvento del microprocessoreAvvento del microprocessore

Singolo posto di lavoroSingolo posto di lavoro

Decine di migliaia (poi Decine di migliaia (poi milioni) di byte di memoriamilioni) di byte di memoria

Centinaia di migliaia (poi Centinaia di migliaia (poi milioni) di operazioni per milioni) di operazioni per secondosecondo

Home Computer, Personal Home Computer, Personal Computer, Desktop, Laptop, Computer, Desktop, Laptop, Palm …Palm …

Page 54: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

Tipologie di personal Tipologie di personal computercomputer

DesktopDesktopComputer da scrivania. Personal computer non portatili. Computer da scrivania. Personal computer non portatili. Il desktop è caratterizzato da una notevole espandibilità e Il desktop è caratterizzato da una notevole espandibilità e modularità (si possono aggiungere altri componenti) e da modularità (si possono aggiungere altri componenti) e da prestazioni quasi sempre superiori rispetto al computer prestazioni quasi sempre superiori rispetto al computer portatile.portatile.

Laptop (computer portatile, notebook)Laptop (computer portatile, notebook)Di solito il portatile è alimentato da una batteria ricaricabile che Di solito il portatile è alimentato da una batteria ricaricabile che ne permette l'utilizzo dove non è possibile usare altre fonti ne permette l'utilizzo dove non è possibile usare altre fonti elettriche.elettriche.

Palmtop (Palm)Palmtop (Palm)Un computer palmare spesso indicato in lingua inglese con Un computer palmare spesso indicato in lingua inglese con l'acronimo PDA (Personal Digital Assistant)l'acronimo PDA (Personal Digital Assistant)

Page 55: Sistema Operativo€¦ · sistema operativo. Es. su un computer con CPU intel facciamo “girare” SW per Windows o per Linux o per MAC OS X (a seconda del SO installato) Assieme

SintesiSintesi