Il software
Finora si e` parlato di hardware, ovverossia dei costituenti fisici
del calcolatore. Tuttavia un computer e` inutilizzabile se non e` corredato dal
software, ovvero dai programmi mediante i quali il processore esegue le
elaborazioni desiderate sui dati in ingresso, producendo l'output.
Il software si puo` suddividere in 2 categorie:
- software di servizio
Si tratta dei programmi che gestiscono l'hardware della macchina permettendo
all'utente di utilizzarlo in maniera semplice, oppure di programmi che
permettono o facilitano lo sviluppo di altro software. In particolare:
- il BIOS (Basic Input Output System) e` il software che
gestisce direttamente le varie periferiche; ogni periferica ha il suo BIOS,
conservato in una memoria non volatile interna alla periferica stessa.
Anche la scheda madre ha il suo BIOS, ed e` questo che si occupa ad esempio
di effettuare i test all'accensione del computer e di segnalare eventuali
problemi dell'hardware
- il sistema operativo e` l'insieme dei programmi che costituiscono
l'interfaccia tra l'utente e l'hardware, permettendo di utilizzare
quest'ultimo in maniera semplice.
E` una logica conseguenza quindi che il modo di utilizzare la macchina da
parte dell'utente sia fortemente dipendente dal sistema operativo
utilizzato.
Esempi di sistemi operativi sono:
|
|
Processore
|
Produttore
|
Sistema Operativo
|
x86 Intel
|
VAX Digital
|
Alpha Digital
|
Sparc Sun
|
68k/ppc Motorola
|
Apollo HP
|
Apple
|
MAC OS
|
-
|
-
|
-
|
-
|
X
|
-
|
Compaq(Digital)
|
VMS
|
-
|
X
|
X
|
-
|
-
|
-
|
Compaq(Digital)
|
Ultrix (unix)
|
-
|
X
|
-
|
-
|
-
|
-
|
Compaq(Digital)
|
OSF (unix)
|
-
|
-
|
X
|
-
|
-
|
-
|
Hewlett Packard
|
HP-UX (unix)
|
-
|
-
|
-
|
-
|
-
|
X
|
Microsoft
|
MSDOS
|
X
|
-
|
-
|
-
|
-
|
-
|
Microsoft
|
Windows
|
X
|
-
|
-
|
-
|
-
|
-
|
Microsoft
|
WindowsNT
|
X
|
-
|
X
|
-
|
-
|
-
|
Sun
|
Solaris (unix)
|
X
|
-
|
-
|
X
|
-
|
-
|
-
|
linux
|
X
|
X
|
X
|
X
|
X
|
-
|
Come si vede dalla tabella un dato sistema operativo puo` funzionare solo su
una o alcune macchine (processori). Si vede pero` che di alcuni sistemi
operativi (es. linux) sono state preparate diverse versioni adatte a
macchine di tipo diverso e che su un dato tipo di hardware (es. i processori
Intel dei Personal Computer) si possono utilizzare sistemi operativi
differenti
- linguaggi di programmazione e debugger
Si tratta del software che serve ai programmatori per sviluppare altro
software usando linguaggi evoluti e specializzati, che rendono piu`
semplice ed efficiente la programmazione. Esempi di linguaggi di
programmazione sono Fortran, C, Basic, Pascal, Java, Cobol.
I debugger sono programmi per aiutare il programmatore a trovare
errori (bugs) nel software.
- software applicativo
E` tutto il resto del software che non ha funzione di servizio e gestione
della macchina, ma serve per affrontare specifici problemi: word processors,
browsers, programmi per grafica, calcolo, simulazione, gioco, etc.