Introduzione al computer 1p

Transcript

Introduzione al computer 1p
Un giorno le macchine potranno
risolvere tutti i problemi;
ma nessuna di esse potrà mai
porne uno.
Albert Einstein
Non posso pretendere che la mia matita
da sola risolva i problemi
che non so risolvere io.
I computers sono come la mia matita:
strumenti neutri
dalla potenzialità illimitata
in mano alle capacità degli uomini
per usarli nel miglior modo possibile.
Albert Einstein
Introduzione al Computer
Massimo Bucchi
Prefazione
Mi capita spesso, parlando con amici, parenti o conoscenti, di sentire discorsi e domande sui
computers, sul loro utilizzo, sulle varie capacità e possibilità, sugli ultimi sviluppi tecnologici o
domande meno tecniche come l'impatto socioeconomico, se possono modificare il nostro modo di
pensare e di esistere, se nuocciono ai bambini, se servono veramente.
Questo testo vuol essere una risposta ad alcune delle tante domande senza per questo voler
diventare uno specifico manuale. Come dice lo stesso titolo, "Introduzione al Computer" vuole
essere un testo divulgativo, uno strumento d'approccio a questa macchina elettronica per
comprenderne gli utilizzi e le possibilità, ma anche per vederla per quello che realmente è: una
macchina, precisa, interessante, particolare ma pur sempre una macchina che aiuta l'uomo in alcuni
lavori.
Purtroppo, in passato, si sono create intorno al computer storie fantastiche che la stessa
fiction televisiva ha trasmesso a tutti coloro che sono cresciuti negli anni '50-'60 travisando la reale
essenza dei computers e mostrandoli spesso come esseri super intelligenti o distruttivi o
condizionanti della vita dell'uomo in un ipotetico futuro. Questo ha causato, in molte persone, una
sorta di rifiuto psicologico e paura di tale apparecchiatura che non trova riscontro in analoghi e a
volte più sofisticati strumenti come telefoni cellulari, HI-FI, ricevitori satellitari, GPS, ecc. o nei più
comuni televisori e videoregistratori.
Il testo è, per comodità, diviso in cinque capitoli in cui si parla della storia del computer,
dell' hardware, del software, delle reti ed Internet, con un ultimo capitolo dedicato ad un glossario
che permetta di comprendere i termini spesso misteriosi dell’informatica. Per quanto riguarda i
1
Introduzione al Computer
Massimo Bucchi
linguaggi e i vari programmi applicativi citati in questo testo, si invita a consultare gli specifici
manuali forniti con i programmi stessi o manuali tecnici ad essi rivolti, tenendo presente che spesso
molti manuali sono distribuiti in forma elettronica internamente ai programmi stessi, sotto forma di
Help (aiuto), oppure è possibile trovarli ad uno specifico indirizzo internet senza spendere nulla.
La terminologia, per quanto semplice, include necessariamente parole inglesi o da esse
derivate non essendo in molti casi termini traducibili. Questi termini sono spiegati nel testo ma
anche ripetuti nell'appendice Glossario in fondo al volume.
Un piccolo consiglio per tutti coloro poco propensi all'uso del computer è quello di seguire
un breve corso di base di informatica e per alcuni anche un piccolo corso di base di lingua inglese,
specialmente se intendete usare Internet, ma soprattutto di acquistare un personal computer da
tenere in casa per imparare ad usarlo e magari divertirsi un po’. Il divertimento o più genericamente
il gioco è il metodo migliore per apprendere nozioni su argomenti ritenuti utili solamente per il
lavoro.
Ed ora non perdete tempo ed iniziate a leggere la prossima pagina che vi condurrà nel
mondo dei computers.
2
Introduzione al Computer
Massimo Bucchi
Cenni storici
Sin dalla più lontana antichità gli uomini hanno cercato di ridurre la laboriosità
dell'esecuzione dei calcoli. I pallottolieri erano noti in Cina nell'VIII sec. a.C.; alla scuola pitagorica
si deve la tavola di moltiplicazione detta pitagorica; l'uso degli abachi era diffuso nella Roma
precristiana e strumenti analoghi erano usati dai Cinesi; tabelle di calcolo erano d'uso comune nel
medioevo.
Abaco
La prima macchina degna di questo nome, ossia capace di eseguire addizioni e sottrazioni
con ripresa automatica dei totali, è la macchina aritmetica di Wilhelm Schickard (1624) seguita nel
1642 da quella di Pascal.
Macchina di Pascal
3
Introduzione al Computer
Massimo Bucchi
Trent'anni dopo Pascal, Leibniz realizzò la prima macchina moltiplicatrice, fondata sul
principio di addizionare successivamente il moltiplicando tante volte quante sono le cifre del
moltiplicatore, con avanzamento del primo verso la sinistra, nella successione delle ruote dentate, a
ogni cambiamento di cifra del secondo.
Per quanto geniali fossero queste prime macchine (fra le quali è da citare quella del
veneziano G. Poleni, del 1709), esse ebbero nella loro epoca successo solo come curiosità. Occorre
giungere alla seconda metà del XIX sec. e l'inizio del XX per trovare un perfezionamento e
un'utilizzazione industriale delle macchine calcolatrici. La macchina di Roth (1841), l'aritmometro
di Thomas (1849), le macchine di Dactyle, Monroe, Burroughs apportarono miglioramenti al
funzionamento dell'organo di impostazione e al totalizzatore. Il sistema a leve dell'organo di
impostazione risale al 1885 (comptometer di Felt). I dispositivi di moltiplicazione furono
perfezionati da Thomas nel 1820, Cebyšev nel 1882, Ordhner nel 1875 e Monroe nel 1911. Un
sistema per la divisione venne messo a punto da Bollée nel 1889; la sua macchina, particolarmente
ingegnosa, utilizzava una tavola pitagorica realizzata in modo che la macchina potesse leggere il
dividendo e il divisore automaticamente.
La macchina concepita dall'inglese Babbage, realizzata tra il 1842 e il 1867, doveva
consentire di effettuare le quattro operazioni fondamentali su mille numeri di cinquanta cifre,
contenuti in una memoria.
Macchina di Babbage
Babbage
4
Introduzione al Computer
Massimo Bucchi
Con l'apparizione della prima macchina a schede perforate, la registrazione manuale dei
numeri fu sostituita dalla lettura automatica di elementi perforati; il pannello di connessioni, d'altra
parte, conferiva una certa flessibilità alla programmazione dei calcoli. Modificazioni apportate a
questa macchina di calcolo commerciale, e l'aggiunta di un dispositivo di stampa, permisero la
creazione, nel 1929, di un laboratorio specializzato di calcolo scientifico presso l'università
Columbia, USA.
I perfezionamenti successivi apportati a questa famiglia di macchine sfociarono nella
costruzione, tra il 1936 e il 1942, da parte del professore H. H. Aiken dell'università Harvard
dell'Automatic Sequence Controlled Calculator, o Mark I. Questa gigantesca macchina (18 m di
lunghezza e 2,50 di altezza) conteneva solo settantadue numeri di ventitré cifre ed eseguiva solo
dieci operazioni al secondo. Le possibilità pratiche dei dispositivi elettromagnetici si fermavano
qui; l'elettronica portò un radicale progresso nella relativa lentezza della macchina. Già esistevano il
diodo (1905), il triodo (1906), e il multivibratore bistabile di E. Jordan (1919), tutti di estrema
importanza a condizione di sostituire l'aritmetica binaria a quella decimale. Nel 1946 uno studio
teorico degli americani A. W. Burks, H. H. Golstine e J. von Neumann precisò il nuovo concetto di
programma interno.
Il calcolatore IBM «603», nel 1946, il calcolatore «604» nel 1948, che utilizzavano ancora i
tubi elettronici come organi di calcolo e di memoria, e il calcolatore Bull «Gamma» nel 1952, che
utilizzava linee di ritardo come organi di memoria, diodi a cristallo e resistori come organi di
calcolo, costituiscono le prime applicazioni pratiche dell'elettronica e dei nuovi concetti al calcolo
commerciale.
5
Introduzione al Computer
Massimo Bucchi
Nel campo delle macchine a calcolo scientifico, la prima realizzazione fu quella dell'ENIAC
(Electronic Numerical Integrator and Computer) costruito con 18.000 tubi elettronici, dalla Moore
School of Engineering, dal 1943 al 1947. Alla costruzione dell'ENIAC seguirono quelle del
Selective Sequence Electronic Calculator, costruito dall'IBM nel 1948; dell'EDSAC costruito
dall'università di Cambridge nel 1949; del Manchester Electronic Computer (con memorie a
tamburo magnetico), costruito da Ferranti nel 1949; dell'UNIVAC, costruito dalla Remington Rand
(memorie a mercurio) nel 1951; degli elaboratori «701» (con memorie a tubi catodici) e «704» (con
memorie a tamburi magnetici), costruiti nel 1953 e 1955 dall'IBM; delle macchine matematiche
«402» e «405», costruite da Elliot nel 1953 e 1954; dell'Elea costruita nel 1955-1957 dall'Olivetti in
collaborazione con l'università di Pisa, ecc.
ENIAC
Interno di elaboratore
Nel 1955 apparvero i calcolatori che utilizzano i transistor come organi di calcolo, e tamburi
magnetici come memorie. Successivamente, la fabbricazione dei calcolatori ed elaboratori si orientò
verso l'utilizzazione generalizzata dei transistor e quindi verso i circuiti integrati (ICI), che
raggruppano in spazi estremamente ridotti un numero considerevole di circuiti a transistor.
6
Introduzione al Computer
Massimo Bucchi
Grande impulso alla realizzazione di elaboratori sempre più potenti venne dal settore
militare e da quello delle Amministrazioni Statali. Successivamente anche le industrie e le attività
commerciali favorirono lo sviluppo e la diffusione di tali macchine.
Sala computers e stampanti di
grande Azienda
E arriviamo finalmente ai favolosi anni '80 con un incredibile boom informatico in gran
parte determinato dalla scoperta di nuove tecnologie elettroniche ma anche da una sana concorrenza
tra i diversi produttori di computers. In questa fase si è privilegiato lo sviluppo informatico verso le
piccole e medie imprese e verso i privati cittadini, determinando una nuova visione dell'utilità di un
computer e dividendo i vari elaboratori in più fasce a partire dai più sofisticati detti calcolatori o
mainframe, i minicalcolatori, i microcalcolatori, gli "small business systems", i "personal
computers" e gli "home computers".
Mainframe
7
Introduzione al Computer
Massimo Bucchi
Nel 1981 la IBM lanciò sul mercato il PC IBM presto seguito da concorrenti con pc
compatibili o veri e propri cloni.
Pc IBM del 1981
La grande varietà di dotazione dei vari sistemi cosiddetti "personal" e "home" e il loro
continuo sviluppo ha reso sempre più indefinito il confine tra le varie fasce di computers. Tali
modelli si rivolgono solitamente a piccole imprese, a studi professionali o ad un utilizzo casalingo
sia per applicazioni commerciali o tecniche, sia per applicazioni ludiche.
Tra i vari produttori che si sono cimentati nella costruzione di computers per tale grande
fascia di utenza troviamo nomi famosi, ma anche ditte nuove e sconosciute che hanno però svolto
un ruolo importante nella disgregazione dei monopoli di mercato e nell'introduzione di novità a
costi contenuti.
Personal computer
Computers shop
8
Introduzione al Computer
Massimo Bucchi
Troviamo quindi produttori come la Texas Instruments (calcolatrici programmabili), la
Sinclair (ZX80, ZX81, ZX Spectrum), la Commodore (VIC20, C64, C128, PC), l'ATARI, ecc. a
fianco di colossi come l'IBM (PC), l'APPLE (AppleII, MacIntosh), l'AST, la Bull, la Dell, la
Digital, la Compaq, l'Hewlett Packard, la SUN, l'Olivetti (M20, M24), la Toshiba, la Canon,
l'Epson, ecc.
Tutti questi produttori, alcuni dei quali ancora oggi presenti sul mercato, hanno ingaggiato
tra loro una corsa allo sviluppo ed al lancio di novità sempre maggiori per quanto riguarda la
potenzialità delle strutture materiali degli elaboratori elettronici e dei vari accessori, che possiamo
anche esprimere con una singola parola che è “hardware” e che ci permette di introdurre il prossimo
capitolo.
Il sottoscritto in una pessima immagine del secolo scorso
9
Introduzione al Computer
Massimo Bucchi
L'HARDWARE
Qual è la differenza tra un computer ed una lavastoviglie? Questa è sicuramente la classica
domanda che viene rivolta in ogni libro o trasmissione televisiva che tratta di computers e la
risposta è sempre la stessa: non vi è nessuna differenza! Bene, questa risposta è sbagliata. A costo di
andare controcorrente nella moda delle risposte facili, sono costretto a spiegarvi alcuni particolari
che ci porteranno via un pò di tempo, ma che dimostrano in modo inequivocabile come le due
macchine siano diverse. È pur vero che entrambe hanno parti fisiche ben visibili, il famoso
hardware, ed è anche vero che se vi cascano su un piede entrambe fanno un gran male, ma la loro
somiglianza termina qui. Infatti, una lavastoviglie è composta per la maggior parte da circuiti
elettromeccanici e pochi circuiti elettronici; ha molte parti fisiche in movimento (motore, pompe,
valvole, spruzzatori di acqua, ecc.) e poche parti logiche o di memoria. Al contrario un computer è
composto da molti circuiti elettronici e poche parti mobili tranne che per alcuni specifici accessori
collegabili al computer come le stampanti, le tastiere, ecc. Una particolarità, questa della modularità
ed espansibilità dei computers, quasi esclusiva di queste macchine. In questi ultimi anni la grande
diffusione in luoghi domestici di computers hanno determinato un ulteriore particolare che li
accomuna ad altre macchine: l’uso improprio del termine elettrodomestico.
Ma vediamo quali sono le componenti fisiche di un computer, il cosiddetto hardware. Senza
entrare nei dettagli tecnici che sarebbero estremamente difficili da spiegare ed inutili in quanto
continuamente in evoluzione (ogni mese vengono creati nuovi circuiti e nuove periferiche)
cerchiamo di capire come funziona un computer.
Le parti fondamentali si trovano all’interno di una scatola, detta anche cabinet, facilissima
da aprire. Troppo facile da aprire, tant’è che nonostante le assicurazioni dei costruttori sulla facilità
10
Introduzione al Computer
Massimo Bucchi
di aggiunta o sostituzione di schede ed altri accessori, è molto più facile fare danni di quanto ci si
immagini. Improvvisare è una parola che non esiste nel vocabolario di elettronica. Occorrono
precise istruzioni, una necessaria serie di utensili e soprattutto un pò di esperienza. Spero quindi che
non vi venga in mente di smontare un computer, con la scusa di doverci guardare dentro per meglio
seguire questo manuale. Il nostro, infatti, sarà un viaggio puramente virtuale.
Alcuni utensili
Ah, dimenticavo di dire che altro metodo errato è quello di dare pugni sopra al cabinet
quando il computer non funziona, come si faceva molti anni fa con i televisori a valvole per
‘sollecitarne’ il funzionamento.
Cabinet
All’interno del cabinet troviamo delle schede con saldati sopra tanti strani insetti. Questi
insetti, cui sono stati dati nomi stravaganti come resistenze, diodi, condensatori, transistor, circuiti
integrati, ecc. sono in realtà i componenti dei nostri circuiti.
11
Introduzione al Computer
Massimo Bucchi
Vari componenti
La scheda principale di un computer prende il nome di piastra madre, la quale oltre ad
ospitare molti dei suddetti insetti, si presenta anche con importanti elementi come il
microprocessore, la memoria e le porte di comunicazione.
Piastra madre
Il microprocessore detto anche CPU, acronimo di Central Processing Unit, rappresenta il
cuore del sistema. Viene spesso indicato con sigle strane: Intel 80286, 80386, 80486, Pentium, PII,
PIII, Cyrix, AMD K5 o K6, Celeron, ecc. A queste viene normalmente aggiunta la sigla che
identifica la velocità del microprocessore ovvero la ‘frequenza di clock’ espressa in hertz, cosicché
12
Introduzione al Computer
Massimo Bucchi
leggendo Pentium III 600 sappiamo che la velocità teorica di questo microprocessore è di 600
Megahertz (600 milioni di cicli al secondo). È interessante considerare che le CPU dei primi
personal computer come l’IBM PC (1981) avevano una velocità di circa 4 Megahertz.
Microprocessore
Insieme alla CPU, la piastra madre ospita le porte di comunicazione verso l’esterno;
attraverso di esse i dati possono raggiungere periferiche come la stampante, la tastiera, il mouse, lo
schermo, il modem, gli altoparlanti, ecc. che vedremo tra breve.
Un’altra componente fondamentale della piastra madre è senza alcun dubbio la memoria.
Per semplicità potremmo dire che la memoria di un computer è divisibile in due grandi tipologie: la
memoria istantanea o residente detta RAM (Random Access Memory) e la memoria di massa o
esterna come i floppy disk, gli hard disk, i CD-ROM, i DVD, ecc.
Memoria RAM
La RAM è una memoria residente, istantanea e volatile. Ci permette cioè di utilizzare
programmi e dati di un computer per un’elaborazione temporanea velocissima conservandoli sotto
forma di potenziali elettrici. Se spegniamo il computer o la corrente va via i dati verranno persi. Per
evitare ciò è necessario, prima di spegnere un computer, registrare i dati su una memoria di massa
13
Introduzione al Computer
Massimo Bucchi
che secondo le necessità potrà essere un dischetto (floppy disk) o un disco di maggiori capacità
come il disco fisso (hard disk) che memorizza i dati in modo permanente in forma magnetica. Esiste
in verità anche un altro tipo di memoria, quasi mai citato, che prende il nome di ROM (Read Only
Memory), molto simile alla RAM ma che è di tipo non volatile. Questo genere di memoria viene
normalmente utilizzato per conservare le informazioni speciali delle configurazioni del computer e
di come questo debba comunicare con i vari dispositivi, cioè il cosiddetto BIOS (Basic InputOutput System). Talvolta questo particolare tipo di memoria viene utilizzato in quei computer
portatili come i computer palmari che per peso, dimensioni ed altro non posseggono dispositivi di
memoria di massa, per registrare oltre alle informazioni prima citate anche il sistema operativo, i
programmi ed i dati. È questo il caso ad esempio delle agende elettroniche tascabili.
Le attuali RAM contengono quantità enormi di dati che partono da 32, 64 o 128 MB mentre
solo qualche anno fa i computers possedevano memorie da 1, 8, 16, 32 KB.
Mi pare opportuno precisare a questo punto cosa significano le sigle MB o KB. Come
avviene in altri campi, si rendeva necessario creare un’unità di misura anche per la memoria, così
come esiste per le lunghezze, i pesi, ecc. Fu quindi inventato il byte come unità di misura della
memoria, corrispondente ad un simbolo della tastiera: ad esempio una pagina di 1800 battute
(lettere e simboli) corrisponde ad un’occupazione della memoria di 1800 byte. Naturalmente erano
necessari anche i multipli e quindi così come il multiplo del metro è il chilometro (1000 metri) per il
byte sono stati individuati il kilobyte o KB (1024 byte), il megabyte o MB (1024 KB) ed il gigabyte
o GB (1024 MB). Per i più furbi che credono di aver scoperto l’ennesimo refuso, ribadisco che si
tratta proprio di 1024 e non 1000, anche se la spiegazione di tale ‘mistero’ la rimandiamo al
capitolo sul software.
Anche nei dispositivi di memoria di massa si utilizza come unità di misura il byte. Questi
dispositivi possono essere divisi in due tipi: magnetici e ottici. Tra i magnetici i più diffusi e
conosciuti sono i floppy disk (dischetti) che nel tempo hanno subito grandi mutamenti, sia per le
14
Introduzione al Computer
Massimo Bucchi
dimensioni, passate da 8” (8 pollici) a 5”1/4 ed infine a 3”1/2, sia per le caratteristiche di densità di
memorizzazione. Gli attuali permettono la memorizzazione di 1.44 MB di dati con dimensioni di
appena 3”1/2. Esistono in realtà anche supporti simili ai floppy disk che contengono 100 MB o 250
MB ma poco diffusi; stiamo parlando dei dischi ZIP prodotti dalla Iomega. Molto importanti sono
invece gli hard disk (dischi rigidi), anch’essi mutati nel tempo per capacità, dimensioni e velocità.
Mentre poteva essere considerato un lusso (per alcuni addirittura uno spreco), possedere vent’anni
fa un HD da 10 MB, oggi esistono a prezzi popolari hard disk da oltre 30 GB (30 miliardi di
caratteri!) in continua evoluzione. Magnetici sono anche i DAT che consentono di memorizzare su
nastro, invece che su disco, oltre 4 GB di dati alla volta. Ma il vero salto di qualità lo si è ottenuto
con la tecnologia ottica: le informazioni vengono memorizzate non più con metodi magnetici ma
incidendo la superficie di un disco con un raggio laser. Le informazioni che possono essere
memorizzate vanno a seconda del formato da 650-800 MB per i CD-R o CD-RW fino a 4.7-17
GB per i DVD.
È sicuramente inutile ricordare quali sono i possibili pericoli per i supporti di memoria, ma è
meglio ripeterlo. Per quanto riguarda le memorie RAM e ROM il pericolo sussiste solamente
quando queste vengono toccate per rimuoverle dal computer o per aggiungerle. Infatti, oltre al
possibile rischio meccanico (eccessiva pressione sugli elementi, urti per cadute, martellate del pupo
mentre siete distratti, ecc.) esiste anche un rischio invisibile ma ben conosciuto: l’elettricità statica.
Evitate quindi di toccare direttamente i chip di memoria ed eventualmente prima di farlo toccate
una messa a terra come ad esempio un rubinetto dell’acqua o un termosifone (non una presa di
corrente che vi renderebbe molto elettrici). Per i floppy disk, i nastri, gli hard disk e tutti gli altri
supporti di tipo magnetico (compreso il bancomat, le carte di credito, le tessere telefoniche o il
badge del dipendente) il maggior pericolo è rappresentato da fonti magnetiche, come le grosse
calamite, i motori elettrici e tutti gli strumenti che generano campi magnetici di una certa intensità
oltre alle condizioni climatiche (umidità, temperatura, polveri, denti del cane, ecc.). Invece per i
15
Introduzione al Computer
Massimo Bucchi
dischi ottici (leggi Cd, Dvd) non esistono grossi pericoli ad eccezione di quelli meccanici (rigature
della superficie) e del solito pupo col martello.
Vediamo ora quali sono le principali periferiche e le relative porte di comunicazione che
permettono alla piastra madre di comunicare con queste. Guardando dietro il computer, possiamo
vedere che vi sono un certo numero di prese, dette porte, da cui partono dei cavetti collegati con
connettori alle varie periferiche. Le più comuni e presenti su quasi tutti i nuovi modelli sono la
porta parallela (per stampante, dischi Zip, scanner), le porte seriali (per modem, mouse o
collegamenti ad altri computer), le porte PS/2 (per mouse e tastiera), la porta joystick (per
joystick, gamepad, interfaccia MIDI), le porte USB 12 Mbit/sec (permettono di collegare fino a
127 periferiche collegate a cascata anche con computer acceso), le porte firewire 400 Mbit/sec
(simili alle USB collegano fino a 63 periferiche esterne e sono utilizzate in particolare per
videocamere), la porta video (per monitor, TV o videoregistratore), le porte audio (per microfono,
diffusori acustici, fonti sonore esterne), la presa line-phone (per collegarsi alla linea telefonica) e
naturalmente la presa di alimentazione (220V).
Alcune porte di comunicazione
16
Introduzione al Computer
Massimo Bucchi
Come ben si può capire non esiste una porta specifica per ogni singola periferica ma sono
spesso intercambiabili. Accade così che la stampante potrebbe voler il collegamento alla porta
parallela o alla porta seriale o alla porta USB. Lo stesso accade per altri dispositivi, che vediamo qui
di seguito, e che per semplicità dividiamo in dispositivi di input (ingresso dati) e di output (uscita
dati). I più comuni dispositivi di input sono: la tastiera, il mouse, la trackball o il touchpad
(utilizzati in particolare sui pc portatili), il joystick o il gamepad (utilizzati per i giochi di
movimento), lo scanner (per lettura di foto e documenti), la tavoletta grafica (per disegnare a
mano libera), il microfono (per registrare suoni), la videocamera, la webcam, la macchina
fotografica digitale, il lettore di Cd-Rom o Dvd, il lettore di codici a barre, ecc. I più comuni
dispositivi di output sono: il monitor, la stampante, il plotter, i diffusori acustici, la TV, ecc.
Esistono però anche dispositivi che hanno entrambe le funzioni di input-output; è il caso del
modem, le memorie di massa in genere come i floppy disk, gli hard disk, il masterizzatore, gli
strumenti musicali (tramite porta MIDI), il videoregistratore, i registratori di suoni analogici o
digitali (DAT), ecc.
Computer con alcune periferiche
Questa rapida carrellata non esaurisce tutta la lista di dispositivi che sono tantissimi: da un
punto di vista ipotetico sono infiniti poiché qualsiasi apparecchiatura o dispositivo, anche
17
Introduzione al Computer
Massimo Bucchi
elettromeccanico, opportunamente interfacciato potrebbe essere collegato ad un computer. Vediamo
quindi ultimamente come tale idea sia sperimentata non solo nelle industrie, ma anche nelle case o
nelle autovetture per interfacciare sistemi di allarme, cucine elettroniche, impianti stereofonici,
impianti di riscaldamento, collegamenti telefonici, impianti di telesorveglianza, navigazione
satellitare, ecc. fino ad apparecchiature robotizzate ed oltre.
Mini Robot
Per ‘comandare’ tali apparecchiature, sono necessarie delle istruzioni, che in gergo vengono
chiamate programmi o più precisamente con un termine tecnico si utilizza un software.
Vediamo quindi insieme che cos’è il “software” e come si utilizza.
18
Introduzione al Computer
Massimo Bucchi
IL SOFTWARE
Abbiamo dunque visto quali sono le parti, i meccanismi, i circuiti, ecc. che costituiscono un
computer. Tornando alla nostra lavastoviglie penso che molti di voi fino a questo punto non vedano
significative differenze con un computer, al di là dell’apparenza estetica o della diversa circuiteria.
Ed è, in effetti, esatto perché non è sull’hardware, ovvero sulle parti fisiche, che si pone la grande
differenza esistente tra un computer ed i vari elettrodomestici, ma sul software.
Questo termine fantasioso è, in effetti, composto da due parole ware=merce-articoli e
soft=morbido-impalpabile utilizzato spesso anche per indicare, in lingua inglese, dei sentimenti
figurati come ad es. to have a soft heart = avere un cuore tenero, essere sensibile. Posto in
contrapposizione ad hardware dove hard=duro indica qualcosa di toccabile, palpabile ben si
comprende che il software non rientra nella normale capacità di valutazione di un elettrodomestico,
perché mai per questi si parla di software.
Volendo fare un paragone molto alla lontana si potrebbe dire che un computer assomiglia
più ad uomo che ad una macchina utensile proprio per questa sua particolarità: come un uomo è
composto da parti fisiche, testa, braccia, gambe, cuore, cervello, fegato, ecc. anche un computer
come abbiamo visto è composto da più parti fisiche sia interne che esterne. Ma nell’uomo ciò che
risalta maggiormente è la sua capacità di ragionare, di creare pensieri, teorie, fantasie, cioè tutte
cose che non si toccano ma fanno comunque parte dell’uomo. Analogamente in un computer tale
possibilità viene offerta dal software, che non si tocca ma che permette comunque al computer di
esprimere pensieri, teorie, ricordi e forse tra non molto anche fantasie (cosa per adesso impossibile).
Tale capacità è quindi importantissima e pone il computer come una delle invenzioni principali,
dato che permette ad una stessa “macchina” di effettuare tantissimi “lavori” di natura diversa
semplicemente cambiando il software cioè il pensiero ovvero le istruzioni per effettuare quel
particolare compito.
19
Introduzione al Computer
Massimo Bucchi
È opportuno ricordare che il software è strettamente connesso all’hardware: così come si
dice ‘mens sana in corpore sano’ è per un computer necessario dire ‘buon software in adeguato
hardware’. Quindi prima di acquistare od utilizzare un qualsiasi programma o software è necessario
conoscere quali sono i requisiti minimi hardware richiesti per un buon funzionamento. Ad esempio
se volessimo utilizzare un programma per l’acquisizione di immagini da scanner il requisito
essenziale sarebbe quello di possedere uno scanner. Per quanto ciò appaia lapalissiano, mai come
programmatore mi è capitato di sentirmi rivolgere come prima domanda: “Quale hardware necessita
per far funzionare questo programma?”. Vengono invece rivolte tante altre domande, più o meno
utili, come ‘quanto costa?’, ‘a cosa serve?’, ‘come funziona?’, ecc. non rendendosi conto che ogni
software necessita di uno specifico hardware. Certo, l’esempio di prima è forse un po’ estremizzato,
ma non dimentichiamo che le necessità hardware potrebbero essere anche più sottili, come ad
esempio la quantità di memoria necessaria, l’uso di specifico processore, l’uso di specifiche
periferiche, ecc.
Conoscere l’hardware ed il software è dunque importante ma non sufficiente. È necessario
sapere anche quali sono le interconnessioni tra loro. Seppur molti di voi siano già a conoscenza di
alcune delle prossime informazioni, mi sento in dovere di rispolverare alcuni concetti di base per
poter meglio comprendere ciò che andremo a trattare sul software.
È un dato di fatto che i computers per funzionare utilizzino l’energia elettrica. Ciò determina
la più importante connessione tra hardware e software. Infatti nei circuiti elettrici e di memoria
possono esistere solo due stati fisici, acceso e spento; modalità ripresa anche per gli stati logici
definiti come 0 e 1 (zero e uno). Ad essere preciso, quanto sopra detto è la conclusione di un lungo
lavoro di studio che ha in passato determinato come più efficace l’uso del numero più ridotto
possibile di stati. Tale metodo viene attualmente utilizzato nei sistemi digitali e prende il nome di
sistema binario. Ciò non è altrettanto vero in elettronica o in elettromeccanica dove alcuni circuiti
20
Introduzione al Computer
Massimo Bucchi
sono di tipo analogico e non digitale: utilizzano cioè un valore di energia proporzionale. Volendo
cioè costruire, per assurdo, un computer analogico potremmo rappresentare i valori non con due soli
stati, acceso e spento, ma con valori proporzionali ad una certa sorgente: ad es. per rappresentare i
dieci numeri potremmo utilizzare un circuito spento per lo zero, un circuito a 1 volt per il numero 1,
un circuito a 2 volt per il numero 2, e così via fino ad un circuito a 9 volt per il numero 9. Tale
metodo, pur possibile, rappresenta comunque una grande difficoltà di costruzione e di utilizzo.
Pensate ad esempio quanti circuiti diversi analogici si dovrebbero costruire per rappresentare tutti i
simboli della tastiera!
Nel metodo digitale, invece, il circuito è uno solo, ripetuto, che esprime un valore
rappresentandolo, come vedremo, da tanti stati logici 0 e 1. Il funzionamento basato su due soli stati
fisici permette inoltre di utilizzare per la progettazione dei dispositivi digitali i formalismi di un
particolare tipo di algebra, detta algebra booleana, nella quale le variabili possono assumere
alternativamente due valori, chiamati vero e falso, oppure 0 e 1. Le relazioni tra le variabili binarie
sono espresse, nell’algebra booleana, da operatori definiti da proposizioni logiche sulle variabili
stesse. Gli operatori vengono tradotti concretamente in dispositivi chiamati porte logiche, in grado
di realizzare in termini fisici le suddette proposizioni. Tutti i dispositivi digitali elettronici, dal più
semplice al più complesso, sono costituiti, a livello fondamentale, da entità (le porte logiche) in
grado di compiere semplici passaggi logici. Il numero elevatissimo di tali entità e la complessità
delle loro interconnessioni consentono le numerose funzioni dell’informatica.
Le cifre binarie 0 e 1 rappresentano dunque la più elementare unità di informazione in un
sistema digitale e prendono il nome di bit (binary digit).
I singoli bit vengono raggruppati in sequenze a formare numeri binari di lunghezza variabile
che, tramite opportune codifiche, possono rappresentare virtualmente qualsiasi elemento: numeri
interi, numeri reali, caratteri alfanumerici, ecc. Con solo 8 bit è possibile rappresentare ben 256
caratteri cioè 28=256. Infatti se considerate di poter utilizzare solo due simboli 0 e 1 è facile
21
Introduzione al Computer
Massimo Bucchi
calcolare quante combinazioni si possono ottenere: ad esempio usando tre posizioni otteniamo 000,
001, 010, 011, 100, 101, 110, 111, cioè otto possibilità che corrispondono a 23=8. Infatti ad ogni bit
corrispondono 2 possibilità e quindi la progressione per ogni bit è la seguente: 2, 4, 8, 16, 32, 64,
128, 256, 512, 1024, ecc. È importante sapere che una sequenza di 8 bit prende il nome di byte.
1 byte rappresenta, ad esempio, un carattere della tastiera, quindi potremmo dire che una
pagina dattiloscritta di 2000 caratteri occuperà circa 2000 byte di memoria. Occorre tenere presente
che per carattere si intende qualsiasi segno rappresentato sulla tastiera come ad esempio il punto, la
virgola, le parentesi, i numeri e tutti gli altri segni compreso lo spazio che anche se non si vede
occupa comunque 1 byte.
Qui di seguito viene rappresentata una tabella che illustra i 256 elementi del set standard dei
caratteri ASCII(American Standard Code for Information Interchange) con i relativi codici
decimali ed esadecimali:
22
Introduzione al Computer
Massimo Bucchi
23
Introduzione al Computer
Massimo Bucchi
Pare evidente che tale tabella può variare da computer a computer, soprattutto per alcuni
caratteri che vengono rappresentati diversamente in base al tipo di tastiera utilizzata (es. Italiana,
USA, Francese, Tedesca, Greca, Cinese, ecc.) e in base ai codici caratteri che vengono caricati dai
vari programmi (es. Times New Roman, Arial, Wingdings, ecc.). Vediamo comunque che la lettera
‘A maiuscola’ (da non confondere con la ‘a minuscola’ che ha un altro codice) viene rappresentata
dal valore decimale 65, dal valore esadecimale 41, dal valore ottale 101 e dal valore binario
1000001.
Facciamo alcune considerazioni:
1. Abbiamo visto che il sistema decimale (su base 10), quello per intenderci comunemente
usato dall’uomo, non è l’unico sistema esistente. Infatti ne esistono molti altri alcuni dei
quali, più famosi, sono quelli che abbiamo appena citato e cioè il sistema binario (su base
2), il sistema esadecimale (su base 16), il sistema ottale (su base 8), ecc. Esistono,
ovviamente, delle tabelle di conversione tra i vari sistemi.
24
Introduzione al Computer
Massimo Bucchi
2. Nella tabella vengono riportati anche simboli che non compaiono sulla tastiera. Come
possiamo fare per ottenere, ad esempio, le parentesi graffe {} ? Vi svelo un piccolo trucco,
spesso usato dai programmatori, per ottenere i simboli ‘stranì. Aprite un programma di
videoscrittura ad esempio Wordpad, quindi in una riga qualsiasi tenendo premuto il tasto
ALT battete il numero 123 sul tastierino numerico. Rilasciate il tasto ALT e come per magia
vedrete comparire la parentesi {. Ripetete la stessa operazione con il numero 125 e vedrete
comparire l’altra parentesi }.
3. Come facciamo a capire che il valore binario 1000001 equivale veramente al numero 65
decimale? È necessario utilizzare questa tecnica. Dividiamo il numero 65 per 2 e scriviamo
da una parte sempre il resto fino ad arrivare all’ultima divisione:
65:2=32
32:2=16
16:2=8
8:2=4
4:2=2
2:2=1
1:2=0
resto 1
resto 0
resto 0
resto 0
resto 0
resto 0
resto 1
Scrivere il risultato partendo dall’ultimo resto fino al primo e cioè 1000001. Per fare la
controprova utilizziamo questa semplice tabella:
128
64
32
16
8
4
2
1
1
64
0
0
0
0
0
0
0
0
0
0
1
1
Si moltiplicano i numeri della prima fila per i numeri della seconda fila ottenendo nella terza
fila il risultato di ogni singola colonna. Si sommano quindi i valori di tutte le colonne della
terza fila (64+0+0+0+0+0+1) ottenendo in questo modo il numero 65.
Non continuerò a tediarvi con la spiegazione delle conversioni di tutti gli altri sistemi sopra
citati ma vorrei concludere questo argomento dicendo che, per quanto visto, risulta palese che nei
25
Introduzione al Computer
Massimo Bucchi
computers a farla da padrona non è la numerazione decimale bensì quella binaria. Pertanto i
multipli del byte utilizzando come base il numero 2 saranno così composti:
1 KB (kilobyte) = 210 byte = 1.024 byte;
1 MB (megabyte) = 220 byte = 1.024 KB = 1.048.576 byte;
1 GB (gigabyte) = 230 byte = 1.024 MB = 1.073.741.824 byte;
1 TB (terabyte) = 240 byte = 1.024 GB = 1.099.511.627.776 byte.
Le variabili, i numeri, le lettere, i simboli, i numeri negativi, gli alfabeti fonetici, ecc.
vengono quindi rappresentati con convenzioni arbitrarie scelte in base alla loro convenienza.
Possiamo quindi avere il codice BCD per la rappresentazione di codici a barre, il codice Gray per le
conversioni analogico-digitali, il codice ASCII per la rappresentazione convenzionale dei caratteri
alfanumerici, il metodo MSB e il metodo di complemento a 2 per la rappresentazione di numeri
positivi e negativi, i metodi di espressione degli alfabeti fonetici. Soffermiamoci un attimo su questi
ultimi per far comprendere quanto difficile possa essere decidere il metodo migliore da utilizzare in
una convenzione. Il codice ASCII con le sue combinazioni è in grado di codificare molte lingue ed
alfabeti, da quello latino al cirillico. Tuttavia vi sono civiltà che non hanno sviluppato veri e propri
alfabeti fonetici oppure che hanno un numero elevatissimo di simboli: ad esempio il cinese possiede
più di 50.000 ideogrammi, mentre l’alfabeto persiano possiede ben 28 caratteri fonetici che
cambiano attraverso l’unione di tanti caratteri diacritici e vocali. Per codificare simili casi in sistema
binario vi sono tre possibili strade. La prima è creare un alfabeto fonetico semplificato che renda,
attraverso combinazioni, tutta la varietà di sillabe e parole espresse in queste lingue. Ad esempio il
cinese Pinyin, il coreano Hangul e il Kana giapponese hanno uno schema fonetico simile a quello
latino. La seconda tecnica possibile ricorre alla decomposizione degli ideogrammi in un ristretto
numero di segni elementari chiamati strokes (tratti); combinando un insieme di cinque od otto
strokes si ottiene un numero elevatissimo di ideogrammi. La terza soluzione consiste nell’usare un
maggior numero di bit per la codifica, ma ciò renderebbe il lavoro del calcolatore lento e non
26
Introduzione al Computer
Massimo Bucchi
compatibile con altre applicazioni, progettate per l’uso del byte (8 bit) come unità di misura
standard.
Tutta l’informatica è dunque per necessità piena di convenzioni, per poter far dialogare i vari
computers e le applicazioni presenti su di essi.
Vediamo come possiamo, in sintesi, suddividere il software presente nei computers:
1. Sistemi Operativi e drivers;
2. Linguaggi;
3. Programmi applicativi;
4. Database e files di vario tipo.
Il Sistema Operativo controlla nel computer l’insieme dei processi d’elaborazione e l’uso
delle risorse hardware, agendo da interfaccia tra il computer e l’utente. Il S.O. esercita sia
un’attività di supervisore nei confronti di tutti gli altri programmi che vengono eseguiti sul
computer, sia di gestore delle risorse, quali processori, supporti di memoria di massa, memoria
RAM, periferiche di input/output, ecc. Il ruolo è più evidente nei sistemi multiutente in cui le
risorse di macchina vengono condivise da più programmi ed in genere dinamicamente attribuite. I
drivers sono dei piccoli programmi che agiscono da interfaccia tra il S.O. in uso ed una particolare
periferica: avrete senz’altro notato che quando collegate una nuova periferica al vostro computer,
come può essere una stampante, uno scanner, una webcam, ecc. viene richiesto anche di installare il
driver specifico del nuovo hardware sempre che il computer non lo abbia precedentemente già
conosciuto e memorizzato. Essendo strettamente collegati alla struttura fisica del computer, i
sistemi operativi e di conseguenza i drivers sono caratteristici dei diversi tipi d’elaboratori e non
sono intercambiabili. Il CP/M, l’MP/M, il PC-DOS, il PCOS, l’MS-DOS, il WINDOWS, lo UNIX,
il LINUX, lo XENIX, l’OS/2, il VM, il MAC-OS, il VMS, l’AMIGA-OS, con tantissime versioni
di aggiornamento per ognuno, sono soltanto alcuni dei più conosciuti sistemi operativi. Ricordate il
27
Introduzione al Computer
Massimo Bucchi
BIOS ? Sono sicuro che molti di voi lo hanno già dimenticato. Se il BIOS permette al computer di
avere coscienza delle sue componenti e quindi far comunicare tra loro le varie periferiche, il S.O. ha
il compito non solo di ‘aiutarè il BIOS nelle varie necessità sopra citate ma deve anche comunicare
con l’utente ed accettare i comandi che gli vengono impartiti controllandone la liceità, tramite
un’interfaccia utente che diviene, col passar degli anni, sempre più facile ed adattabile alle varie
esigenze o con un termine tecnico sempre più user-friendly. È per questo motivo che all’accensione
il computer, dopo aver acquisito le informazioni essenziali del BIOS, carica in memoria, come
prima operazione, il sistema operativo normalmente presente sul disco rigido.
All’inizio, i S.O. erano basati sull’idea della comunicazione linguistica: molti di quelli sopra
citati, datati e ormai non più utilizzati, sono sistemi operativi a caratteri; in pratica si basano
sull’idea che l’utente impartisca i propri comandi in forma scritta utilizzando la tastiera e quindi
necessitano di specifiche conoscenze e sono ben utilizzabili solo dagli ‘addetti al lavoro’. Il sistema
MS-DOS è uno di questi e più avanti vedremo alcuni esempi del suo utilizzo essendo stato uno dei
S.O. più diffusi nel mondo ed essendo parzialmente ancora presente. Col tempo, tuttavia, i S.O.
hanno conosciuto un’importante evoluzione: al posto dell’interfaccia a caratteri si è imposta
un’interfaccia grafica ad icone (GUI = Graphical User Interface), utilizzabile in modo
semplicissimo anche da chi non conosce alcun comando di sistema e persino da un bambino che
non sappia scrivere o leggere.
Il primo S.O. con interfaccia grafica è stato sviluppato negli anni ’70 nei laboratori Xerox di
Palo Alto ma è solo a partire dal 1984 che si ha una diffusione di tale sistema con il MacIntosh della
Apple e successivamente con il Commodore Amiga e l’Atari ST. Ben presto l’idea venne ripresa
anche da IBM e da Microsoft: la prima con il sistema OS/2 e la seconda con le varie versioni di
WINDOWS, al momento il sistema operativo più diffuso.
Un interessante sistema operativo che sta rapidamente avanzando, guadagnando terreno
anche sul Windows, è il s.o. Linux derivato di Unix. Realizzato per opera del programmatore Linus
28
Introduzione al Computer
Massimo Bucchi
Torvald, è oggi disponibile per diverse piattaforme e viene spesso fornito, in alcune versioni,
gratuitamente e con la formula ‘free software’ ed ‘open source’, cioè non solo di libera circolazione
gratuita ma anche con accesso al codice sorgente. Molte sono le versioni come la Linux Apache, la
Mandrake, la RedHat, la storica Slackware, la Debian, la SuSE, la Caldera, ecc. Alcune devono
sottostare alle regole imposte dalla più famosa licenza free software che prende il nome di GNU
Public License (GPL) predisposta dalla Free Software Foundation, il cui articolo più significativo
impone a coloro che vogliono distribuire delle copie del software, di farlo alle condizioni della
stessa licenza, cioè in altre parole concedendo agli altri gli stessi diritti ricevuti. Ad esempio, se un
determinato s.o. o programma si è ottenuto gratuitamente è obbligatorio fornirlo ad altri sempre in
forma gratuita, ad eccezione del recupero delle spese postali e dei supporti (dischetti o cd) sui quali
è registrato il software. I programmi per Linux sono tantissimi e quasi tutti rispondono alle
caratteristiche sopra citate di programmi liberi e gratuiti, spesso anche modificabili e adattabili alle
proprie esigenze (per chi lo sa fare!).
Tantissimi sono anche i programmi, come vedremo più avanti, per MS-DOS e per Windows,
anche se la formula di free software è meno frequente. Le versioni di MS-DOS si diversificano tra
loro da un numero progressivo (es. 2.0-2.1-2.11-3.30), dalla prima realizzata da Tim Paterson e Bill
Gates all’ultima versione 7.0, mentre in Windows abbiamo una diversa identificazione della
versione. Nato nel 1985 con la versione 1.0, WINDOWS prodotto dalla Microsoft si sviluppa
molto rapidamente e già nel 1987 propone la versione 2.0 per i processori Intel 8086 e 8088. Per
sfruttare le caratteristiche dei successivi processori come l’80286, l’80386 e l’80486 nasceva nel
1990 la versione 3.0 che permetteva la gestione di 16 MB di memoria (le precedenti versioni
arrivavano fino ad un massimo di 1 MB). Ma è solo con la versione 3.1 e 3.11 che nel 1992
Windows conobbe una vasta diffusione grazie alle nuove e particolari caratteristiche: capacità
sonore e musicali, caratteri diversificabili, supporti di rete, capacità grafiche e box di dialogo. Nel
1993 nasce Windows NT, versione professionale con un’architettura a 32 bit, utilizzata anche per i
29
Introduzione al Computer
Massimo Bucchi
server. Caratteristica principale era la possibilità di utilizzare nomi lunghi per i files mentre le
versioni precedenti avevano conservato la limitazione di 8 caratteri (più 3 per l’estensione) tipica
dei sistemi DOS. Nel 1995 vede la luce Windows 95 che rappresenta un ulteriore sviluppo
nell’interfaccia utente con menu a tendina nel pulsante ‘Avviò e nuove capacità multimediali
accentuatesi nel 1998 con Windows 98 che trasforma il supporto per Internet (Internet Explorer) in
una componente essenziale del sistema operativo. Tali caratteristiche vengono potenziate nel 1999 e
nel 2000 con s.o. più stabili e sicuri che prendono il nome di Windows 98 Second Edition,
Windows Millenium Edition e Windows 2000.
Vediamo brevemente alcune caratteristiche dei sistemi operativi sopra citati.
Accendete il vostro computer e posizionatevi in modalità MS-DOS. Comparirà uno schermo
nero con una scritta simile a questa riportata tra virgolette “C:\>” che prende il nome di prompt di
sistema. Scrivete a fianco del prompt la frase tra virgolette “FORMAT C:” e premete il tasto Invio.
No, per carità non fatelo!!! Era solo uno scherzo. Utilizzando il comando FORMAT indicate al
computer che volete cancellare fisicamente ogni traccia dal vostro disco (in questo caso il disco
fisso C) in modo non recuperabile. Così facendo, però, verrebbe cancellato lo stesso sistema
operativo, drivers, programmi, dati e quant’altro contenuto nel disco indicato compromettendo
anche il riavvio del computer! Vedete dunque com’era facile, in un vecchio computer con sistema
operativo a caratteri, commettere errori irreparabili solamente scrivendo il comando sbagliato.
Infatti, era normale utilizzare il comando format per formattare o cancellare dischetti posti
nel drive A: o B:. In tal caso il comando esatto era “C:\>FORMAT A:” oppure “C:\>FORMAT B:”
purtroppo facilmente confondibile con il comando “C:\>FORMAT C:” scritto soprappensiero o
dopo una dura giornata di lavoro. Altra sgradevole caratteristica dei s.o. a caratteri è la necessità di
una perfetta sintassi: dimenticare uno spazio, un due punti, digitare il comando erroneamente, ecc.
comporta automaticamente la non attivazione del comando, nei casi più felici, o l’attivazione in
modalità non voluta con conseguenti possibili danni.
30
Introduzione al Computer
Massimo Bucchi
Alcuni comandi MS-DOS vengono riportati qui di seguito, anche se mi auguro che l’utilizzo
sempre più diffuso dei nuovi s.o. a icone li renda inutili e superati:
Gestione dischi
CHKDSK
è il comando per la verifica di un disco
DISKCOPY
copia un intero disco
FDISK
definisce una partizione su disco rigido
FORMAT
formattazione di floppy disk o hard disk
LABEL
crea, modifica o cancella il nome di un disco
SYS
copia i files del sistema operativo su disco
VOL
visualizza il nome del disco
Gestione files
ATTRIB
attribuisce proprietà ad un file
COPY
copia uno o più files da un disco o directory ad un altro
DEL
cancella uno o più files
FC
confronta due file tra loro
FIND
individua stringhe di testo all’interno di un file
MORE
presenta l’output una pagina alla volta
PRINT
invia file alla stampante
REN
rinomina un file
SORT
mette il contenuto di un file ASCII in ordine alfabetico o inverso
TYPE
visualizza il contenuto di un file
XCOPY
copia selettivamente files e directory
Gestione directory
CHDIR (CD)
cambia la directory
DIR
visualizza l’elenco dei files
31
Introduzione al Computer
Massimo Bucchi
PATH
indica il percorso di ricerca di comandi
MKDIR (MD)
crea una nuova directory
RMDIR (RD)
cancella una directory
Gestione sistema
ANSI.SYS
è un file che contiene i codici controllo della tastiera
BREAK
abilita o esclude l’interruzione dei comandi
CLS
cancella lo schermo
CTTY
cambia unità standard di input/output
DATE
visualizza e modifica la data dell’orologio interno
EXIT
ritorna ad un programma applicativo uscendo dall’MS-DOS
KEYB
definisce la nazionalità di una tastiera
MODE
modifica i parametri di output su stampante, video e seriale
PROMPT
modifica il prompt
SET
visualizza o modifica parametri di configurazione del sistema
TIME
visualizza e modifica l’ora dell’orologio interno
VER
visualizza la versione dell’MS-DOS
Programmazione e file batch
DEBUG
esamina le istruzioni in memoria o le modifica
ECHO
visualizza o meno l’esecuzione di comandi in file batch
EDIT
crea e modifica semplici file testo e batch
FOR
contatore di iterazione
GOTO
indica il salto alla label indicata
IF
sequenza di comandi innescata da una condizione
PAUSE
sospende l’esecuzione di un file batch
REM
linea di commento
32
Introduzione al Computer
Massimo Bucchi
Un consiglio: utilizzate i comandi dos con estrema prudenza!
Considerate inoltre, che i comandi sopra visti, possono variare in base alla versione presente
sul computer e che ogni comando possiede una precisa sintassi, con decine di possibili varianti. Se
avete la necessità di utilizzare frequentemente i comandi dos, vi consiglio di acquistare o scaricare
da internet un buon testo di spiegazioni, con esempi della versione MS-DOS che vi necessita. Per
un uso sporadico potete invece scoprire le varie opzioni e spiegazioni di un comando utilizzando
dopo lo stesso il simbolo /? (ad esempio DIR /? Oppure DIR/?|MORE).
Scoprirete che esistono anche molti ‘trucchì e scorciatoie nell’uso dei comandi che per
brevità non posso continuare a descrivere. Un solo esempio: per inviare dati ad un file o alla
stampante si usa il simbolo > così che la sintassi diviene DIR>PRN: dove PRN: identifica la
stampante. Otterreste, così facendo, una pagina scritta simile a quanto qui sotto riportato:
=======================================================================
Il volume nell'unità C è MAX
Numero di serie del volume: 3512-1D07
Directory di C:\WINDOWS\COMMAND
.
..
DRVSPACE
EXTRACT
SCANDISK
SCANREG
SULFNBK
FDISK
MSCDEX
EDIT
SYS
CHOICE
DISKCOPY
DOSKEY
FORMAT
KEYB
MODE
MORE
EGA
ATTRIB
CHKDSK
DEBUG
BOOTDISK
DELTREE
FC
FIND
IEXTRACT
LABEL
<DIR>
<DIR>
BIN
EXE
EXE
EXE
EXE
EXE
EXE
COM
COM
COM
COM
COM
COM
COM
COM
COM
CPI
EXE
EXE
EXE
BAT
EXE
EXE
EXE
EXE
EXE
68.791
93.242
145.232
166.190
45.056
64.700
25.473
70.734
19.239
5.415
22.327
15.895
50.887
20.167
30.023
10.567
58.870
15.444
28.864
21.114
2.091
19.179
20.878
6.786
17.655
9.516
15/09/98
15/09/98
15/05/98
15/05/98
15/05/98
15/05/98
28/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
15/05/98
22.03
22.03
20.01
20.01
20.01
20.01
21.26
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
33
.
..
DRVSPACE.BIN
EXTRACT.EXE
SCANDISK.EXE
SCANREG.EXE
SULFNBK.EXE
FDISK.EXE
MSCDEX.EXE
EDIT.COM
SYS.COM
CHOICE.COM
DISKCOPY.COM
DOSKEY.COM
FORMAT.COM
KEYB.COM
MODE.COM
MORE.COM
EGA.CPI
ATTRIB.EXE
CHKDSK.EXE
DEBUG.EXE
BOOTDISK.BAT
DELTREE.EXE
FC.EXE
FIND.EXE
IEXTRACT.EXE
LABEL.EXE
Introduzione al Computer
MEM
MOVE
NLSFUNC
SORT
START
SUBST
XCOPY
XCOPY32
SCANDISK
EDIT
XCOPY32
ANSI
COUNTRY
DISPLAY
KEYBOARD
KEYBRD2
DRVSPACE
CVT
CSCRIPT
NDD
TEST
FREEZIP
UNZIP
ZIP
EXE
EXE
EXE
EXE
EXE
EXE
EXE
EXE
INI
HLP
MOD
SYS
SYS
SYS
SYS
SYS
SYS
EXE
EXE
HLP
TXT
ICO
EXE
EXE
50 file
2 dir
32.482 15/05/98
27.683 15/05/98
7.052 15/05/98
26.090 15/05/98
28.672 28/05/98
18.000 15/05/98
3.894 15/05/98
3.894 15/05/98
8.439 15/05/98
13.584 15/05/98
41.984 15/05/98
9.735 15/05/98
30.742 15/05/98
17.207 15/05/98
34.566 15/05/98
31.942 15/05/98
2.151 15/05/98
123.519 15/05/98
90.112 14/06/00
33.080 13/07/98
0 26/11/00
766 11/02/98
145.408 03/11/97
117.248 04/11/97
1.902.585 byte
Spazio disponibile
Massimo Bucchi
20.01
20.01
20.01
20.01
21.26
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
20.01
17.32
10.04
12.29
7.31
15.32
1.20
MEM.EXE
MOVE.EXE
NLSFUNC.EXE
SORT.EXE
START.EXE
SUBST.EXE
XCOPY.EXE
XCOPY32.EXE
SCANDISK.INI
EDIT.HLP
XCOPY32.MOD
ANSI.SYS
COUNTRY.SYS
DISPLAY.SYS
KEYBOARD.SYS
KEYBRD2.SYS
DRVSPACE.SYS
CVT.EXE
cscript.exe
NDD.HLP
TEST.TXT
FREEZIP.ICO
UNZIP.EXE
ZIP.EXE
902.91 MB
Terminiamo qui la breve spiegazione dell’MS-DOS e passiamo ad analizzare alcune
caratteristiche del sistema operativo WINDOWS.
Windows in inglese significa finestre. Infatti, tale sistema operativo, funziona proprio
utilizzando una o più finestre virtuali per la visualizzazione di cartelle, programmi, testi, ecc. che
possono essere sovrapposte, ridimensionate, spostate, affiancate, chiuse o momentaneamente
sospese nella cosiddetta barra delle applicazioni posta sul lato inferiore dello schermo. Tutto lo
schermo all’accensione si presenta come un tavolino su cui prendono posto degli oggetti e per
questo è chiamato desktop.
Gli oggetti, che possono essere cartelle, dati o programmi, sono rappresentati da icone
grafiche, cioè dei piccoli disegni. Per selezionare tali icone si può utilizzare il mouse che permette
lo spostamento sul video di un simbolo detto puntatore che assume l’aspetto normalmente di una
freccia ma può diventare una clessidra, quando è necessario attendere per effettuare qualche lavoro,
o altri simboli voluti o necessari in determinati casi.
34
Introduzione al Computer
Massimo Bucchi
Desktop con icone
Con un clic del pulsante sinistro del mouse si selezionano gli oggetti, mentre con due clic
rapidi dello stesso pulsante l’oggetto viene aperto o attivato. Cliccando una volta con il pulsante
destro su un oggetto, si apre un menù cosiddetto a tendina che fornisce la possibilità di effettuare
tutta una serie di possibili azioni.
Menu a tendina e una cartella
35
Introduzione al Computer
Massimo Bucchi
Uno dei menù a tendina più importante del sistema è quello del pulsante START o AVVIO
con cui è possibile raggiungere tutti i programmi installati nel computer nonché le componenti del
sistema operativo.
Menu start-avvio
Gli oggetti, le icone, i dati, i programmi, ecc. possono essere inoltre spostati, copiati o
eliminati facilmente come pure organizzati. Ciò significa che possiamo trattare i nostri documenti,
all’interno di un computer, nello stesso modo in cui trattiamo fisicamente i documenti all’interno di
un archivio. Pensate, infatti, d’avere un archivio all’interno di un armadio. Potreste buttare i fogli
dei vari fascicoli dentro tale armadio alla rinfusa oppure organizzarli in scatole, raccoglitori,
cartelle, fascicoli, ecc. e magari pure in ordine alfabetico. Questo è anche quanto possiamo fare in
una struttura gerarchica di Windows creando cartelle e sottocartelle (le famose directory) all’interno
delle quali riporre in modo ordinato e omogeneo i nostri documenti. Tale struttura, però, necessita
anche di uno strumento idoneo per la gestione delle cartelle e dei files ivi contenuti. In Windows
tale strumento si chiama Esplora Risorse.
36
Introduzione al Computer
Massimo Bucchi
Esplora Risorse
Se volete utilizzare, con una certa professionalità, le possibilità offerte dal sistema operativo
Windows, è consigliabile procurarsi un buon testo, magari scaricandolo da Internet. Solitamente
nella confezione originale di Windows, oltre ai CD e dischetti necessari, è contenuto anche un
piccolo manuale che permette di orientarsi nei meccanismi più semplici del sistema.
Dato che questo potrebbe non essere sufficiente, il sistema prevede anche un corso
multimediale con spiegazioni ed esercitazioni. Per accedervi è sufficiente seguire questo percorso:
fare clic sul pulsante START (AVVIO), scegliendo PROGRAMMI, quindi ACCESSORI, poi
UTILITÀ DI SISTEMA e infine INTRODUZIONE A WINDOWS.
37
Introduzione al Computer
Massimo Bucchi
Percorso Introduzione a Windows
A questo punto potrei consigliarvi di seguire le colorate esercitazioni previste dal sistema,
ma ritengo utile annoiarvi ancora per qualche minuto con alcuni suggerimenti.
Una volta che avrete organizzato i vostri documenti in tante cartelle e sottocartelle può
succedere di non riuscire più a trovare un certo testo o documento. Per facilitarvi Windows ha
previsto una funzione di ricerca che si chiama TROVA. Per cercare un file o una cartella occorre
fare clic sul pulsante START, scegliere TROVA e quindi FILE o CARTELLE che aprirà una
finestra di dialogo come riportato qui sotto:
38
Introduzione al Computer
Massimo Bucchi
Altra cosa importante da tener presente è che, a differenza del sistema DOS, il s.o. Windows
necessita di una particolare procedura di spegnimento per evitare di perdere informazioni. Per uscire
da Windows e arrestare il sistema fare quindi clic sul pulsante START, quindi scegliere CHIUDI
SESSIONE. Nella finestra di dialogo che verrà proposta selezionare il pulsante di opzione
ARRESTA IL SISTEMA e cliccare OK. Attendere lo spegnimento.
Procedura di spegnimento
È bene ricordare che la maggior parte dei programmi installati nel computer è visualizzata
nel menù AVVIO. Per avviare quindi un programma, se non presente in una cartella o come link
(collegamento) sul desktop, fare clic sul pulsante START (AVVIO). Se qui il nome del programma
non compare selezionare la voce PROGRAMMI e scegliere il programma o il sottomenu che
contiene tale programma.
Successivamente, per terminare il programma, utilizzare l’uscita prevista dal programma
stesso (di solito FILE EXIT o ESCI) oppure fare clic sul pulsante di chiusura nell’angolo
superiore destro della finestra del programma.
39
Introduzione al Computer
Massimo Bucchi
Finestra di un Programma
Infine vorrei ricordare che non esiste solo il mouse. Anzi è spesso comodo utilizzare delle
‘scorciatoie’ che si ottengono con combinazioni di tasti della tastiera.
Vi suggerisco questi ‘trucchi’ che potrete trovare anche nell’help premendo F1:
Utilizzo dei tasti di scelta rapida in Windows
Per
Attivare la barra dei menu nei programmi
Eseguire il comando di menu corrispondente
Premere
F10
ALT+lettera
menu
Chiudere la finestra corrente nei programmi MDI, Multiple
Document Interface
Chiudere la finestra corrente o uscire dal programma
Copiare
Tagliare
Eliminare
Visualizzare la Guida per l'oggetto selezionato nella finestra di
dialogo
Visualizzare il menu di sistema della finestra corrente
Visualizzare il menu di scelta rapida dell'oggetto selezionato
Visualizzare il menu Start.
Visualizzare il menu di sistema per i programmi MDI
Incollare
40
sottolineata nel
CTRL+F4
ALT+F4
CTRL+C
CTRL+X
CANC
F1
ALT+barra spaziatrice
MAIUSC+F10
CTRL+ESC
ALT+trattino (-)
CTRL+V
Introduzione al Computer
Massimo Bucchi
Tornare all'ultima finestra utilizzata
ALT+TAB
Oppure
Passare a un'altra finestra tenendo premuto ALT e premendo
ripetutamente TAB
Annullare
CTRL+Z
Tasti di scelta rapida per Microsoft Magnifier
Premere
(tasto Windows)+STAMP
Per
Copiare negli Appunti l'intera schermata, incluso il
cursore del mouse.
Copiare negli Appunti l'intera schermata, escluso il
cursore del mouse.
Attivare l'inversione dei colori.
Visualizzare la traccia del puntatore del mouse.
Aumentare l'ingrandimento.
Diminuire l'ingrandimento.
(tasto Windows)+BLOC SCORR
(tasto Windows)+PGSU
(tasto Windows)+PGGIÙ
(tasto Windows)+freccia SU
(tasto Windows)+freccia GIÙ
Utilizzo dei tasti di scelta rapida nelle finestre di dialogo
Per
Premere
Annullare l'operazione corrente
Fare clic sul pulsante se il controllo corrente è un pulsante
ESC
Barra spaziatrice
Oppure
Selezionare o deselezionare la casella di controllo se il controllo corrente è
una casella di controllo
Oppure
Selezionare l'opzione se il controllo corrente è un pulsante di opzione
Fare clic sul comando corrispondente
ALT+lettera
Far clic sul pulsante selezionato
Tornare alle opzioni precedenti
Tornare alle schede precedenti
Passare alle opzioni successive
Passare alle schede successive
Aprire la cartella superiore della cartella selezionata nella finestra di dialogo
Salva con nome o Apri
Visualizzare il contenuto della casella di riepilogo Salva in o Cerca in nella
finestra di dialogo Salva con nome o Apri
Aggiornare la finestra di dialogo Salva con nome o Apri
INVIO
sottolineata
41
MAIUSC+TAB
CTRL+MAIUSC+TAB
TAB
CTRL+TAB
BACKSPACE
F4
F5
Introduzione al Computer
Massimo Bucchi
Utilizzo dei tasti di scelta rapida per Esplora risorse
Per
Comprimere la selezione corrente se è espansa
Premere
Freccia SINISTRA
Oppure
Selezionare la cartella superiore
Comprimere la cartella selezionata
Espandere la selezione corrente se è compressa
BLOC NUM+segno meno (-)
Freccia DESTRA
Oppure
Selezionare la prima sottocartella
Espandere tutte le sottocartelle della selezione corrente BLOC NUM+*
Espandere la cartella selezionata
BLOC NUM+segno più (+)
F6
Passare tra il riquadro di sinistra e quello di destra
Utilizzo dei tasti di scelta rapida per il desktop, Risorse del computer ed Esplora risorse
Una volta selezionato un oggetto, è possibile utilizzare i tasti di scelta rapida descritti di seguito.
Per
Evitare l'esecuzione automatica quando si inserisce un CD
Copiare un file
Creare un collegamento
Premere
MAIUSC mentre si inserisce il CD
CTRL mentre si trascina il file
CTRL+MAIUSC mentre si trascina il
file
Eliminare immediatamente un oggetto senza collocarlo nel
Cestino
Visualizzare la finestra di dialogo Trova: Tutti i file
Visualizzare il menu di scelta rapida dell'oggetto
Aggiornare il contenuto della finestra attiva
Rinominare un oggetto
Selezionare tutti gli oggetti
Visualizzare le proprietà di un oggetto
MAIUSC+CANC
F3
Tasto del menu di scelta rapida
F5
F2
CTRL+5 (Tn)
ALT+INVIO oppure ALT+DOPPIO
CLIC
Utilizzo dei tasti di scelta rapida per Risorse del computer ed Esplora risorse
Per
Chiudere la cartella selezionata e tutte le relative cartelle
superiori
Premere
MAIUSC mentre si fa clic sul pulsante
Chiudi
(solo in Risorse del computer)
Tornare a una visualizzazione precedente
Spostarsi a una visualizzazione successiva
Visualizzare la cartella superiore
ALT+freccia SINISTRA
ALT+freccia DESTRA
BACKSPACE
42
Introduzione al Computer
Massimo Bucchi
Utilizzo dei tasti WINDOWS
Per
Passare da un pulsante all'altro sulla barra delle applicazioni
Visualizzare Trova: Tutti i file
Visualizzare Trova: Computer
Visualizzare la Guida in linea
Visualizzare il comando Esegui
Visualizzare il menu Start.
Visualizzare la finestra di dialogo Proprietà – Sistema
Visualizzare Esplora risorse
Ridurre a icona o ingrandire tutte le finestre
Annullare la riduzione a icona di tutte le finestre
Premere
WINDOWS+TAB
WINDOWS+F
CTRL+WINDOWS+F
WINDOWS+F1
WINDOWS+R
WINDOWS
WINDOWS+PAUSA
WINDOWS+E
WINDOWS+D
MAIUSC+WINDOWS+M
Anche qui, per non incorrere in gravi errori, è bene che l’utilizzo di una certa combinazione
di tasti sia consapevole, essendo in molti casi irreversibile.
Terminiamo questa breve descrizione e continuiamo a vedere gli altri argomenti della nostra
primitiva scaletta che erano, dopo i sistemi operativi e drivers, i linguaggi, i programmi applicativi
ed i database.
Che cos’è un linguaggio ma soprattutto a cosa serve?
Cito dal dizionario Garzanti “linguaggio, s.m. – la facoltà di esprimere pensieri e sentimenti
per mezzo di suoni articolati”.
Sappiamo che nel mondo esistono centinaia di lingue: italiano, inglese, francese, tedesco,
arabo, giapponese, cinese, ecc. molto diverse tra loro anche se tutte tendono allo stesso scopo: la
determinazione di un linguaggio per comunicare, comprendere e farsi capire dagli altri. Esistono poi
delle persone che conoscono più lingue e sono in grado, in alcuni casi, di porsi come interpreti tra
due persone di lingua diversa.
Ebbene anche nel mondo dei computers esiste un’analoga babele di lingue ognuna delle
quali espressa da uno specifico linguaggio, con termini, espressioni e regole proprie di quel
43
Introduzione al Computer
Massimo Bucchi
linguaggio, ed esistono anche delle funzioni di interprete. Questi linguaggi sono stati inventati per
farsi capire dal computer nella formulazione di pensieri ed istruzioni.
Potrei citare diverse decine di linguaggi ma i più conosciuti, dai primi agli attuali, sono
sicuramente compresi nei seguenti: Linguaggio Macchina, Assembler, Cobol, Fortran, Basic,
Qbasic, GWBasic, TurboBasic, Visual Basic, RPG, Lisp, Prolog, TurboProlog, MIT Logo, Pascal,
Turbo Pascal, Delphi, Algol, C, C++, Visual C++, HTML, JAVA, JavaScript, Visual J++, ecc.
Di ogni linguaggio esistono diverse varianti nonché versioni di aggiornamento. Per fare un
esempio prendiamo in considerazione uno dei linguaggi più famosi ed utilizzati sia da professionisti
della programmazione che da principianti: il BASIC.
GW-BASIC
BASIC, acronimo di Beginners All-purpose Symbolic Instruction Code (codice simbolico
universale per principianti), nasce nel 1964 presso il Dartmouth College (Ohio) ad opera di Thomas
Kurtz e John G. Kemeney. Utilizzato negli anni ’70-’80 per insegnare l’informatica a studenti ha
riscosso molto successo con la diffusione dei personal ed home computers. Le varie case produttrici
hanno creato varie versioni, a seconda delle esigenze del loro hardware. Tra le più famose
ricordiamo:
44
Introduzione al Computer
Massimo Bucchi
nel 1975 la Microsoft creò MSBASIC per gli Altair 8800;
nel 1977 fu la volta della Apple con Applesoft per la serie Apple II;
nel 1979 la Acorn fece uscire BBC BASIC per la serie BBC;
nel 1979 la Atari fece uscire il suo BASIC per la serie Atari 8-bit;
nel 1979 la Texas Instruments creò il TI BASIC per i TI-99/4 e successori;
nel 1980 la Commodore dotò i suoi primi computer di un particolare BASIC;
nel 1980 la Sinclair fece uscire un BASIC per la serie ZX;
nel 1982 la Microsoft realizza il BASICA per PC-DOS dei sistemi PC IBM;
nel 1982 la Microsoft crea il famoso GWBASIC per MS-DOS;
nel 1983 sempre la Microsoft fece uscire l’MSX BASIC per la serie MSX;
nel 1983 la Olivetti inventa il PCOS per l’M20 ed introduce il BASIC esteso grafico;
nel 1984 la Amstrad diede origine al Locomotive BASIC per la serie CPC;
nel 1984 la Microsoft crea MacBASIC per Macintosh;
nel 1985 sempre la Microsoft crea QuickBASIC per MS-DOS;
nel 1986 la Borland inventa il velocissimo TURBO BASIC compatibile con le precedenti
versioni del BASICA, GWBASIC, ecc.;
nel 1990 Microsoft produce Visual Basic per Windows 3.0 per applicazioni con interfacce
grafiche;
nel 1992 esce la versione 2.0 di Visual Basic;
nel 1993 Microsoft insiste con la versione 3.0 di Visual Basic;
nel 1995 viene diffusa la versione 4.0 di VB per Windows 3.1 e Windows9x;
nel 1997 esce la versione 5.0 di VB per Windows9x;
nel 1999 continua la diffusione di Visual Basic per Windows98, SE, ME e 2000;
………………..e la storia continua.
Visual Basic
A questo punto la nostra precedente domanda dovrebbe essere meglio articolata in questo
modo: che cos’è un linguaggio di programmazione per computer e a cosa serve?
45
Introduzione al Computer
Massimo Bucchi
Leggo nell’Enciclopedia della Scienza e della Tecnica De Agostini: linguaggi di
programmazione, linguaggi artificiali in grado di consentire il trasferimento di informazioni tra
computer e utente, scomponendo i problemi da risolvere in algoritmi e comandi univoci che il
computer sia in grado di comprendere, cioè permettono di rappresentare le istruzioni binarie su cui
opera il computer in un codice leggibile dall’utente. Hanno come caratteristica la mancanza di
ambiguità (ogni parola, cioè ogni istruzione, ha un valore indipendente dal contesto) e una sintassi
molto rigida, per cui l’ordine delle parole è vincolato da regole rigidamente predeterminate e non
può essere modificato in nessun modo.
Come vedete, dunque, è ben diversa la definizione di linguaggio umano e di linguaggio di
programmazione. La stesura di un programma, dalla definizione e dall’analisi del problema alla
compilazione della sequenza di istruzioni elementari per il computer, richiede una serie di passaggi
complessi per cui sono state create diverse categorie di linguaggi di programmazione, che offrono
livelli crescenti di astrazione e di rigidità sintattica. Per elaborare l’algoritmo di un programma
vengono utilizzati i linguaggi assemblatori, con cui vengono descritte in modo non ambiguo le
operazioni che devono essere eseguite e in quale sequenza; essi non possono essere capiti dal
computer ma solo dall’operatore umano; per questi linguaggi non esiste uno standard riconosciuto,
pur esistendo una simbologia universalmente accettata. I linguaggi di programmazione d’alto livello
sono utilizzati per indicare al computer gli algoritmi da tradurre in comandi. Un’istruzione in
linguaggio d’alto livello, si traduce in genere in un gran numero d’operazioni elementari in codice
binario, necessarie al computer per eseguire l’istruzione. Secondo il campo d’applicazione del
programma si possono utilizzare linguaggi d’alto livello di differente orientamento. I linguaggi di
programmazione d’alto livello sono talmente diffusi da potersi considerare standardizzati
(normative ANSI, American National Standards Institute) e consentono di scrivere un programma
su un computer e di utilizzarlo anche su un computer di tipo diverso (portabilità del software).
I linguaggi di programmazione di basso livello (o assembler) prevedono la codifica
dettagliata di tutte le operazioni elementari che compongono il programma e perciò ad ogni
46
Introduzione al Computer
Massimo Bucchi
istruzione in assembler corrisponde generalmente una sola istruzione in codice binario. Sono
specifici per ciascun computer e in particolare sono legati alla struttura fisica del suo
microprocessore. Con gli assembler la portabilità di software è quasi nulla, ma si possono scrivere
programmi molto efficienti, veloci e che occupano poca memoria.
Poiché i computer operano tramite linguaggi macchina sotto forma di codice binario, è
necessario tradurre i vari linguaggi di programmazione in linguaggio macchina perché il computer
possa ricevere ed eseguire qualsiasi programma. Tale traduzione viene eseguita da appositi
programmi convertitori di linguaggio: gli interpreti e i compilatori. Gli interpreti convertono il
linguaggio di programmazione ad alto livello in linguaggio macchina un’istruzione per volta, man
mano che la eseguono. Essi devono ritradurre le singole istruzioni ogni volta che le eseguono,
perciò sono piuttosto lenti; inoltre per eseguire un programma bisogna aver sempre a disposizione
l’interprete. Sono tuttavia facili da usare e permettono una modifica immediata del programma
qualora si riscontrino degli errori. Un classico esempio di interprete è il GWBASIC, utilizzato
spesso per insegnamento o per fare piccoli programmi di prova e valutare i possibili errori.
I compilatori effettuano la traduzione una volta per tutte: tutto il blocco scritto in linguaggio
di programmazione tramite un editor di testo è detto codice sorgente; questo viene tradotto in
linguaggio macchina ottenendo così il codice oggetto. A questa traduzione, fa seguito
un’operazione di linking (collegamento) per associare al codice oggetto le istruzione necessarie a
renderlo autonomo dal compilatore: si perviene così al codice eseguibile, cioè al programma
definitivo che può essere utilizzato da solo.
Per scrivere programmi per determinate applicazioni, come per es. il controllo automatico
delle macchine utensili, sistemi robotizzati o applicazioni grafiche, si ricorre a linguaggi
specialmente formulati per ciascuna applicazione. Questi linguaggi, che fanno largo uso di
procedure standard (routines), sono strutturati in modo tale da semplificare al massimo la scrittura
dei programmi.
47
Introduzione al Computer
Massimo Bucchi
Prima di terminare quest’argomento, vediamo insieme solo un piccolo esempio di
programma, rimandando la trattazione seria della programmazione a manuali specifici o ad un
possibile prossimo testo, invitando tutti coloro che sono interessati a tale argomento e vogliono a
tutti i costi diventare pazzi come un vero programmatore a procurarsi non solo il manuale ma anche
il linguaggio ed il compilatore specifico che si vuol utilizzare, per effettuare subito gli esercizi e
fare pratica. Un piccolo suggerimento, mio personale, è di incominciare ad entrare nel mondo della
programmazione con linguaggi semplici, anche se apparentemente obsoleti, come ad esempio il
GWBASIC interprete o il PASCAL; in questo modo per effettuare prove ed esercizi ci s’impiegano
solo pochi minuti e i risultati sono immediatamente realizzabili. Con linguaggi più interessanti ma
più complessi, come ad esempio il C++ o il Visual Basic, si ottengono risultati sicuramente più
professionali, ma per incominciare ad usare questi linguaggi occorre molto tempo di studio, non
solo per la comprensione del linguaggio in se stesso ma anche per l’utilizzo dei programmi
accessori, editor, compilatori, ecc.
Vediamo allora un piccolo esempio di programma in Gwbasic: supponiamo di voler far
apparire in mezzo al video vuoto dieci righe con la scritta “CIAO” ognuno dei quali spostato,
rispetto al precedente, di tre caratteri verso destra a partire da un certo punto. Potremmo scrivere:
10 REM *** Programma CIAO ***
20 CLS
30 X=5:Y=20
40 FOR T=1 TO 10
50 LOCATE X+T,Y+T*3
60 PRINT “CIAO”
70 NEXT
80 END
:
:
:
:
:
:
:
:
‘spiegazione
‘cancella il video
‘posizione iniziale
‘inizio ciclo
‘posizione di scrittura
‘scrittura di una frase
‘fine ciclo
‘fine programma
Sembra incredibile ma abbiamo appena creato un programma. Un programma banale ed
inutile, sicuramente, ma pur sempre un programma. All’inizio è di certo consigliabile non porsi
nella condizione di voler fare un programma ‘seriò ma è bene fare programmini di prova, semplici,
con cui verificare le proprietà e le regole del linguaggio, per analizzare i risultati che si ottengono.
Se proprio però tali programmini vi sembrano troppo stupidi, potete comunque pensare a
48
Introduzione al Computer
Massimo Bucchi
programmi con una certa utilità (anche se modesti o già esistenti) provando e riprovando le varie
possibilità. È comunque evidente che un programma altro non è che un insieme di istruzioni fornite
alla macchina con una sequenza logica.
Di programmi in commercio ne esistono migliaia e altrettanti se ne possono trovare con
quelle licenze particolari di cui abbiamo già parlato (freeware, shareware, ecc.) facilmente reperibili
in riviste specializzate o in Internet. In realtà, pur essendoci migliaia di programmi, quasi tutti
possono essere classificati in determinate categorie:
abbiamo così i programmi scientifici o per fare calcoli, di cui molto diffusi sono i
cosiddetti fogli elettronici o spreadsheet. Hanno un grosso vantaggio, rispetto ad un
programma già impostato per fare calcoli di un certo tipo predefinito, poiché possono
essere impostati dall’utente per qualsiasi esigenza come tabelle, calcoli, dati statistici,
dati economici e finanziari, grafici, diagrammi, ecc. Dai primi ormai dimenticati
Visicalc, Multiplan, Lotus 1-2-3 ai moderni Excel, foglio di Works, foglio di Staroffice,
ecc.
importantissimi sono i programmi di gestione testi o videoscrittura detti word processor.
Inizialmente introdotti per sostituire la macchina per scrivere, ben presto si sono
49
Introduzione al Computer
Massimo Bucchi
arricchiti di tantissime opzioni che li rendono preziosi: scrivere, salvare, stampare un
testo, modificarlo infinite volte, cambiare i caratteri da corsivo a grassetto, sottolineare,
cambiare il font (cioè la tipicità del carattere ma anche le dimensioni), allinearlo come si
preferisce, inserire fotografie, disegni, didascalie, oggetti vari, ombreggiare o
incorniciare una pagina, sono solo alcune delle centinaia di possibilità offerte dai
moderni elaboratori di testo, fino ad arrivare all’impaginazione, editoria e pubblicazione
di libri o giornali. Wordstar, Word Perfect, Word, Starwriter sono solo alcuni, tra
centinaia, dei programmi esistenti per videoscrittura.
collegabili ai programmi di videoscrittura sono quei programmi che permettono il
riconoscimento vocale, la lettura di testi con scanner (OCR), i programmi di traduzione
testi da una lingua ad un’altra.
50
Introduzione al Computer
Massimo Bucchi
va ricordata inoltre una vasta categoria che occupa una bella fetta del mercato dei
programmi e che è quella dei giochi o videogames: dagli arcade (giochi d’azione), alle
simulazioni (di guida, di volo, ecc.), di strategia, di adventure, educativi, ecc. Mi ripeto,
ma mi preme rilevare che sarebbe un errore grave sottovalutare l’importanza del gioco
nell’apprendimento e nello sviluppo di capacità tecnologiche. Quello dei giochi è il
settore in cui sono state sperimentate alcune fra le tecnologie più innovative
successivamente riprese in altri campi e che ha dato una svolta decisiva alla diffusione di
massa dei personal computers.
la grafica, il disegno, il fotoritocco rappresentano un altro grande filone dell’informatica
spesso connesso al disegno tecnico (CAD), alla grafica vettoriale e a quella
tridimensionale.
51
Introduzione al Computer
Massimo Bucchi
la gestione dell’audio, la creazione di musica, l’acquisizione e montaggio di video,
l’editoria multimediale, ecc. rappresentano un altro grosso settore.
con la diffusione di Internet moltissime tipologie di programmi si sono orientate alla
rete. Nello stesso tempo, sono nati nuovi programmi destinati ad Internet: programmi per
la navigazione detti browser, per la posta elettronica, per il trasferimento di dati (FTP),
per l’ottimizzazione dei segnali telefonici, ecc. Riprenderemo con più attenzione questo
argomento nel prossimo capitolo.
per ultimo, anche se in realtà esistono molte altre categorie di programmi, consideriamo
un importantissimo settore dell’informatica che è rappresentato dai database. Questo
serve anche per ricollegarci agli argomenti citati nella nostra scaletta. Che cos’è un
database? Potremmo genericamente dire che si tratta di un archivio, ma sarebbe
riduttivo in quanto è più preciso affermare che per database s’intende un insieme di
informazioni o dati, omogenei tra loro e organizzati in strutture. I dati possono essere di
52
Introduzione al Computer
Massimo Bucchi
qualsiasi natura, come ad esempio una collezione di monete, una biblioteca, una rubrica
d’indirizzi, l’elenco telefonico, l’elenco clienti o fornitori di un’azienda, un magazzino
di materiali, e così via. Per poter creare un database, tramite specifici programmi (dBase,
Access, ecc.), è necessario rispettare alcune regole: innanzitutto i dati, come abbiamo già
accennato, devono essere omogenei. Ciò significa che non possiamo mischiare in un
unico archivio dati diversi, come ad esempio l’elenco telefonico con l’elenco di libri di
una biblioteca, perché non ci sarebbe l’utilizzo delle stesse voci o, come tecnicamente
vengono definiti, gli stessi campi (field). Un archivio è quindi composto da un certo
numero di records, che contengono una scheda (ad es. un cliente), a sua volta composto
da campi, ognuno di una certa lunghezza. La somma delle lunghezze, espresse in
caratteri o byte, di tutti i campi fornisce la lunghezza complessiva del singolo record.
L’insieme di tutti i record fornisce invece la dimensione dell’archivio. I programmi per
la gestione di database permettono, in genere, di creare i record ed i campi con
caratteristiche utili alle nostre esigenze. Ma la vera utilità di questi programmi non è
tanto la possibilità di memorizzare, modificare o cancellare i vari dati, bensì la
possibilità di manipolarli estraendone a richiesta alcuni, ricercando quei record che
corrispondono a particolari requisiti, listare o stampare altri per noi interessanti, e così
via. Ciò può avvenire perché tali programmi utilizzano particolari routines che attraverso
uno specifico linguaggio di ricerca (query language) ed operatori logici booleani
permettono di interrogare il database, estraendone le informazioni richieste.
53
Introduzione al Computer
Massimo Bucchi
Terminiamo dunque questo argomento e prepariamoci ad entrare nel nuovo millennio con il
prossimo capitolo che tratterà delle reti locali e della rete delle reti: Internet.
54