Last Updated:

Appunti di informatica - il Software

Dario Fadda Appunti

Il confine tra hardware e software è sfumato; la terra di nessuno è occupata da uno strato di microprogrammi (o firmware) che sono scritti sulle memorie permanenti del calcolatore dal costruttore; tali programmi agiscono direttamente al di sopra dello strato hardware, e possono svolgere funzioni più o meno complesse. Il software di un sistema informatico viene classificato come segue:

  •  Software di base, dedicato alla gestione dell'elaboratore, che opera al di sopra dell'hardware e del firmware;
  •  Software applicativo, dedicato alla realizzazione di specifiche esigenze applicative, che opera al di sopra del software di base.

Il principale programma del software di base è il Sistema Operativo, che gestisce le varie risorse hardware presenti nell'elaboratore svolgendo funzioni differenziate a seconda della complessità del sistema di elaborazione sotto il suo controllo.

In un PC, il sistema operativo svolge prevalentemente tre funzioni:

  1. Interpretare ed eseguire dei comandi elementari;
  2. Organizzare le risorse della macchina (processore, memoria centrale, memoria di massa e unità periferiche);
  3. Gestire l'accesso alla rete cui il computer è eventualmente collegato.

La complessità del sistema operativo cresce al crescere della complessità del sistema informatico. Il sistema operativo fa vedere a ciascun utente un sistema di elaborazione apparentemente dedicato, in cui l'accesso a ogni risorsa da parte di un utente avviene come se gli altri utenti non esistessero. Il sistema operativo può far parte del sistema di elaborazione, in quanto venduto dal suo costruttore, oppure può essere realizzato da una società specializzata. In pratica un utente non può modificare le istruzioni del sistema operativo e può usare la macchina fisica solo per suo tramite.

Un altro importante componente dell'architettura software è il Sistema di gestione di basi di dati. Questo software viene impiegato per accedere e maneggiare grandi quantità di dati contenute in archivi (basi di dati o database) e condivise tra parecchi utenti.

Il sistema di gestione di basi di dati fornisce uno strato software che rende l'accesso e la condivisione dei dati, molto più semplice mediante diverse funzionalità proprie dei programmi applicativi, viene pertanto classificato tra il software di base.

Il software è anche in gran parte responsabile della gestione delle trasmissioni dati e delle reti di calcolatori. In particolare, mentre i canali di trasmissione hanno la responsabilità di trasportare segnali (elettrici), i protocolli di comunicazione (ossia i software di comunicazione) hanno il compito di garantire la corretta comunicazione sui canali stessi, garantendo la trasmissione dei dati dai terminali all'elaboratore e viceversa, oppure dei messaggi fra due elaboratori collegati in rete.

Al di sopra del sistema operativo e del software di comunicazione troviamo i programmi applicativi, che vengono scritti per risolvere specifici problemi utilizzando linguaggi di programmazione di alto livello.