Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Evoluzione degli Elaboratori Elettronici
SISTEMI OPERATIVIGi
orgi
o Gi
acin
to 2
016
Sistemi Operativi
2
Ciclo di vita della tecnologia
Gior
gio
Giac
into
201
6
Sistemi Operativi
3
Ciclo di vita della tecnologia (cont.)
Esempio: Apple inc.
Gior
gio
Giac
into
201
6
4
Sistemi Operativi
Newton (1993-1997)http://www.msu.edu/~luckie/newtgal.htm
iPhone (2007)
Consumerization» Oggi
Le nuove tecnologie del mondo IT sono sviluppate inizialmente per il mercato del consumatore finale
» In un secondo momento queste tecnologie sono integrate nei processi aziendali˃ Permettendo ai dipendenti l’uso dei dispositivi
personali sul lavoro
Gior
gio
Giac
into
201
6
5
Sistemi Operativi
Breve storia dei sistemi di elaborazione» Primi sistemi: meccanici
˃ Pascal (1642): addizione e sottrazione˃ Leibniz (1700): le 4 operazioni fondamentali
» Nuove idee solo 150 anni più tardi!˃ Babbage (1834): “motore analitico”, un calcolatore
programmabile. Il calcolatore era capace di eseguire istruzioni elementari per mezzo delle quali era possibile risolvere diversi problemi.
» Inizia era calcolatori general purpose˃ Uno stesso calcolatore può essere programmato per
svolgere compiti diversi (es. elaborazione testo, calcoli scientifici, posta elettronica, ecc.)
Gior
gio
Giac
into
201
6
6
Sistemi Operativi
Alcune pietre miliariGi
orgi
o Gi
acin
to 2
016
7
Sistemi Operativi
Data Nome Realizzato da Commento 1834 Motore Analitico Babbage Primo tentativo di calcolatore "digitale"
(meccanico) 1936 Z1 Zuse Primo calcolatore funzionante con relé
(elettromeccanico) 1943 COLOSSUS Governo GB Primo calcolatore elettronico 1944 Mark I Aiken Primo calcolatore americano general-
purpose 1946 ENIAC I Eckert/Mauchley Inizia La storia dei calcolatori moderni 1949 EDSAC Wilkes Primo calcolatore con programma in
memoria 1951 Whirlwind I M.I.T. Primo calcolatore real-time 1952 IAS Von Neumann La maggior parte dei calcolatori oggi
usa la stessa architettura 1957 ELEA Olivetti Primo esemplare della serie Elea 1960 PDP-1 DEC Primo minicalcolatore (venduti 50) 1961 1401 IBM Piccolo calcolatore che diventò popolare
nelle piccole imprese 1962 7094 IBM Posizione dominante nel calcolo scienti-
fico nei primi anni '60.
La prima era dei calcolatori
Gior
gio
Giac
into
201
6
8
Sistemi Operativi
John Von Neumann1903 - 1957
ENIAC
PDP-1IBM 1401
Pannello di controlloELEA
Elaborazione Seriale (anni ‘40 e ‘50)» Calcolatori controllati da una console
˃ indicatori luminosi˃ interruttori a levetta˃ tastiera˃ stampante
» Non esisteva il sistema operativo
» L’esecuzione di un programma era avviata manualmente da un operatoreGi
orgi
o Gi
acin
to 2
016
9
Sistemi Operativi
Sistemi Batch(anni ‘50)» Monitor (metà anni ‘50, General Motors, IBM 701)
˃ Software che gestisce l’esecuzione automatica di una sequenza di programmi
» I job da eseguire sono registrati sequenzialmente su un nastro
» Ciascun programma ritorna al monitor al termine dell’elaborazione˃ Il monitor carica il job successivo
» Il monitor residente si trova nella memoria principale ed è disponibile per l’esecuzione
Gio
rgio
Gia
cint
o 20
16
10
Sistemi Operativi
Monitor Residente Gi
orgi
o Gi
acin
to 2
016
Sistemi Operativi
11
Job Control Language (JCL)
» Un linguaggio di programmazione ad hoc
» Fornisce istruzioni al monitor˃ Quale compilatore
usare˃ Quali dati da usare
InterruptProcessing
DeviceDrivers
JobSequencing
Control LanguageInterpreter
UserProgram
Area
Monitor
Boundary
Figure 2.3 Memory Layout for a Resident Monitor
Requisiti hardware per il monitor» Protezione della memoria
˃ Non deve consentire la modifica dell’area di memoria che contiene il monitor
» Istruzioni privilegiate˃ Possono essere eseguite solo dal monitor
» Si introduce il concetto di modo di esecuzione: utente e kernel
» Timer˃ Impedisce ad un singolo job di monopolizzare il sistema
» Interruzioni
Gior
gio
Giac
into
201
6
12
Sistemi Operativi
Nel 1962……il New York Times riporta una frase di John W.
Mauchly (uno dei progettisti di ENIAC)
There is no reason to suppose the average boy or girl
cannot be master of a personal computer
Gior
gio
Giac
into
201
6
13
Sistemi Operativi
…nel 1977
There is no reasonanyone
would want a computerin their home
Ken Olson, president, chairman and founder of DEC
Gior
gio
Giac
into
201
6
14
Sistemi Operativi
In Italia negli anni ‘60…» 1962-1964: sviluppo in Olivetti del primo personal
computer al mondo (Pier Giorgio Perotto)» 1965-1971: produzione di Programma 101
(circa 44.000 unità)
Gior
gio
Giac
into
201
6
15
Sistemi Operativi
Pier Giorgio PerottoP101. Quando l'Italia inventò ilpersonal computer (1995)
Giorgio GaruzzoQuando in Italia si facevano icomputer (2015)
P101
Gior
gio
Giac
into
201
6
16
Sistemi Operativi
Alcune pietre miliariGi
orgi
o Gi
acin
to 2
016
17
Sistemi Operativi
Data Nome Realizzatore Commento 1963 B5000 Burroughs Primo calcolatore progettato per un linguaggio di alto livello 1964 360 IBM Primo progetto di una famiglia di prodotti 1964 6600 CDC Primo supercomputer scientifico 1965 PDP-8 DEC Primo minicomputer per il mercato di massa (venduti
50.000 esemplari) 1967 GE 115 GE Progettato in Italia - ex divisione elettronica di Olivetti 1970 PDP-11 DEC Dominante nel mercato dei minicomputer anni '70 1974 8080 Intel Priimo calcolatore general-purpose a 8 bit su unico chip 1974 CRAY-1 Cray Primo supercomputer vettoriale 1977 Apple II Primo calcolatore con interfaccia grafica 1978 VAX DEC Primo superminicomputer a 32 bit 1981 IBM PC IBM Inizia l'era del personal computer 1981 Xerox Star Primo personal computer con interfaccia grafica 1985 MIPS MIPS Primo calcolatore RISC commerciale 1987 SPARC Sun Prima workstation RISC basata su processore SPARC 1990 RS6000 IBM Primo calcolatore superscalare … … … …
Gior
gio
Giac
into
201
6
Sistemi Operativi
18
Anni �60 e �70
IBM 360
Lettore di dischi IBM
VAX
Apple II
Gior
gio
Giac
into
201
6
Sistemi Operativi
19
Anni �80
IBM PC-AT
SUN SPARCStation
Fairlight CMI
ZX Spectrum
Gior
gio
Giac
into
201
6
Sistemi Operativi
20
Alcuni Personal Computer di prima generazione
Apple Macintosh1984
Apple Lisa1983
Xerox Star1981
Osborne Compaq(portatile) 1983
Gior
gio
Giac
into
201
6
Sistemi Operativi
21
Oggi…
Domani…
Gior
gio
Giac
into
201
6
Sistemi Operativi
22
IEEE SpectrumJuly 2012
Gior
gio
Giac
into
201
6
23
Sistemi Operativi
Componenti di un sistema di calcoloutente
1utente
2utente
3utenten
compilatore assemblatore editor di testi base di dati
programmi applicativi
sistema operativo
dispositivi fisici coordina e controllal'uso dei dispositivi
da parte dei programmiGior
gio
Giac
into
201
6
Sistemi Operativi
24
Il Sistema Operativo……visto dall’utente» è un programma che consente di interagire con
i dispositivi in modo semplice, possibilmente intuitivo˃ Personal computer˃ Server˃ Workstation˃ Dispositivi mobili
» Nei sistemi embedded l’utente in genere non interagisce con il sistema operativo
Gior
gio
Giac
into
201
6
Sistemi Operativi
25
Il Sistema Operativo……visto dall’utente» Enfasi su
˃ progettazione interfacce + ingresso (ad es., touch-screen)+ uscita (ad es., grafica a icone)
» Meno enfasi su˃ prestazioni˃ massimizzazione utilizzo risorse
Gior
gio
Giac
into
201
6
26
Sistemi Operativi
Interfacce utenteL’interprete dei comandi» Il sistema operativo riceve dei comandi da
eseguire tramite stringhe di testo
» I comandi possono˃ far parte dell’interprete dei comandi˃ essere dei programmi separati
» Nei sistemi Unix/Linux è chiamata shell˃ diversi tipi di shell (C-, bourne, k-, ecc.)
» Gli amministratori di sistema interagiscono tramite shell
Gior
gio
Giac
into
201
6
27
Sistemi Operativi
Interfacce utenteInterfacce grafiche» Nate negli anni ‘70 dalle ricerche nei laboratori
Xerox di Palo Alto˃ Primi utilizzi: Xerox Alto e Apple Macintosh
» Utilizzano metafore (scrivania…) e icone˃ Dispositivi esterni di puntamento dello schermo (stilo,
mouse ecc.)˃ Uso di gesti naturali su schermi tattili
» Diverse interfacce˃ Macintosh˃ Windows˃ KDE, Gnome, ecc. nel mondo Linux˃ iOS˃ Android
Gio
rgio
Gia
cint
o 20
16
28
Sistemi Operativi
Il Sistema Operativo……dal punto di vista del sistema» Il sistema operativo è il mediatore fra
˃ le esigenze di risorse dei programmi applicativi+ memoria, cpu, periferiche
˃ e le risorse effettivamente disponibili nel sistema
» Il sistema operativo è un programma di controllo˃ consente l’uso corretto delle risorse˃ evita errori, blocchi
Gior
gio
Giac
into
201
6
29
Sistemi Operativi
Il Sistema Operativo……dal punto di vista del sistema» Fornisce ai programmi applicativi una visione
astratta della macchina
» I meccanismi di gestione delle risorse hanno l’obiettivo ˃ di non creare conflitti˃ di sfruttare al massimo le risorse del sistema
Gior
gio
Giac
into
201
6
30
Sistemi Operativi
Definizione di sistema operativo» Non esiste una definizione completa ed
esauriente» È essenzialmente un programma che consente
l’uso di un sistema di calcolo da parte di ˃ più di un programma applicativo˃ più di un utente
» È comunque un programma……che controlla altri programmi…
Gior
gio
Giac
into
201
6
31
Sistemi Operativi
L’evoluzione dei sistemi operativi
L’ontogenesi ricapitola la filogenesi
La storia dei sistemi operativi si ripete ad ogni evoluzione
nella tecnologia dei calcolatori
Accoppiamento più o meno stretto del sistema operativo
con architettura hardware
Gior
gio
Giac
into
201
6
32
Sistemi Operativi
EvoluzioneGi
orgi
o Gi
acin
to 2
016
Sistemi Operativi
33
Gior
gio
Giac
into
201
6
Sistemi Operativi
34
Il sistema operativo UNIX» Nella seconda metà degli anni ‘60 grande impulso allo
sviluppo di sistemi operativi (innovators)» MIT, Bell Labs e General Electric progettarono MULTICS
(Multiplexed Information and Computing Service)» I Bell Labs ad un certo punto uscirono dal progetto, ma
Ken Thompson decise di riscrivere MULTICS su un “piccolo” calcolatore
» Brian Kernigham dei Bell Labs chiamò quel sistema UNICS (Uniplexed Information and Computing Service)˃ gioco di parole con l’inglese “eunhucs”
» I Bell Labs si interessano al lavoro: interviene Dennis Ritchie.
Gio
rgio
Gia
cint
o 20
16
35
Sistemi Operativi
La storia di UNIX» Esigenza di scrivere UNIX in un linguaggio di alto
livello˃ Thompson progettò il linguaggio B che non funzionò
tanto bene˃ Ritchie progettò il successore del B, il C
» Nel 1974 Ritchie e Thompson pubblicarono un articolo su UNIX˃ Molte università richiedettero UNIX. Essendo i Bell Labs
parte di AT&T (monopolio regolato), non poteva vendere computer e cedette UNIX all’università per un prezzo modesto.
˃ Molti ricercatori iniziarono a lavorarci essendo decisamente più evoluto dei SO “fatti in casa” utilizzati dai singoli dipartimentiGi
orgi
o Gi
acin
to 2
016
36
Sistemi Operativi
Gior
gio
Giac
into
201
6
Sistemi Operativi
37
Ritchie (in piedi) e Thompson
“Porting” di UNIX su PDP-11
Tappe Fondamentali» 1976: Prima versione disponibile al pubblico (V6)» 1978: V7, antesignana dei moderni sistemi UNIX» 1985: AT&T produsse System V
» 1993: AT&T vendette UNIX a Novell» 1995: Novell vendette UNIX a Santa Cruz Operation(SCO)
» Parallelamente l’Università di Berkeley sviluppò lapropria versione BSD
» POSIX (Portable Operating System): tentativo di standardizzare UNIX (IEEE)http://www.levenez.com/unix/
Gior
gio
Giac
into
201
6
38
Sistemi Operativi
Linux» 1991 - Linus Torvalds, finlandese, studente di
informatica, distribuì in Internet la versione preliminare del �nucleo� di una versione Unix per PC-IBM˃ Ispirato da MINIX, versione didattica di UNIX per PC-IBM
sviluppata da Andrew Tanenbaum» Il sistema si è evoluto grazie al contributo di
numerosissime persone che attraverso Internet hanno contribuito allo sviluppo
» Oggi numerose versioni, sia perpersonal computer, sia server
Gior
gio
Giac
into
201
6
39
Sistemi Operativi
Lo studio dei sistemi operativi» Oggi lo studio dei sistemi operativi è facilitato
da˃ disponibilità di codice sorgente (Linux, Max OS X,
Solaris, Windows, ecc.)˃ possibilità di eseguire sistemi operativi diversi su una
stessa architettura grazie alle tecniche di virtualizzazione
Gior
gio
Giac
into
201
6
40
Sistemi Operativi
Sistema Operativo Apple» Apple nacque nella seconda metà degli anni ‘70.
» Pioniere nell’introduzione di “applicazioni”˃ Elaboratore testi˃ Foglio di calcolo˃ Grafica
e nell’introduzione del sistema operativo grafico˃ Finestre˃ Mouse
» 1983: Apple Lisa
» 1984: Apple Macintosh» 2000: Mac OS X (basato su FreeBSD e Mach)
Gio
rgio
Gia
cint
o 20
16
41
Sistemi Operativi
Sistemi Operativi Microsoft» Nel 1974 venne creato alla Intel CP/M, il sistema
operativo per la nuova famiglia di microprocessori80xx˃ Sistema “a riga di comando”
» Nel 1981 la Microsoft creò un clone di CP/M e lo vendette a IBM che lo usò come sistema operativoper il primo “personal” computer˃ PC-DOS per i computer IBM˃ MS-DOS per i computer IBM-compatibili
» Nel 1985 prima versione di Windows˃ Interfaccia grafica per DOS, ispirata da quella del sistema
operativo Apple, che era un sistema operativo senzainterfaccia a riga di comandoGi
orgi
o Gi
acin
to 2
016
42
Sistemi Operativi
Evoluzione di MS Windows» 1990: Windows 3.0» 1995: Windows 95
˃ Introduce memoria virtuale, gestione dei processi, multiprogrammazione
» 1998: Windows 98˃ Miglioramento grafico e integrazione con Internet
» Windows NT (1993)˃ Nuovo progetto slegato da MS-DOS
» Windows 2000 (basato su NT), XP e Vista» Oggi
˃ Windows 10 per sistemi “desktop”˃ Windows 2016 per sistemi “server”
Gior
gio
Giac
into
201
6
43
Sistemi Operativi