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