Sistemi Operativi: Un po di storia Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 24 Agosto 2014
Agenda Intro e un po di storia Qualche curiosità 2
Cosa vediamo adesso Intro e un po di storia Qualche curiosità 3
Le generazioni 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 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
6
*NIX 7
GNU Operating System 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 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 microkernel kernel minimale con lo stretto indispensabile ad utilizzare l hardware si scrivono tutti i servizi (chiamate di sistema) in user-space 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à 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 12
DOS 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 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 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 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 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 Intro e un po di storia Qualche curiosità 18
In Italia Alessandro Rubini Co-autore di Linux Device Drivers Pagina personale http://ar.linux.it/ Intervista: Il kernel? Non è vecchio, solo complicato http://linea-dombra.blogspot.com/ 2010/04/il-kernel-non-e-vecchiosolo-complicato.html 19
il Politecnico di Milano RTAI: RealTime Application Interface Patch Real Time per Linux DIAPM: DiparAmento di Ingegneria Aerospaziale hdps://www.rtai.org/ AcOS: Autonomic Operating System for Adaptive Computing Patch Self- Aware per Linux e FreeBSD DEI: DiparAmento di EleDronica e Informazione www.changegrp.org/acos morphone.os Patch Self- Aware per Android DEI: DiparAmento di EleDronica e Informazione www.changegrp.org/morphone