Storia dei sistemi operativi
Download
1 / 36

- PowerPoint PPT Presentation


  • 252 Views
  • Updated On :

Storia dei Sistemi Operativi. Corso di Storia dell’Informatica e del Calcolo Automatico SICSI VII ciclo Autore: Mauro Bellerè. Definizione.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - machiko


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Storia dei sistemi operativi l.jpg

Storia dei Sistemi Operativi

Corso di Storia dell’Informatica e del Calcolo Automatico

SICSI VII ciclo

Autore: Mauro Bellerè


Definizione l.jpg
Definizione

  • Il Sistema Operativo consiste in una raccolta di software che nasconde (parzialmente) l'hardware, offrendo al programmatore una serie di istruzioni con le quali lavorare.

  • Fornisce all'utente una serie di comandi e servizi per fruire al meglio della potenza di calcolo di un qualsivoglia elaboratore elettronico, spaziando dal più piccolo dei palmari al più potente tra i Mainframe.


Preistoria l.jpg
Preistoria

  • Il primo computer (1843) fu progettato dal matematico inglese Charels Babbage (1792-1881), che, però non poté mai costruirlo per la tecnologia non adeguata dell'epoca

  • Babbage capì che avrebbe avuto bisogno di "un programma" per far funzionare il computer e per questo assunse Ada Lovelace, la "prima programmatrice", che ha dato il nome al linguaggio di programmazione ADA


Prima dei sistemi operativi 1 l.jpg
Prima dei Sistemi Operativi (1)

  • I primi computer moderni (1945-1955) (senza parti di tipo meccanico) sfruttavano la tecnologia a valvole ed anche se erano poco potenti ed affidabili, erano di dimensioni enormi e potevano occupare intere stanze

  • Un team di specialisti costruiva, manteneva e programmava la macchina (appunto in linguaggio macchina)

  • Non c'era sistema operativo, nemmeno l'assembler, bisognava eseguire un programma per volta (generalmente tabelle matematiche) sotto la supervisione del programmatore


Prima dei sistemi operativi 2 l.jpg
Prima dei Sistemi Operativi (2)

  • Erano lentissimi e molto costosi

  • Potevano permetterseli soltanto governi, grossi centri di calcolo o Università

  • Erano molto inaffidabili, in quanto le valvole che li componevano si rompevano spesso

  • Il programma da eseguire veniva inserito ad ogni esecuzione in codice binario attraverso dei primitivi lettori di schede perforate e dopo alcune ore il risultato veniva inviato ad una stampante


Prima dei sistemi operativi 3 l.jpg
Prima dei Sistemi Operativi (3)

  • Tra gli altri, riuscirono a costruire delle macchine per il calcolo automatico che fossero programmabili:

  • Howard Aiken, Harward. Harvard MARK-1 ;

  • John Von Neumann, Institute for Advanced Study in Princeton. EDVAC;

  • J. P. Eckert e W. Mauchley, University of Pennsylvania. H. Goldstine, A. Turing. ENIAC ;

  • K. Zuse, Germany. Z3.


Macchina di von neuman l.jpg
Macchina di Von Neuman

  • Programma memorizzabile come i dati

  • Istruzioni in memoria: decidere il programma specificando una porzione di memoria

  • Idea di John von Neumann (consulente ENIAC)

  • Proposta di nuovo calcolatore (1945): EDVAC (Electronic Discrete Variable Computer)

  • Nuovo elaboratore completo nel 1952 (IAS, presso Institute for Advanced Studies, Princeton)


I primi sistemi operativi l.jpg
I primi Sistemi Operativi

  • La rivoluzionaria invenzione del transistor determina la nascita degli elaboratori di seconda generazione (1955-1965) e, di conseguenza, la nascita dei primi sistemi operativi

  • L'utilizzo dei transistor per la costruzione dei computer permette di ridurne le dimensioni. I lettori di schede, i nastri magnetici e le stampanti cominciano a diventare di uso comune

  • I computer iniziano ad essere costruiti per essere venduti, possono funzionare abbastanza a lungo per ammortizzare i costi di acquisto. Acquirenti: università, banche, grandi compagnie commerciali

  • Permettono di usare i linguaggi di programmazione quali il Fortran e l'Assembler

  • Si delinea sempre più marcatamente la separazione tra:

    - progettisti (di computer)

    - costruttori (di computer)

    - operatori (di computer)

    - programmatori

    - personale addetto al mantenimento (tecnici)


Sistemi batch 1 l.jpg
Sistemi batch (1)

  • Per eseguire dei programmi (o come venivano chiamati job), un programmatore doveva scrivere il proprio programma su carta, trasferirlo su schede, caricarlo nel computer, aspettare che il computer avesse eseguito il calcolo e quindi stampare il risultato

  • Tale operazione era molto dispendiosa in fattori di tempo

  • Si adottò la soluzione del sistema batch (a lotti): l'idea di base era quella di dividere i tre lavori, ovvero il caricamento dei dati, il calcolo e la stampa

  • Tale tecnica permette

    - di ridurre il tempo raggruppando lavori simili (Fortran, Assembler, COBOL);

    - la sequenzializzazione automatica dei Job: automaticamente il controllo passa da un Job al successivo;

    - il caricamento automatico del compilatore;

    - il caricamento automatico dell'assemblatore.


Sistemi batch 2 l.jpg
Sistemi batch (2)

  • L'idea è quella di impilare le schede perforate in un vassoio di input di un calcolatore di basso costo che ha solo il compito di trasferire i programmi, dello stesso linguaggio, su nastro magnetico in modo sequenziale.

  • Ogni volta che una bobina è completata, viene montata sul calcolatore centrale, il main. A sua volta il main scrive l'output in modo sequenziale su un altro nastro magnetico.

  • Tale nastro viene montato su di un altro computer di basse prestazioni per trascrivere l'output su carta, che verrà consegnata al programmatore.


Sistemi batch 3 l.jpg
Sistemi batch (3)

  • Le macchine più utilizzate in quegli anni (‘60) per implementare sistemi batch erano gli IBM 1401, per il caricamento dei dati e la stampa; per il calcolo veniva impiegata, invece una macchina più potente e costosa, l'IBM 7094.

  • Il Sistema Operativo di questi Mainframe doveva erogare pochi semplici servizi: gestione dell'input/output, interpretazione dei comandi contenuti nelle schede controllo e controllo dell'esecuzione di programmi, sia quelli lanciati dall'utente, sia le utilità di sistema.

  • I sistemi operativi tipici per questi elaboratori, per lo più programmati in FORTRAN e in Assembler erano il FMS (Fortran Monitor System) e l'IBSYS


I primi sistemi operativi12 l.jpg
I primi Sistemi Operativi

  • Durante l'esecuzione dei programmi, su nastro magnetico, vengono eseguiti anche altri programmi di gestione per l'esecuzione del compilatore Fortran, dell'assemblatore e per il corretto caricamento (delle istruzioni e dei dati) dei programmi scritti dai programmatori.

  • Tali operazioni di gestione vengono fornite da uno speciale programma, il primo rudimentale sistema operativo: monitor residente.


La terza generazione l.jpg
La terza generazione

  • L’avvento dei circuiti integrati (IC) determinò la nascita dei computer di terza generazione (1965-80) e, di conseguenza, dei nuovi Sistemi Operativi

  • Nello stesso periodo i Sistemi Operativi iniziarono a supportare il DMA e lo SPOOL

  • Il DMA (Direct Memory Access) è il sistema che permette di trasferire interi blocchi di dati da memoria secondaria a memoria centrale in modo completamente indipendente dal processore, il quale può, nel frattempo, eseguire altre operazioni

  • Lo SPOOL (Simultaneous Peripheral Operations On Line) è un sistema che permette di gestire in maniera efficiente le code di job di stampa


L ibm system 360 l.jpg
L’IBM System/360

  • Nell'aprile del '64 l'IBM presentò una famiglia di computer chiamata IBM System/360, prima realizzazione di una netta distinzione tra architettura hardware e implementazione

  • Tutti gli elaboratori della suite, che andavano da piccole macchine a grandi Mainframe utilizzavano varianti dello stesso Sistema Operativo, l'OS/360, che supportava sia il calcolo scientifico che quello commerciale

  • Tuttavia questa eccessiva diversificazione tra i diversi computer rese difficile scrivere codice efficiente che rispettasse tutti i requisiti che erano in conflitto tra di loro

  • Il risultato fu un Sistema Operativo enorme e molto complesso scritto da migliaia di programmatori. OS/360 conteneva centinaia di errori che resero necessarie diverse revisioni. Purtroppo ogni nuova versione correggeva alcuni problemi, introducendone però degli altri


La multiprogrammazione l.jpg
La multiprogrammazione

  • Nell’OS/360 e in molti altri Sistemi Operativi dell'epoca venne implementata la multiprogrammazione, che rendeva possibile la presenza di più programmi in memoria contemporaneamente

  • Quando un job in esecuzione aveva bisogno di effettuare una operazione di I/O il Sistema Operativo lo sospendeva e al suo posto faceva girare un altro job

  • Quando l'operazione di I/O si concludeva il primo job tornava pronto all'esecuzione e attendeva il suo turno attendendo la sospensione di uno degli altri

  • Questo rendeva necessaria la presenza di hardware specializzato per proteggere i programmi dalle reciproche interferenze


Il timesharing 1 l.jpg
Il Timesharing (1)

  • Ogni utente ha un terminale proprio collegato al calcolatore centrale.

  • Ad ogni programma viene assegnato un intervallo di tempo durante il quale le sue istruzioni vengono eseguite dalla CPU

  • Scaduto tale intervallo di tempo, il processore continua (inizia) l'esecuzione delle istruzioni di un altro programma per la durata del prossimo intervallo di tempo


Il timesharing 2 l.jpg
Il Timesharing (2)

  • Nel 1962 venne realizzato al MIT il primo sistema di timesharing su un IBM 7094: il CTSS (Compatible Time Sharing System)

  • Fu in realtà il MULTICS la vera rivoluzione. Venne sviluppato congiuntamente dal MIT, dalla General Electric e dai Bell Labs, ed era in grado di supportare centinaia di utenti in timesharing

  • La realizzazione fu però molto più complessa del previsto, tanto che i Bell Labs abbandonarono il progetto

  • Tuttavia Multics introdusse molte nuove idee che influenzarono non poco i successivi Sistemi Operativi


Slide18 l.jpg
UNIX

  • UNIX fu progettato a partire dal 1969 da un gruppo di ricercatori della AT&T presso i Bell Labs, tra cui erano presenti Ken Thompson (che lavorò anche al progetto Multics), Dennis Ritchie e Douglas McIlroy

  • Esso prese notevole spunto dal padre Multics, e grazie all'ottimo lavoro di queste persone divenne un sistema molto interattivo, affidabile e ricco di funzionalità

  • Vennero sviluppate anche molte varianti di UNIX, come il System V, BSD (Berkley Software Distribution), Minix (usato in ambito didattico) e successivamente (sulla base di MINIX e UNIX) l'ormai famosissimo Linux sviluppato dallo studente finlandese Linus Torvalds.


I personal computer 1 l.jpg
I Personal Computer (1)

  • Negli gli anni '80 grazie alla tecnologia LSI (large scale integration) la costruzione di chip integrati divenne massiccia e portò all'abbattimento dei prezzi dell'hardware, facendo sorgere l'era del Personal Computer

  • Queste macchine erano piccole, economiche ed avevano prestazioni simili a quelle dei calcolatori medio-grandi di 10-20 anni prima

  • La diffusione commerciale del computer ha dato impulso notevole allo sviluppo di interfacce “friendly”, che siano di facile utilizzo anche per chi non sia un esperto del settore.


I personal computer 2 l.jpg
I Personal Computer (2)

  • I primi modelli erano dotati di Sistemi Operativi monoutente con accesso interattivo e supporto al timesharing

  • Il più importante tra i primi Sistemi Operativi per Personal computer era il CP/M-80 della Digital Research per le CPU 8080 / 8085 / Z-80. Era basato sui Sistemi Operativi della Digital Equipment Corporation specialmente quelli per l'architettura PDP-1

  • MS-DOS (o PC-DOS quando fornito da IBM) era originariamente basato proprio sul CP/M-80. (per approfondimenti vedi: breve storia del DOS


Microsoft vs apple 1 l.jpg
Microsoft vs Apple (1)

  • Steve Jobs era uno dei pochi che credeva nell'idea del Personal Computer. All'epoca era difficile immaginare cosa potesse farsene una persona di un computer in casa. Egli invece continuò per la sua strada fondando Apple Computer Inc. il 1° Aprile 1976 assieme a Steve Wozniak e Ronald Wayne. Jobs era convinto che il futuro del Personal Computer sarebbe stato legato all'interfaccia grafica. E così, ispirandosi a quella sviluppata da Xerox qualche anno prima (da un certo Doug Engelbart), Apple lanciò nel 1983 Lisa OS il primo sistema operativo per Personal Computer con interfaccia grafica e padre di MAC OS (1984) per Macintosh


Microsoft vs apple 2 l.jpg
Microsoft vs Apple (2)

  • La GUI (Graphical User Interface) fu una vera rivoluzione tanto che di lì a poco Microsoft avrebbe commercializzato Windows (20 novembre 1985) e sarebbe nato l'X Window System in ambiente Unix (1984). All'inizio Windows non era definibile Sistema Operativo: era piuttosto un'estensione di MS-DOS. Fu con il rilascio di Windows 3.0, nel 1990, che Microsoft si impose sul mercato. Oltre alle maggiori performance che garantiva alle applicazioni rispetto alle versioni precedenti, Windows 3.0 forniva un ambiente multitasking migliorato rispetto alle precedenti versioni di MS-DOS, grazie all'introduzione del supporto alla memoria virtuale, e divenne così un degno rivale del Macintosh (su cui girava Mac OS) di Apple. A partire da Windows 3.1 fu introdotto il supporto alla multimedialità (perfezionato via via nelle successive release), mentre con l'introduzione di Windows 95 si passò definitivamente dal calcolo a 16 bit a quello a 32 bit.


I giorni nostri 1 l.jpg
I giorni nostri (1)

  • Con l'uscita di Windows 95, Microsoft si afferma come leader mondiale nei sistemi operativi

  • Prima dell'uscita della versione successiva, Windows 98, venne sviluppato Windows NT. L'attuale evoluzione di Windows 98 è il Windows ME (Millenium), mentre NT è sviluppato in Windows 2000. Ad oggi è disponibile, ivece, Windows XP, sia per l'utenza domestica che professionale.

  • Sull'altro versante i sistemi operativi come Unix e Linux hanno continuato a crescere e implementano un'interfaccia grafica (molto simile a quella di Windows) chiamata X Windows. Altri sistemi operativi da menzionare sono il BeOS il quale è, ormai, completamente abbandonato a se stesso ed il QNX, sistema operativo real-time intenzionato a conquistare ampie fette di mercato.


I giorni nostri 2 l.jpg
I giorni nostri (2)

  • Arriviamo infine ai sistemi operativi attuali, agli odierni e conosciutissimi WINDOWS VISTA e OS X, e i vari UBUNTU, SUSE, FEDORA.

  • Oggigiorno è inoltre disponibile una grande varietà di sistemi di elaborazione dalle più disparate dimensioni e performance a costi contenuti

  • Inoltre sono oggi sempre più diffuse le interconnessioni tra i vari dispositivi in modalità sia wired che wireless

  • Tutte queste innovazioni hanno portato allo sviluppo di sistemi operativi per le più svariate architetture, in particolare per dispositivi handheld come cellulari (tra i quali non si può non citare il Symbian OS) e PDA (con Windows Mobile e Palm OS).


I sistemi operativi di rete 1 l.jpg
I Sistemi Operativi di rete (1)

  • Un fenomeno interessante che iniziò a prendere piede da metà degli anni '80 fu lo sviluppo delle reti di calcolatori, fenomeno che ha poi portato all'incredibile crescita di Internet

  • Nacquero così i Sistemi Operativi di rete e i Sistemi Operativi distribuiti

  • I primi altro non sono che normali Sistemi Operativi ai quali vengono aggiunti i software per il collegamento a macchine remote e quindi alle relative risorse condivise come file e stampanti

  • I secondi sono Sistemi Operativi che girano su sistemi a più processori oppure che inviano i processi da elaborare ad altri computer della rete


I sistemi operativi di rete 2 l.jpg
I Sistemi Operativi di rete (2)

  • I Sistemi Operativi distribuiti sono dotati di particolari politiche di scheduling che permettono una efficace allocazione dei processi tra le CPU disponibili. Inoltre anche il sistema di archiviazione (file system) è unico, anche se in realtà è distribuito tra vari nodi della rete

  • Esempi di sistemi di rete sono tutte le versioni di Windows dalla NT3.1 in poi, mentre UNIX e derivati fanno parte di entrambe le categorie in quanto supportano entrambe le tecnologie


Appendice 1 cronologia dei s o 60 l.jpg

1961

CTSS

1964

OS/360 (annunciato)

1965

Multics (annunciato)

OS/360 (disponibile)

Tape Operating System (TOS)

1966

MS/8

1967

CP/CMS

ITS

WAITS

1969

ACP (IBM)

TENEX

Unix

Appendice 1: Cronologia dei S.O. (‘60)


Appendice 1 cronologia dei s o 70 l.jpg

1970

DOS/BATCH 11 (PDP-11)

1971

OS/8

1972

MFT

MVT

RDOS

SVS

VM/CMS

1973

Alto OS

RSX-11D

RT-11

VME

1974

MVS (MVS/XA)

1976

CP/M

TOPS-20

1978

Apple DOS 3.1 (Primo sistema operativo dell'Apple)

TRIPOS

VMS

1979

Apple DOS 3.2

Appendice 1: Cronologia dei S.O. (‘70)


Appendice 1 cronologia dei s o 80 1 l.jpg

1980

Apple DOS 3.3

OS-9

QDOS

SOS

XDE (Tajo) (Xerox Development Environment)

Xenix

1981

MS-DOS

Xerox Star

1982

SunOS (1.0)

Ultrix

1983

Lisa OS

Coherent

ProDOS

1984

Macintosh OS (System 1.0)

QDOS (Sistema Operativo del Sinclair QL)

QNX

UniCOS

1985

AmigaOS 1.0

Atari TOS

MIPS OS

Microsoft Windows 1.0

Appendice 1: Cronologia dei S.O. (‘80) (1)


Appendice 1 cronologia dei s o 80 2 l.jpg

1986

AIX

GS-OS

HP-UX

1987

AmigaOS 1.2

Arthur

IRIX (3.0 è la prima versione prodotta dall'SGI)

Minix

OS/2 1.0

Microsoft Windows 2.0

1988

A/UX (Apple Computer)

AmigaOS 1.3

LynxOS

MVS/ESA

OS/400

1989

NEXTSTEP 1.0

RISC OS

SCO Unix Release 3

Appendice 1: Cronologia dei S.O. (‘80) (2)


Appendice 1 cronologia dei s o 90 1 l.jpg

1990

AmigaOS 2.0

BeOS (v1)

OSF/1

1991

Linux

1992

AmigaOS 2.1, 3.0

Solaris (2.0 è la prima versione non chiamata SunOS)

Windows 3.1

1993

Plan 9

FreeBSD

NetBSD

Slackware Linux

Windows NT 3.1 (Prima versione di NT)

1994

AmigaOS 3.1

Red Hat Linux

Appendice 1: Cronologia dei S.O. (‘90) (1)


Appendice 1 cronologia dei s o 90 2 l.jpg

1995

Digital Unix (detto anche Tru64)

OpenBSD

OS/390

Windows 95

1996

Debian GNU/Linux (Debian 1.1) [1]

1997

Mac OS 7.6 (Primo sistema operativo ufficialmente chiamato Mac OS)

1998

Windows 98

1999

AmigaOS 3.5

AROS (Parte per la prima volta in modalità stand-alone)

Mac OS 8

Appendice 1: Cronologia dei S.O. (‘90) (2)


Appendice 1 cronologia dei s o 2000 1 l.jpg

2000

AmigaOS 3.9

AtheOS

Mac OS 9

Mac OS X Public Beta

MorphOS 0.4 (Versione "free distro" per Amiga con schede PowerPC)

Windows 2000

Windows ME

2001

AmigaOS 4 (Maggio, annunciato)

Mac OS X 10.0 (Cheetah)

Mac OS X 10.1 (Puma)

Windows XP

z/OS

2002

AROS (Interfaccia grafica nativa ZUNE)

Mac OS X 10.2 (Jaguar)

Syllable

Appendice 1: Cronologia dei S.O. (2000) (1)


Appendice 1 cronologia dei s o 2000 2 l.jpg

2003

Mac OS X 10.3 (Panther)

MorphOS 1.4.2

Windows Server 2003

2004

MorphOS 1.4.3

AmigaOS 4.0 Developer PreRelease per gli AmigaONE

2005

Gentoo Linux 2005.0

MorphOS 1.4.4

MacOS X 10.4 (Tiger)

Windows Server 2003 x64 Edition

Windows XP Professional x64 Edition

MacOS X 10.4 (Versione Server)

MorphOS 1.4.5

YellowTAB ZETA (BeOS Clone) 1.0 (1 luglio 2005)

Windows Vista (Versione beta)

Pardus 1.0

Appendice 1: Cronologia dei S.O. (2000) (2)


Appendice 1 cronologia dei s o 2000 3 l.jpg
Appendice 1: Cronologia dei S.O. (2000) (3)

  • 2006

    • Ubuntu 6.06 LTS

    • Pardus 2007

  • 2007

    • Mac OS X (Leopard)

    • Windows Vista

    • Windows codename Longhorn Server (Anno previsto per il rilascio di questo SO)

  • 2011

    • Windows Vienna (Anno previsto per il rilascio di questo SO)


Sitografia l.jpg
Sitografia

  • http://it.wikipedia.org/wiki/Storia_dei_sistemi_operativi

  • http://fabrizio.ciacchi.it/guide.php/soperativi.htm


ad