![]() |
Risultati di Windows Live® Search
Risultati di Windows Live® Search Pagina 4 di 5
Struttura articolo
Introduzione; Tecnologia dei computer; Cenni storici; Tipologia dei computer; Hardware; Software; Sviluppi futuri
Le diverse periferiche di un computer gestiscono i dati in forme generalmente diverse da quelle proprie dell’elaboratore. I sistemi operativi interni, registrati nella ROM, hanno lo scopo primario di coordinare e adattare i flussi di dati provenienti da sorgenti diverse, quali i disk drive e i coprocessori (circuiti integrati con capacità di elaborazione, in grado di operare contemporaneamente all’unità centrale). Un sistema operativo è un programma di controllo che svolge operazioni fondamentali, risiede in una memoria interna permanente e interpreta i comandi di utente che richiedono varie specie di servizi, come la visualizzazione, la stampa o la copiatura di un file, il raggruppamento logico dei file in una directory o l’esecuzione di un programma.
Un programma è una sequenza di istruzioni che indica all’hardware di un calcolatore le operazioni da eseguire per l’elaborazione dei dati. I programmi possono essere vincolati alla struttura del calcolatore, come nel caso dei computer specializzati per un’unica funzione, detti “dedicati” (ad esempio, quelli presenti nelle calcolatrici tascabili, negli orologi da polso o nelle automobili) o possono esserne indipendenti. Un computer per applicazioni generali contiene sì alcuni programmi o istruzioni non modificabili, rispettivamente nelle ROM e nel processore, ma dipende da programmi esterni per lo svolgimento delle funzioni applicative, quali ad esempio l’elaborazione di testi o la realizzazione di immagini grafiche. Una volta programmato, un computer può compiere tutte e solo le funzioni che il software di cui dispone gli permette.
Un computer deve ricevere le istruzioni in un opportuno linguaggio di programmazione; in altre parole, il sistema deve poter associare a ogni comando impartito dal programmatore una specifica combinazione di cifre binarie. Nei primi computer la programmazione era assai laboriosa, poiché lo stato degli elementi circuitali binari realizzati con i tubi a vuoto doveva essere predisposto manualmente. Squadre di tecnici impiegavano giorni per programmare semplici attività come la disposizione in ordine alfabetico di un elenco di nomi. I progressi nel settore dell’informatica hanno portato, per passi successivi, allo sviluppo di diversi tipi di linguaggi di programmazione, alcuni orientati in modo specifico a funzioni definite, altri ideati in modo da risultare di semplice impiego (approccio “amichevole” o user-friendly).
Il linguaggio, o codice, macchina è costituito da combinazioni di stati binari direttamente comprensibili al computer. Un programmatore di linguaggio macchina deve inserire ogni dato o comando in forma binaria; ad esempio, una semplice operazione come “confronta il contenuto di un registro con il dato presente in una certa locazione di memoria” può richiedere la scrittura di una sequenza del tipo: 11001010 00010111 11110101 00101011. La programmazione in linguaggio macchina, oggi non più necessaria, permetterebbe di ottimizzare i programmi per svolgere compiti ben precisi, ma richiede talmente tanto tempo che viene generalmente sostituita con altri tipi di programmazione.
Il linguaggio assembly è un codice ideato dai programmatori per abbreviare e semplificare la scrittura dei programmi. Consiste nell’assegnare a ciascun comando in linguaggio macchina un breve codice, in genere di tre lettere, che ne richiami il significato (ad esempio JMP per 'jump'). Così la scrittura di un programma o le operazioni di debug (correzione degli errori nella logica o nei dati) possono essere svolte molto più facilmente che lavorando su codici binari. Nei linguaggi assembly, ogni codice mnemonico corrisponde a un’istruzione in linguaggio macchina. Un programma assemblatore provvede a tradurre la sequenza di istruzioni scritta in termini mnemonici, detta codice sorgente, nella corrispondente sequenza di codici binari in linguaggio macchina, detta codice oggetto; quindi provvede all’esecuzione del programma. I linguaggi assembly hanno lo svantaggio di essere specifici per ogni tipo di CPU o di microprocessore; questo impone che un programmatore conosca diversi linguaggi assembly per poter programmare macchine differenti. Per questo motivo si è reso necessario lo sviluppo di nuovi linguaggi nei quali un’unica espressione simbolica rappresenti più di un’istruzione in linguaggio macchina, e di un sistema che permetta allo stesso programma di “girare” su macchine di diverso tipo. Tale necessità ha portato alla creazione dei linguaggi di alto livello.
|
© 2008 Microsoft
![]() ![]() |