18.01.2015 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1.5. Software e Sistema Operativo<br />

Il sistema operativo è costituito dall’insieme dei programmi essenziali per far funzionare la macchina.<br />

Esso utilizza piccoli programmi già presenti nel calcolatore per accedere ai singoli <strong>di</strong>spositivi fisici. Questi<br />

programmi prendono il nome <strong>di</strong> Device Driver e sono memorizzati nel BIOS (Basic Input Output System).<br />

Il BIOS si trova nella ROM del Computer.<br />

Il sistema operativo, da una parte, permette <strong>di</strong> rendere fruibile all’utente le molteplici risorse del computer<br />

(gestione della memoria, della stampante, della tastiera,...); dall’altra rende il computer uno strumento<br />

amichevole e utile per affrontare le molteplici attività che gli si richiedono.<br />

I compiti affidati al sistema operativo sono molteplici:<br />

G agire da interme<strong>di</strong>ario tra l’utente e l’harware del computer<br />

G controllare e coor<strong>di</strong>nare l’utilizzo dell’hardware tra i programmi applicativi<br />

G fornire gli strumenti per l’uso corretto delle risorse <strong>di</strong> tipo hardware e software del sistema<br />

G nascondere i dettagli legati alla gestione delle risorse del sistema.<br />

I primi sistemi operativi iniziarono a vedersi intorno alla metà <strong>degli</strong> anni cinquanta quando si cominciò<br />

a in<strong>di</strong>viduare una serie <strong>di</strong> programmi standard <strong>di</strong> comune utilizzo in<strong>di</strong>pendenti dall’applicazione specifica<br />

richiesta al computer.<br />

L’evoluzione dei sistemi operativi ha influenzato anche lo sviluppo dell’hardware in quanto per supportare<br />

certe funzioni del sistema operativo sono necessari meccanismi hardware ad hoc (basti pensare alla<br />

gestione della memoria o delle interruzioni).<br />

I primi computer come lo Z3 <strong>di</strong> Zuse o l’ENIAC non avevano sistema operativo. Per inserire un programma<br />

(scritto in linguaggio macchina) bisognava azionare un gruppo <strong>di</strong> interruttori o mo<strong>di</strong>ficare collegamenti<br />

tramite opportuni cavi e spinotti. Ci ren<strong>di</strong>amo conto, quin<strong>di</strong>, <strong>di</strong> quanto fosse <strong>di</strong>fficile usare il computer per<br />

risolvere problemi me<strong>di</strong>ante l’esecuzione <strong>di</strong> un programma perchè oltre alla competenza specifica del problema<br />

da risolvere, si richiedeva una grande conoscenza tecnica della macchina su cui si doveva lavorare. Il<br />

programma doveva contenere non solo le istruzioni per la risoluzione del problema (per esempio un sistema<br />

<strong>di</strong> equazioni) ma anche le istruzioni per gestire le unità <strong>di</strong> input e output e delle altre periferiche collegate al<br />

computer. Infine, poteva essere eseguito un solo programma alla volta.<br />

Considerando gli elevatissimi costi per la realizzazione e la gestione dei primi computer, il calcolo automatico<br />

era una risorsa preziosa a <strong>di</strong>sposizione <strong>di</strong> pochi utenti. Tutto ciò portò ad un ripensamento del modo<br />

<strong>di</strong> utilizzare i computer e nacquero le prime idee <strong>di</strong> sistema operativo.<br />

Per prima cosa si pensò <strong>di</strong> creare delle librerie con le istruzioni necessarie per eseguire le operazioni<br />

più comuni legate alla gestione delle periferiche del computer (ingresso e uscita dei dati, accesso alla<br />

memoria,...).<br />

Ulteriori progressi si ebbero quando il sistema operativo iniziò a sfruttare anche il <strong>di</strong>sco fisso ed ebbe<br />

inizio la cosiddetta multiprogrammazione, in base alla quale nella memoria centrale venivano tenuti attivi<br />

contemporaneamente alcuni processi e i loro dati pronti per essere eseguiti. Ad ogni momento, uno solo <strong>di</strong><br />

Cenni storici<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!