DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi: Un po’ di storia Marco D. Santambrogio – [email protected] Ver. aggiornata al 24 Agosto 2014 Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Intro e un po’ di storia • Qualche curiosità 2 Cosa vediamo adesso… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Intro e un po’ di storia • Qualche curiosità 3 Le generazioni DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 40’: Prima generazione E’ in realtà difficile parlare di SO • 50’: Seconda generazione La General Motors Research Laboratories crea il 1mo SO per l’IBM 701 • 60’: Terza generazione Multiprogramming, più programmi simultaneamente nella memoria centrale Time-sharing • 70’-90’: Quarta generazione Circuiti LSI (Large Scale Integration) • Nascita dei Personal Computer • 00’: Quinta generazione Sistemi multicore 4 UNIX DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 1969: La storia di UNIX inizia nei laboratori Bell della AT&T • 1973: La svolta, UNIX viene scritto in C. • 1975: Viene scritta la Versione 6 di UNIX Divenne largamente utilizzata anche fuori dai laboratori Bell Il problema/il vantaggio: • Essendo allora UNIX libero, ogni venditore di macchine si faceva una versione proprietaria esclusiva, un po' diversa ed spesso incompatibile con le versioni degli altri venditori 5 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 *NIX DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 7 GNU Operating System DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 1984: Nasce il progetto GNU GNU’s Not Unix • GNU è un sistema operativo tipo Unix distribuito come SW libero • Il Kernel di GNU è Hurd Kernel in continuo sviluppo GNU/Linux • Nota: il kernel (nucleo) è un programma che si occupa di dare le funzionalità di base per il funzionamento di un computer 8 Linux DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 1991: Nascita di Linux Linus Torvalds Si scontra in un newsgroup Usenet con il professor Andrew Tanenbaum • Tanenbaum è l’invetore di Minix • Divieto di modifcare il codice per fini non educational e sotto approvazione dell’autore • Kernel monolitici Vs microkernel 9 microkernel Vs kernel modulare DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • microkernel kernel minimale con “lo stretto indispensabile” ad utilizzare l’hardware si scrivono tutti i servizi (chiamate di sistema) in userspace • comunicano direttamente con il kernel minimale • le altre applicazioni in user-space possono decidere di utilizzare le chiamate di sistema o riferirsi direttamente al microkernel. • kernel monolitico Tutto quanto necessario ad usare il sistema e a fornirne un utilizzo ai programmi che vi girano è programmato in un unico programma (monolitico) che gira in kernel-space 10 Linux e la sua comunità DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • I LUG: Linux User Group Associazioni senza fine di lucro Diffondere l’uso del SW Libero Diffondere l’uso dei SO basati sul kernel di Linux • Il Linux DAY Evento per la promozione del SW libero e dei sistemi basati su Linux 11 shell di DOS DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 12 DOS DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • CP/M Control Program for Microcomputers Gary Kildall della Digital Research • 1980: 86-DOS/QDOS Quick and Dirty Operating System Tim Paterson della Seattle Computer Products • 1981: Luglio: Microsoft compra per$50K(?) l’86-DOS Agosto: Microsoft Disk Operating System • MS-DOS 1.0 13 Windows DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • • • • • • • Nov. 1983: Annuncio di Windows Nov. 1955: Windows 1.0 rilasciato 1998: Windows 98 2000: Windows 2000 2001: Windows XP 2007: Windows Vista 2009: Windows 7 • kernel ibrido microkernel fatto comunicare tramite messaggi con i restanti servizi, tutto in kernel-space 14 Mac OS e Mac OS X DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 1984: Mac OS Macintosh Operating System Primo OS ad usare con successo una GUI • ‘86-’95: NextSTEP (’98 Rhapsody) kernel Mach (microkernel) Objective-C Gestione orientata agli oggetti • Diventerà Cocoa • Mac OS X Rhapsody + Mac OS 15 Calcolo parallelo DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE N Cores #Cores 1000 cores 64 cores 32 Larrabee Sun 8-24 cores Intel 4 Quad core 2 Dual core 1 2005 16 2006 2007 2014 Time Il mondo dell’informatica è pronto per una rivoluzione Sistemi Operativi per multicore DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Barrelfish Operating System @ ETH http://www.barrelfish.org/ • K42/Tornado OS @ IBM/Uniersity of Toronto http://www.eecg.toronto.edu/~tornado/ • fos: Factored Operating System @ MIT groups.csail.mit.edu/carbon/fos • Tessellation OS @ Berkeley http://tessellation.cs.berkeley.edu/ 17 Cosa vediamo adesso… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Intro e un po’ di storia • Qualche curiosità 18 In Italia…Alessandro Rubini DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Co-autore di Linux Device Drivers • Pagina personale http://ar.linux.it/ • Intervista: Il kernel? Non è vecchio, solo complicato http://lineadombra.blogspot.com/2010/04/il-kernelnon-e-vecchio-solo-complicato.html 19 … il Politecnico di Milano DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • RTAI: RealTime Application Interface Patch Real Time per Linux DIAPM: Dipartimento di Ingegneria Aerospaziale https://www.rtai.org/ • AcOS: Autonomic Operating System for Adaptive Computing Patch Self-Aware per Linux e FreeBSD DEI: Dipartimento di Elettronica e Informazione www.changegrp.org/acos • morphone.OS Patch Self-Aware per Android DEI: Dipartimento di Elettronica e Informazione www.changegrp.org/morphone