Storia dei Sistemi Operativi - PowerPoint PPT Presentation

About This Presentation
Title:

Storia dei Sistemi Operativi

Description:

Storia dei Sistemi Operativi Corso di Storia dell Informatica e del Calcolo Automatico SICSI VII ciclo Autore: Mauro Beller Definizione Il Sistema Operativo ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 37
Provided by: peopleNa4
Category:

less

Transcript and Presenter's Notes

Title: Storia dei Sistemi Operativi


1
Storia dei Sistemi Operativi
  • Corso di Storia dellInformatica e del Calcolo
    Automatico
  • SICSI VII ciclo
  • Autore Mauro Bellerè

2
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.

3
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

4
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

5
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

6
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.

7
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)

8
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)

9
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.

10
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.

11
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

12
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.

13
La terza generazione
  • Lavvento 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

14
LIBM 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

15
La multiprogrammazione
  • NellOS/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

16
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

17
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

18
UNIX
  • UNIX fu progettato a partire dal 1969 da un
    gruppo di ricercatori della ATT 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.

19
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.

20
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

21
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

22
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.

23
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.

24
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).

25
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

26
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 NT 3.1 in poi, mentre UNIX e
    derivati fanno parte di entrambe le categorie in
    quanto supportano entrambe le tecnologie

27
Appendice 1 Cronologia dei S.O. (60)
  • 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

28
Appendice 1 Cronologia dei S.O. (70)
  • 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

29
Appendice 1 Cronologia dei S.O. (80) (1)
  • 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

30
Appendice 1 Cronologia dei S.O. (80) (2)
  • 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

31
Appendice 1 Cronologia dei S.O. (90) (1)
  • 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

32
Appendice 1 Cronologia dei S.O. (90) (2)
  • 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

33
Appendice 1 Cronologia dei S.O. (2000) (1)
  • 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

34
Appendice 1 Cronologia dei S.O. (2000) (2)
  • 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
  • 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

35
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)

36
Sitografia
  • http//it.wikipedia.org/wiki/Storia_dei_sistemi_op
    erativi
  • http//fabrizio.ciacchi.it/guide.php/soperativi.ht
    m
Write a Comment
User Comments (0)
About PowerShow.com