Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...
Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...
Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1. STRUTTURA DELL’ELABORATORE<br />
Sul software<br />
Memoria<br />
cache<br />
questi processi veniva eseguito, tuttavia, quando il processo in esecuzione richiedeva un’istruzione <strong>di</strong> ingresso<br />
o <strong>di</strong> uscita, esso veniva sospeso attivando le unità periferiche necessarie per l’esecuzione dell’istruzione<br />
data. Questa tecnica richiedeva una elevata capacità della memoria centrale e solo pochi sistemi potevano<br />
funzionare in modo adeguato.<br />
Uno dei primi sistemi che iniziò ad utilizzare la multiprogrammazione fu il sistema OS/360 realizzato per<br />
i computer IBM 360. Questo sistema operativo fu importante per due motivi:<br />
G si cercò <strong>di</strong> realizzare un sistema operativo uniforme e compatibile per macchine IBM molto <strong>di</strong>verse tra<br />
loro per quando riguarda l’hardware sottostante: fino a quel momento ogni macchina aveva il proprio<br />
sistema operativo, che cambiava da macchina a macchina!<br />
G lo sviluppo <strong>di</strong> questo sistema operativo fu molto delicato e complesso e aprì lo stu<strong>di</strong>o delle<br />
problematiche relative all’ingegneria del software.<br />
Nonostante questi progressi, la multiprogrammazione non permetteva molta interattività tra utente e<br />
computer: <strong>di</strong> fatto l’utente consegnava i dati e il programma da eseguire (un pacco <strong>di</strong> schede perforate) all’operatore<br />
del computer e accedeva ai risultati dopo qualche ora se non ad<strong>di</strong>rittura dopo giorni e giorni, risultati<br />
che riceveva in forma cartacea ad esecuzione avvenuta (non c’era ancora il monitor per la visualizzazione<br />
su video dei risultati).<br />
Per risolvere questo tipo <strong>di</strong> problemi, l’uso delle schede fu sostituito da appositi terminali sempre collegati<br />
al computer e furono cambiate le modalità <strong>di</strong> gestione dell’unità centrale mo<strong>di</strong>ficando i sistemi operativi<br />
esistenti. Si arrivò all’interazione con il computer non più me<strong>di</strong>ante schede perforate bensì tramite tastierastampante<br />
o tramite tastiera-monitor.<br />
Alla fine del 1950 si introdusse il concetto <strong>di</strong> time-sharing che permetteva l’esecuzione <strong>di</strong> più processi<br />
in modo da poter sod<strong>di</strong>sfare le esigenze <strong>di</strong> più utenti contemporaneamente. Con il time-sharing si assegna,<br />
infatti, un piccolo intervallo <strong>di</strong> tempo a ciascun processo dando l’impressione che ciascun processo vada<br />
avanti parallelamente agli altri.<br />
Gli sviluppi del sistema operativo ottenuti da allora fino ad oggi si possono così riassumere: il sistema<br />
operativo fornisce funzioni <strong>di</strong> base per la gestione delle risorse, quali:<br />
G uso del processore (multitasking: l’uso della CPU è permesso ad un programma alla volta per brevi<br />
intervalli <strong>di</strong> tempo, quin<strong>di</strong> l’utente può eseguire più programmi contemporaneamente)<br />
G uso della memoria centrale (memoria virtuale)<br />
G riconoscimento e gestione <strong>degli</strong> utenti (multiutenza)<br />
G gestione delle periferiche (drivers)<br />
G file system<br />
G interfaccia grafico.<br />
Il software <strong>di</strong> base (o general purpose) può avere funzioni varie: e<strong>di</strong>tor <strong>di</strong> testo, elaborazione <strong>di</strong> testi, fogli<br />
elettronici, posta elettronica, internet.<br />
Il software applicativo è costituito da programmi che hanno obiettivi specifici come intrattenimento,<br />
controllo <strong>di</strong> sistemi, progettazione (CAD), risoluzione <strong>di</strong> problemi matematici.<br />
Per migliorare le prestazioni <strong>di</strong> un computer si inserisce una memoria interme<strong>di</strong>a tra CPU e RAM, detta<br />
cache. Si trova all’interno del processore. È più veloce della RAM ma anche più costosa.<br />
1.5.1 Per capire meglio il sistema operativo<br />
Immaginiamo un ristorante con un capo-cuoco, il suo aiutante, una cucina, i camerieri e i clienti. I clienti<br />
scelgono un piatto dal menu, un cameriere prende l’or<strong>di</strong>ne e lo porta al capo-cuoco. Il capo-cuoco riceve<br />
l’or<strong>di</strong>ne e assegna al suo aiutante il compito <strong>di</strong> preparare il piatto. L’aiutante si de<strong>di</strong>cherà alla preparazione<br />
del piatto, compito che potrà richiedere più attività. Il capo-cuoco, intanto, supervisiona la preparazione dei<br />
piatti e gestisce le risorse (limitate) dei posti nel ristorante.<br />
G il capo-cuoco rappresenta il sistema operativo,<br />
G i clienti sono gli utenti,<br />
G le ricette associate ai piatti corrispondono ai programmi,<br />
G gli ingre<strong>di</strong>enti sono l’input del programma,<br />
G il piatto è l’output del programma,<br />
G il menu e il cameriere sono l’interfaccia verso il sistema operativo,<br />
8