Breve storia dei sistemi di elaborazione

annuncio pubblicitario
SISTEMIOPERATIVI
Evoluzione
degli
Elaboratori
Elettronici
GiorgioGiacinto2016
Ciclodivitadellatecnologia
2
SistemiOperativi
GiorgioGiacinto2016
Ciclodivitadellatecnologia
(cont.)
3
SistemiOperativi
GiorgioGiacinto2016
Esempio:Appleinc.
Newton (1993-1997)
http://www.msu.edu/~luckie/newtgal.htm
SistemiOperativi
iPhone (2007)
4
Consumerization
» Oggi
LenuovetecnologiedelmondoITsono
sviluppateinizialmenteperilmercatodel
consumatorefinale
GiorgioGiacinto2016
» Inunsecondomomentoquestetecnologie
sonointegrateneiprocessiaziendali
˃ Permettendoaidipendentil’usodeidispositivi
personalisullavoro
5
SistemiOperativi
Brevestoriadeisistemidi
elaborazione
» Primisistemi:meccanici
˃ Pascal(1642):addizioneesottrazione
˃ Leibniz (1700):le4operazionifondamentali
» Nuoveideesolo150annipiùtardi!
˃ Babbage (1834):“motoreanalitico”,uncalcolatore
programmabile.Ilcalcolatoreeracapacedieseguire
istruzionielementari permezzodellequalierapossibile
risolverediversiproblemi.
GiorgioGiacinto2016
» Iniziaeracalcolatorigeneralpurpose
˃ Unostessocalcolatorepuòessereprogrammatoper
svolgerecompitidiversi(es.elaborazionetesto,calcoli
scientifici,postaelettronica,ecc.)
6
SistemiOperativi
Alcunepietremiliari
Data Nome
Realizzato da
1834 Motore Analitico Babbage
1936 Z1
1943 COLOSSUS
1944 Mark I
1946 ENIAC I
1949 EDSAC
GiorgioGiacinto2016
1951 Whirlwind I
1952 IAS
1957 ELEA
1960 PDP-1
1961 1401
1962 7094
Commento
Primo tentativo di calcolatore "digitale"
(meccanico)
Zuse
Primo calcolatore funzionante con relé
(elettromeccanico)
Governo GB
Primo calcolatore elettronico
Aiken
Primo calcolatore americano generalpurpose
Eckert/Mauchley Inizia La storia dei calcolatori moderni
Wilkes
Primo calcolatore con programma in
memoria
M.I.T.
Primo calcolatore real-time
Von Neumann
La maggior parte dei calcolatori oggi
usa la stessa architettura
Olivetti
Primo esemplare della serie Elea
DEC
Primo minicalcolatore (venduti 50)
IBM
Piccolo calcolatore che diventò popolare
nelle piccole imprese
IBM
Posizione dominante nel calcolo scientifico nei primi anni '60.
7
SistemiOperativi
Laprimaeradeicalcolatori
ENIAC
GiorgioGiacinto2016
John Von Neumann
1903 - 1957
8
PDP-1
SistemiOperativi
ELEA
IBM 1401
Pannello di controllo
ElaborazioneSeriale
(anni‘40e‘50)
» Calcolatoricontrollatidaunaconsole
˃
˃
˃
˃
indicatoriluminosi
interruttorialevetta
tastiera
stampante
GiorgioGiacinto2016
» Nonesistevailsistemaoperativo
» L’esecuzionediunprogrammaeraavviata
manualmentedaunoperatore
9
SistemiOperativi
SistemiBatch
(anni‘50)
» Monitor(metàanni‘50,GeneralMotors,IBM701)
˃ Softwarechegestiscel’esecuzioneautomaticadiuna
sequenzadiprogrammi
GiorgioGiacinto2016
» Ijobdaeseguiresonoregistratisequenzialmentesu
unnastro
» Ciascunprogrammaritornaalmonitoraltermine
dell’elaborazione
˃ Ilmonitorcaricailjobsuccessivo
» Ilmonitorresidentesitrovanellamemoria
principaleedèdisponibileperl’esecuzione
10
SistemiOperativi
MonitorResidente
GiorgioGiacinto2016
JobControl
Language(JCL)
» Unlinguaggiodi
programmazionead
hoc
Boundary
» Fornisceistruzioni
almonitor
Interrupt
Processing
Device
Drivers
Monitor
Job
Sequencing
Control Language
Interpreter
˃ Qualecompilatore
usare
˃ Qualidatidausare
User
Program
Area
11
SistemiOperativi
Figure 2.3 Memory Layout for a Resident Monitor
Requisitihardwareperil
monitor
» Protezionedellamemoria
˃ Nondeveconsentirelamodificadell’areadimemoriache
contieneilmonitor
» Istruzioniprivilegiate
GiorgioGiacinto2016
˃ Possonoessereeseguitesolodalmonitor
» Siintroduceilconcettodimododiesecuzione:
utente ekernel
» Timer
˃ Impedisceadunsingolojobdimonopolizzareilsistema
» Interruzioni
12
SistemiOperativi
Nel1962…
…ilNewYorkTimesriportaunafrasediJohnW.
Mauchly(unodeiprogettistidiENIAC)
GiorgioGiacinto2016
Thereisnoreasontosuppose
theaverageboyorgirl
cannotbemaster
ofapersonalcomputer
13
SistemiOperativi
…nel1977
GiorgioGiacinto2016
There is noreason
anyone
would want acomputer
intheir home
Ken Olson,president,chairmanandfounder ofDEC
14
SistemiOperativi
InItalianeglianni‘60…
» 1962-1964:sviluppoinOlivettidelprimopersonal
computer almondo(PierGiorgioPerotto)
» 1965-1971:produzionediProgramma101
(circa44.000unità)
PierGiorgioPerotto
P101.Quando l'Italia inventò il
personalcomputer (1995)
GiorgioGiacinto2016
GiorgioGaruzzo
Quando inItaliasi facevano i
computer (2015)
15
SistemiOperativi
GiorgioGiacinto2016
P101
16
SistemiOperativi
GiorgioGiacinto2016
Alcunepietremiliari
Data Nome
B5000
360
6600
PDP-8
Realizzatore Commento
1963
1964
1964
1965
Burroughs
IBM
CDC
DEC
1967
1970
1974
1974
1977
1978
1981
1981
1985
1987
1990
…
GE 115
PDP-11
8080
CRAY-1
Apple
VAX
IBM PC
Xerox
MIPS
SPARC
RS6000
…
GE
DEC
Intel
Cray
II
DEC
IBM
Star
MIPS
Sun
IBM
…
Primo calcolatore progettato per un linguaggio di alto livello
Primo progetto di una famiglia di prodotti
Primo supercomputer scientifico
Primo minicomputer per il mercato di massa (venduti
50.000 esemplari)
Progettato in Italia - ex divisione elettronica di Olivetti
Dominante nel mercato dei minicomputer anni '70
Priimo calcolatore general-purpose a 8 bit su unico chip
Primo supercomputer vettoriale
Primo calcolatore con interfaccia grafica
Primo superminicomputer a 32 bit
Inizia l'era del personal computer
Primo personal computer con interfaccia grafica
Primo calcolatore RISC commerciale
Prima workstation RISC basata su processore SPARC
Primo calcolatore superscalare
…
17
SistemiOperativi
Anni 60e 70
IBM 360
GiorgioGiacinto2016
VAX
18
Lettore di dischi IBM
SistemiOperativi
Apple II
Anni 80
SUN SPARCStation
GiorgioGiacinto2016
IBM PC-AT
19
ZX Spectrum
SistemiOperativi
Fairlight CMI
AlcuniPersonalComputer
diprimagenerazione
Apple Macintosh
1984
Apple Lisa
1983
Osborne Compaq
(portatile) 1983
GiorgioGiacinto2016
Xerox Star
1981
20
SistemiOperativi
GiorgioGiacinto2016
Oggi…
21
SistemiOperativi
Domani…
GiorgioGiacinto2016
IEEESpectrum
July2012
22
SistemiOperativi
GiorgioGiacinto2016
23
SistemiOperativi
Componentidiunsistemadi
calcolo
utente
1
compilatore
utente
2
utente
3
assemblatore
editor di testi
utente
n
base di dati
GiorgioGiacinto2016
programmi applicativi
sistema operativo
dispositivi fisici
SistemiOperativi
coordina e controlla
l'uso dei dispositivi
da parte dei programmi
24
IlSistemaOperativo…
…vistodall’utente
» èunprogramma checonsentediinteragirecon
idispositiviinmodosemplice,possibilmente
intuitivo
GiorgioGiacinto2016
˃
˃
˃
˃
Personalcomputer
Server
Workstation
Dispositivimobili
» Neisistemiembedded l’utenteingenerenon
interagisce conilsistemaoperativo
25
SistemiOperativi
IlSistemaOperativo…
…vistodall’utente
» Enfasisu
˃ progettazioneinterfacce
+ ingresso(ades.,touch-screen)
+ uscita(ades.,graficaaicone)
GiorgioGiacinto2016
» Menoenfasisu
˃ prestazioni
˃ massimizzazioneutilizzorisorse
26
SistemiOperativi
Interfacceutente
L’interpretedeicomandi
» Ilsistemaoperativoricevedeicomandi da
eseguiretramitestringheditesto
» Icomandipossono
˃ farpartedell’interpretedeicomandi
˃ esseredeiprogrammi separati
GiorgioGiacinto2016
» NeisistemiUnix/Linuxèchiamatashell
˃ diversitipidishell (C-,bourne,k-,ecc.)
» Gliamministratoridisistemainteragiscono
tramiteshell
27
SistemiOperativi
Interfacceutente
Interfaccegrafiche
» Nateneglianni‘70dallericercheneilaboratori
XeroxdiPaloAlto
˃ Primiutilizzi:XeroxAltoeAppleMacintosh
» Utilizzanometafore (scrivania…)eicone
˃ Dispositiviesternidipuntamentodelloschermo(stilo,
mouseecc.)
˃ Usodigestinaturalisuschermitattili
GiorgioGiacinto2016
» Diverseinterfacce
˃
˃
˃
˃
˃
Macintosh
Windows
KDE,Gnome,ecc.nelmondoLinux
iOS
Android
SistemiOperativi
28
IlSistemaOperativo…
…dalpuntodivistadelsistema
» Ilsistemaoperativoèilmediatorefra
˃ leesigenzedirisorsedeiprogrammiapplicativi
+ memoria,cpu,periferiche
˃ elerisorseeffettivamentedisponibilinelsistema
GiorgioGiacinto2016
» Ilsistemaoperativoèunprogrammadi
controllo
˃ consentel’usocorrettodellerisorse
˃ evitaerrori,blocchi
29
SistemiOperativi
IlSistemaOperativo…
…dalpuntodivistadelsistema
» Fornisceaiprogrammiapplicativiunavisione
astratta dellamacchina
» Imeccanismidigestionedellerisorsehanno
l’obiettivo
GiorgioGiacinto2016
˃ dinoncreareconflitti
˃ disfruttarealmassimolerisorsedelsistema
30
SistemiOperativi
Definizionedisistema
operativo
» Nonesisteunadefinizionecompletaed
esauriente
» Èessenzialmenteunprogrammacheconsente
l’usodiunsistemadicalcolodapartedi
GiorgioGiacinto2016
˃ piùdiunprogrammaapplicativo
˃ piùdiunutente
» Ècomunqueunprogramma…
…checontrollaaltriprogrammi…
31
SistemiOperativi
L’evoluzione
deisistemioperativi
L’ontogenesiricapitolalafilogenesi
GiorgioGiacinto2016
Lastoriadeisistemioperativisiripete
adognievoluzione
nellatecnologiadeicalcolatori
Accoppiamentopiùomenostretto
delsistemaoperativo
conarchitetturahardware
32
SistemiOperativi
GiorgioGiacinto2016
Evoluzione
33
GiorgioGiacinto2016
SistemiOperativi
34
SistemiOperativi
IlsistemaoperativoUNIX
GiorgioGiacinto2016
» Nellasecondametàdeglianni‘60grandeimpulsoallo
sviluppodisistemioperativi(innovators)
» MIT,BellLabs eGeneralElectric progettaronoMULTICS
(Multiplexed Information and Computing Service)
» IBellLabs aduncertopuntouscironodalprogetto,ma
Ken ThompsondecisediriscrivereMULTICSsuun
“piccolo” calcolatore
» BrianKernigham deiBellLabs chiamòquelsistema
UNICS(Uniplexed Information and Computing Service)
˃ giocodiparoleconl’inglese“eunhucs”
» IBellLabs siinteressanoallavoro:intervieneDennis
Ritchie.
35
SistemiOperativi
LastoriadiUNIX
» EsigenzadiscrivereUNIXinunlinguaggiodialto
livello
˃ ThompsonprogettòillinguaggioB chenonfunzionò
tantobene
˃ RitchieprogettòilsuccessoredelB,ilC
GiorgioGiacinto2016
» Nel1974RitchieeThompsonpubblicaronoun
articolosuUNIX
˃ Molteuniversitàrichiedettero UNIX.EssendoiBellLabs
partediAT&T(monopolioregolato),nonpotevavendere
computerecedetteUNIXall’universitàperunprezzo
modesto.
˃ Moltiricercatoriiniziaronoalavorarciessendo
decisamentepiùevolutodeiSO“fattiincasa” utilizzatidai
singolidipartimenti
SistemiOperativi
36
GiorgioGiacinto2016
Ritchie(inpiedi)e
Thompson
37
“Porting” di UNIX su PDP-11
SistemiOperativi
TappeFondamentali
» 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
GiorgioGiacinto2016
» 1995: Novell vendette UNIX a Santa Cruz Operation
(SCO)
» Parallelamente l’Università di Berkeley sviluppò la
propria versione BSD
» POSIX (Portable OperatingSystem):tentativodi
standardizzareUNIX(IEEE)
http://www.levenez.com/unix/
SistemiOperativi
38
Linux
» 1991- LinusTorvalds,finlandese,studentedi
informatica,distribuìinInternetlaversione
preliminaredel nucleo diunaversioneUnix
perPC-IBM
GiorgioGiacinto2016
˃ IspiratodaMINIX,versionedidatticadiUNIXperPC-IBM
sviluppatadaAndrewTanenbaum
» Ilsistemasièevolutograziealcontributodi
numerosissimepersonecheattraversoInternet
hannocontribuitoallosviluppo
» Ogginumeroseversioni,siaper
personalcomputer,siaserver
39
SistemiOperativi
Lostudiodeisistemi
operativi
» Oggilostudiodeisistemioperativièfacilitato
da
GiorgioGiacinto2016
˃ disponibilitàdicodicesorgente(Linux,MaxOSX,
Solaris,Windows,ecc.)
˃ possibilitàdieseguiresistemioperatividiversisuuna
stessaarchitetturagraziealletecnichedi
virtualizzazione
40
SistemiOperativi
SistemaOperativoApple
» Applenacque nella seconda metà degli anni ‘70.
» Pioniere nell’introduzione di“applicazioni”
˃ Elaboratore testi
˃ Foglio dicalcolo
˃ Grafica
enell’introduzione delsistema operativo grafico
GiorgioGiacinto2016
˃ Finestre
˃ Mouse
» 1983:AppleLisa
» 1984:AppleMacintosh
» 2000:MacOSX(basato su FreeBSDeMach)
41
SistemiOperativi
SistemiOperativiMicrosoft
» Nel 1974venne creato alla IntelCP/M,il sistema
operativo perlanuova famiglia dimicroprocessori
80xx
˃ Sistema “ariga dicomando”
GiorgioGiacinto2016
» Nel 1981laMicrosoftcreò unclonediCP/Melo
vendette aIBMche lousò comesistema operativo
peril primo“personal”computer
˃ PC-DOSperi computerIBM
˃ MS-DOSperi computerIBM-compatibili
» Nel 1985primaversione diWindows
˃ Interfaccia grafica perDOS,ispirata daquella delsistema
operativo Apple,che eraunsistema operativo senza
interfaccia ariga dicomando
SistemiOperativi
42
Evoluzione diMSWindows
» 1990:Windows3.0
» 1995:Windows95
˃ Introducememoria virtuale,gestione dei processi,
multiprogrammazione
» 1998:Windows98
˃ Miglioramento grafico eintegrazione conInternet
» WindowsNT(1993)
GiorgioGiacinto2016
˃ Nuovo progetto slegato daMS-DOS
» Windows2000(basato su NT),XPeVista
» Oggi
˃ Windows10persistemi “desktop”
˃ Windows2016persistemi “server”
43
SistemiOperativi
Scarica