2 SOFTWARE

2 SOFTWARE

Le categorie di software

Il software è la componente logica del sistema ed è costituito dai programmi e dai dati.


I dati sono la componente inserita, memorizzata, elaborata e restituita in output dai programmi. In quanto tali, e poiché non fisicamente cablati sui componenti hardware del computer, fanno parte del software.

Tuttavia, nell’uso comune, il termine software viene utilizzato per indicare esclusivamente i programmi, cioè le sequenze di istruzioni che vengono eseguite dai computer. Esistono quattro categorie principali di programmi:

  •  firmware;
  • software di base;
  • driver;
  • programmi applicativi.

I FIRMWARE

Il firmware è una sequenza di istruzioni (cioè un programma) direttamente integrata all’interno di un componente elettronico. Generalmente trova posto all’interno di una memoria ROM o di un processore.

Il firmware più conosciuto è quello che risiede all’interno della ROM, chiamato comunemente BIOS (Basic Input-Output System), responsabile del corretto avvio del computer.

Lo sapevi che

Il termine firm, in inglese, significa anche azienda, infatti, normalmente, il firmware è un software che viene inserito nel componente hardware direttamente dal suo produttore.

  ApprofondiMENTO
IL BIOS E IL BOOTSTRAP

Le ROM utilizzate nei computer sono in realtà dei chip EEPROM posizionati sulla scheda madre. Un EEPROM (Electrically Erasable Programmable ROM) è una ROM sulla quale è possibile scrivere anche più volte piccole quantità di informazioni a livello software.

Quando il computer viene acceso, la CPU legge le prime istruzioni a partire da una locazione fissa nella memoria EEPROM. Queste prime istruzioni di avvio (bootstrap) del computer caricano nella RAM il software BIOS che si trova memorizzato permanentemente nella EEPROM stessa. Il BIOS effettua i controlli di diagnostica dell’hardware (chiamati POST, Power-On Self-Test) e carica nella RAM il sistema operativo prelevandolo dalla memoria di massa e lo fa partire.

Da questo momento il controllo viene preso dal sistema operativo.

il software di base

Il software di base, a sua volta si divide in: sistemi operativi, compilatori e interpreti e librerie.

Il sistema operativo

Il ▶ sistema operativo è un insieme di software che rende operativo il computer e i dispositivi a esso collegati.


Nasconde all’utente i dettagli tecnici legati all’hardware, rappresentando le informazioni con interfacce ad alto livello, comprensibili all’uomo. Inoltre è la base sulla quale si “appoggiano” tutti gli altri software, che per funzionare devono essere riconosciuti e supportati. Assieme al processore, costituisce la cosidetta piattaforma del sistema di elaborazione.

I sistemi operativi possono essere (▶ unità 5):

  • sistemi proprietari: che per essere utilizzati necessitano di una licenza a pagamento. Per esempio Windows, MS-DOS, Mac OS, iOS e alcune versioni di Unix;
  • sistemi open-source: cioè software gratuiti, di cui è reso pubblico il codice sorgente, favorendone il libero studio e permettendo ai programmatori di apportarvi modifiche ed estensioni. Per esempio Linux, Android e alcune versioni di Unix.

 >> pagina 51 
I compilatori e gli interpreti

Un compilatore è un programma che traduce il codice sorgente (cioè le istruzioni scritte in linguaggio di programmazione) in codice oggetto (cioè in istruzioni in linguaggio macchina) (▶ unità 11).

Un interprete è un programma che esegue un altro programma scritto in linguaggio di alto livello senza passare attraverso la compilazione, ma eseguendo le istruzioni partendo direttamente dal codice sorgente, traducendole di volta in volta in istruzioni in linguaggio macchina (▶ unità 11).

Le librerie

Una libreria è un insieme di funzioni o strutture dati predefinite, utilizzabili da un programma software al quale vengono collegate.


Lo scopo delle librerie è fornire una collezione di codice riutilizzabile, che eviti al programmatore di dover riscrivere ogni volta le stesse funzioni o strutture dati, facilitando e velocizzando le operazioni di sviluppo e manutenzione del software.

Quasi tutti i linguaggi di programmazione includono delle librerie standard, come per esempio una libreria matematica, una libreria per l’input/output, una libreria di strutture dati ecc. che risolvono problemi di programmazione comuni.

  ApprofondiMENTO
le VERSIONI DI UN SOFTWARE

Nel corso del tempo i sistemi operativi e i programmi applicativi necessitano di revisioni per:

1. correggere gli errori;

2. risolvere le vulnerabilità di sicurezza;

3. migliorare le prestazioni;

4. aggiungere nuove funzionalità;

5. adattarsi alle nuove caratteristiche delle piattaforme;

6. migliorare l’interazione con l’utente.


Vengono perciò prodotte versioni successive del software.

il Driver

Il driver è un insieme di programmi che consentono al sistema operativo di utilizzare l’hardware, dialogandoci attraverso un’interfaccia standard che permette di considerare solo il funzionamento logico dell’hardware e non la sua implementazione fisica (cioè l’effettiva realizzazione di un circuito o di un componente). Ciascun driver è specifico sia per l’hardware che pilota, sia per il sistema operativo per cui è scritto.

i Programmi applicativi

I programmi applicativi sono i software utilizzati dagli utenti, per esempio programmi per l’ufficio, videogiochi, browser per navigare in Internet, chat ecc. Sono software applicativi anche quelli di diagnostica hardware o software, o quelli che gestiscono gli aggiornamenti.

  prova tu

Rispondi alle seguenti domande.

  • Quale funzione svolge il BIOS?
  • Che cosa significa open-source?
  • A che cosa servono i driver?

Clic!
Clic!
Tecnologie informatiche per il primo biennio