Anteprima
Vedrai una selezione di 6 pagine su 21
1900, evoluzioni e catastrofi tesina Pag. 1 1900, evoluzioni e catastrofi tesina Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
1900, evoluzioni e catastrofi tesina Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
1900, evoluzioni e catastrofi tesina Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
1900, evoluzioni e catastrofi tesina Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
1900, evoluzioni e catastrofi tesina Pag. 21
1 su 21
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

Introduzione 1900, evoluzioni e catastrofi tesina



La seguente tesina di maturità descrive il 1900, un secolo di evoluzioni e di catastrofi. La tesina di maturità abbraccia le varie materie scolastiche: in Italiano Primo Levi, in Storia Seconda guerra mondiale, in Inglese Second World War, in Informatica gli alberi, in Sistemi di elaborazione la storia dei sistemi operativi, in Calcolo e statistica la Ricerca Operativa e in Elettronica la storia dei transistor.

Collegamenti


1900, evoluzioni e catastrofi tesina



Italiano-Primo Levi.
Storia-Seconda guerra mondiale.
Inglese-Second World War.
Informatica-Gli alberi.
Sistemi di elaborazione-La storia dei sistemi operativi.
Calcolo e statistica-Ricerca Operativa.
Elettronica-La storia dei transistor.
Estratto del documento

ALBERO BINARIO DI

RICERCA (ABR)

Un albero binario si dice di ricerca quando:

Per ogni nodo dell'albero il campo informativo è maggiore dei campi informativi del sottoalbero sinistro e

minore delle informazioni che si trovano nel sottoalbero destro

La visita in ordine di un ABR produce le chiavi in modo ordinato

Albero Binario Di Ricerca

All'interno dei nodi dell'albero è indicato solo il valore del campo informativo ipotizzando che esso sia di

tipo numerico. 6

LA STORIA DEI

SISTEMI OPERATIVI

DAGLI ANNI 40 A OGGI

Anni 40-50: Elaborazione seriale

I calcolatori venivano realizzati con le valvole elettroniche quindi avevano dimensioni e prezzi

grandissimi, tanto da scoraggiare l’uso se non per usi di ricerca come nelle università o per usi

bellici (come la Seconda Guerra Mondiale). Erano lentissimi rispetto alla velocità d’esecuzione dei

giorni d’oggi, tipicamente 5.000 istruzioni al secondo. Erano così costosi e complessi che erano

fatti su ordinazioni e ognuno era diverso e finalizzato solo allo scopo per cui era stato progettato,

realizzato e venduto. Ma la differenza più evidente tra i calcolatori di questi anni e quelli odierni è

l’assenza del concetto di Sistema Operativo. Quando questi calcolatori venivano venduti, venivano

associati dei tecnici in grado di fare manutenzione e capaci ad usarli.

Metà anni 50: elaborazione a batch

In questi anni vennero applicati i Transistor all’informatica, che rivoluzionarono notevolmente il

mondo dei calcolatori, riducendone di molto le dimensioni e il prezzo, aumentando così la velocità

d’esecuzione. In questi anni nascono i primi linguaggi di programmazione ad alto livello come

l’Assembler, iniziarono così anche le produzioni standard aumentando le vendite. La fase di

esecuzione comprendeva: la predisposizione del compilatore adeguato, l’inserimento del codice

sorgente, compilazioni con eventuale uso di librerie o moduli esterni ed esecuzione del codice

prodotto dall’elaboratore. Il problema di fondo è che ad ogni operazione richiedeva un operatore

che preparava ogni fase. Così per ridurre i tempi e il personale, vennero raggruppati tutti i

programmi con caratteristiche simili (stesso compilatore, stesse librerie, stessi moduli) in lotti detti

Batch, che venivano eseguiti sequenzialmente per risparmiare i tempi di impostazione del

calcolatore, fu sviluppato un modulo software specifico, chiamato Monitor, capace di interpretare

un numero ristretto di istruzioni utilizzate dai calcolatori per automatizzare i meccanismi di

esecuzione di un programma, come: il caricamento dei compilatori e dei moduli, l’avvio delle fasi 7

di esecuzione, la memorizzazione del codice prodotto, l’esecuzione del programma stesso, la

gestione dell’input e dell’output e la ricerca di eventuali errori. I dispositivi d’input tipici erano i

lettori dei schede perforate, quindi l’ordine delle istruzioni era l’ordine in cui le schede erano

fisicamente inserite nel lettore, mentre dispositivi d’uscita tipici erano le stampanti. Si può quindi

affermare che il monitor è il precursore dei moderno Sistemi Operativi. Ma questa tecnica aveva

uno svantaggio, visto l’elevato costo di una CPU non ci si poteva permetter di non sfruttarla a

pieno, infatti durante l’input e l’output rimaneva inattiva aumentando il tempo d’esecuzione.

Fine anni 50 (Batch multitasking)

Il problema del poco uso della CPU è stato risolto con la tecnica dello spolling. Lo spolling

prevedeva che la CPU prendesse dati in input dal disco e l’output fosse fatto su disco così da

velocizzare le operazioni, era poi compito di un secondo calcolatore mettere a disposizione sul

disco i dati in input e a stampare i dati in output. Ma per essere funzionale il secondo calcolatore

deve fornire i dati prima di quando la CPU ne abbia bisogno, usando anche più periferiche

contemporaneamente. Ma questa tecnica non basta a velocizzare abbastanza i processi, così

vengono aggiunte nuove funzioni al monitor, viene programmato in modo da riuscire a portare

avanti più programmi contemporaneamente. Per far ciò la CPU eseguiva il codice di un solo

programma quando il programma aveva bisogno di una periferica di input o di output il monitor

attivava il secondo calcolatore lasciando così che la CPU continuasse l’esecuzione di altri

programmi. Ma questa tecnica funziona solo nel caso in cui più programmi non richiedano

contemporaneamente l’uso dello stesso dispositivo di input o output. Questa architettura è detta

batch multitasking 8

Il termine calcolatore viene sostituito col termine mainframe. Nel monitor vengono aggiunte

funzioni ancora oggi importanti come la gestione condivisa della memoria che permette

l’allocazione in memoria di più programmi contemporaneamente. All’inizio era possibile

adottando partizioni di memoria, ma successivamente furono adottate partizioni di memorie

virtuali, creando spazi logici, uno per ogni programma in esecuzione, tutti riferiti a spazi di

memoria disponibili. Un’altra funzione importante implementata nel monitor è il meccanismo di

protezione che garantisce che i vari programmi non interferiscano col Sistema Operativo, o tra di

loro; era implementato a livello hardware progettando due utenze diverse con privilegi diversi:

modalità utente in cui il programma ha accesso solo al suo spazio su dico e modalità protetta

(Kernel) in cui il monitor, ha accesso a tutte le aree di memoria e può cambiare modalità

operativa.

Primi anni 60 (elaborazione a divisione del tempo)

Benché il multitasking desse grandi vantaggi in ambito di velocità d’esecuzione, aveva ancora degli

svantaggi come la mancanza di interattività tra utente e programma, e soprattutto i programmi

che usavano più frequentemente i dispositivi di input e output erano svantaggiati. Per questo

problema il monitor (diventato a tutti gli effetti un Sistema Operativo) lascia al programma

l’utilizzo della CPU per una frazione di tempo, quando questa frazione di tempo si esaurisce o il

programma ha bisogno di un dispositivo di input o di output il controllo della CPU torna al Sistema

Operativo, se il tempo non è sufficiente per la completa esecuzione del programma il Sistema

Operativo riprende il controllo della CPU e l’esecuzione del programma viene momentaneamente

bloccata finche il programma torna a controllare la CPU e continua l’esecuzione del programma da

dove si era bloccata. Con l’avvento dei circuiti integrati questa frazione di tempo è stata fissata a

qualche decina di millisecondi. Questa tecnica prese il nome di time-sharing e garantì

un’interattività tra utente e calcolatore. In questo modo il calcolatore esegue

contemporaneamente più applicazioni di utenti diversi. Questa frazione di tempo si chiama time-

slice. I tempi di risposta della CPU dipendono dalla capacità del sistema e dal numero di

programmi in esecuzione, due parametri controllati dal Sistema Operativo. Il time-sharing è

implementato a livello hardware tramite interrupt, facilmente gestibile a livello software. Ora il

problema era scegliere quale programma sarebbe stato eseguito alla fine del time-slice. Problema

risolto con l’utilizzo della politica di scheduling. In questi anni cambiarono anche i termini, il

termine programma fu sostituito da processo, l’esecuzione quindi diventò un esecuzione di tipo

multiprocessing, il termine mainframe, il computer centrale, venne chiamato minicomputer,

capace con un solo time-sharing di gestire 10-100 utenze.

Anni 60-70 (Architettura dei Sistemi Operativi a Kernel)

Le funzioni implementate nel Sistema Operativo erano così complesse che è sorto il bisogno di

frammentarle in più programmi. I programmi venivano divisi in base alla necessità che il

calcolatore aveva di eseguirli, i programmi indispensabili erano: il modulo che gestisce la politica

di scheduling, il modulo che gestisce la fine del time-sharing e il modulo che gestisce

l’indirizzamento della memoria virtuale e degli spazi fisici nella memoria centrale. Questi e altri

moduli costruiscono la base del Sistema Operativo devono rimanere sempre in memoria pronti

per essere eseguiti, l’unione di questi moduli prende il nome di Kernel del Sistema Operativo. Di

questi anni è anche la creazione dei primi Floppy Disk precisamente nel 1967. 9

Anni 80(Personal Computer)

Negli anni 70 venne introdotto il Personal Computer, un calcolatore di dimensioni e capacità,

ridotte in grado di essere posto sopra una scrivania, e pensato per utenze singole. Non vi fu

introdotto il multitasking perché era inizialmente costruito per pochi appassionati e ricercatori, e

non aveva senso munirli di time-sharing dato che l’utente che vi lavorava era sempre lo stesso.

Un’innovazione dei Personal Computer era quella di poter lavorare sulla stessa macchina, non

contemporaneamente, con due sistemi operativi diversi visto che il sistema di boot, caricato ad

ogni accensione del Computer, veniva prelevato dalla memoria di massa prestabilita come un

Floppy Disk o il disco rigido. I Sistemi Operativi dei primi Personal Computer poteva gestire un solo

utente e eseguire un programma alla volta, il loro unico obbiettivo era quello di gestire le risorse.

La possibilità di installare lo stesso sistema operativo in macchine diverse garantì la trasportabilità

anche dei programmi, cioè era possibile eseguire lo stesso programma su due macchine diverse,

con CPU uguali ma con risorse diverse. Ciò fu possibile grazie al’interfaccia tra Sistema Operativo e

programmatore che diventò uno standard. La diffusione fu aiutata dal fatto che, essendo un

dispositivo che doveva essere utilizzabile da tutti, venne migliorata l’interfaccia utente, fino ad

allora l’interfaccia era una shell a linea di comando adatta solo da esperti. Nel 1984 l’Apple e la

Digital introdussero l’uso del mouse e un’interfaccia più semplice da usare. Negli anni 80 ci fu un

cambiamento radicale nel mondo dell’informatica, si passò da un’informatica centralizzata a

un’informatica distribuita grazie alla diffusione e quindi all’abbassamento dei prezzi dei computer,

così anche le strutture dei sistemi operativi cambiarono di conseguenza. Nelle imprese

l’informatica trova ampio sfogo in pochi dipendenti, la presenza di un mainframe all’interno di

un’azienda significava relegare a periferia il resto dell’azienda e riuniva in un unico punto, la

memorizzazione e l’elaborazione dei dati. Questa architettura aveva grandi vantaggi come il

controllo totale delle procedure e la standardizzazione dei dati, ma aveva lo svantaggio di non

permettere facilmente la gestione in locale dei propri dati. L’avvento dei personal computer

modificò i compiti delle aziende informatiche sostituendo la struttura a un solo livello con una

struttura gerarchica in cui i livelli intermedi potessero elaborare autonomamente e potessero sia

fornire servizi che usufruirne.

Anni 80-90(sistemi distribuiti)

L’avvento dell’informatica distribuita fece sorgere la necessità di instaurare un colloquio tra i

diversi calcolatori instaurando funzionalità specifiche come:

 Il networking: l’insieme delle attività che permettono di collegare in rete più utenti, per

realizzarlo è necessaria la presenza di un sistema di interconnessione utile per connettere i

computer come i cavi, le fibre ottiche e la linea del telefono, e un sistema di

comunicazione che integri sia il software

per scambiare informazioni che il Sistema Operativo.

 La protezione degli accessi: il meccanismo che identifica un utente attribuendogli i privilegi

per l’esecuzione delle operazioni e la propria partizione di memoria. Questa operazione è

molto più complessa del semplice multitasking perché ora il controllo va esteso alle risorse

generiche.

 La condivisione delle risorse tra utenti remoti cioè garantire agli utenti di accedere sia alle

risorse locali che risorse remote in egual modo. Le risorse maggiormente condivise in rete

sono la memoria di massa e la stampante. Per quanto riguarda la condivisione della

Dettagli
Publisher
21 pagine
16 download