Fabrizia Scorzoni. 1 Il computer. Per periti informatici Seconda Edizione. Sistemi. Elaborazione e trasmissione delle informazioni



Documenti analoghi
Il computer: primi elementi

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

Modulo 2 Uso del computer e gestione dei file

Il Sistema Operativo (1)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

1 -Introduzione MODULO L1

Corso di Informatica

PATENTE EUROPEA DEL COMPUTER 4.0 MODULO

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

TEST: Hardware e Software

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

CdL in Medicina Veterinaria - STPA AA

C. P. U. MEMORIA CENTRALE

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Corso di Alfabetizzazione Informatica

Corso base di informatica

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Laboratorio informatico di base

Word per iniziare: aprire il programma

Corso di Informatica

Modulo 6 Strumenti di presentazione

Presentation Draw. Guida dell utilizzatore

Crotone, maggio Windows. Ing. Luigi Labonia

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

LaCie Ethernet Disk mini Domande frequenti (FAQ)

GESTIONE DI FINESTRE, FILE E CARTELLE con Windows XP

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

Programma applicativo di protezione LOCK Manuale per l utente V2.22-T05

Esame n 2 per il conseguimento della patente europea del computer E.C.D.L. 19/11/2010 realizzato dal prof.conti Riccardo 1

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

IL SISTEMA OPERATIVO

Concetti base. Avviare e spegnere il computer. Muoversi tra il menù dei programmi installati

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS

Procedure di ripristino del sistema.

Alfabetizzazione Informatica. Prof. Giuseppe Patti

Gestione delle Cartelle dei Messaggi di Posta Elettronica

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER.

Guida all uso di Java Diagrammi ER

On-line Corsi d Informatica sul web

STRUMENTI DI PRESENTAZIONE MODULO 6

Informatica 1 Lezione 1

1. Il Client Skype for Business

MODULO 02. Iniziamo a usare il computer

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Qualche parola da imparare

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Le principali novità di PowerPoint XP

1. Avviare il computer

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

1.1 Installazione di ARCHLine.XP

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Dispensa di Informatica I.1

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

Il Software. Il software del PC. Il BIOS

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

MANUALE EDICOLA 04.05

Le Proprietà della Barra delle applicazioni e Menu Start di Giovanni DI CECCA -

Servizio on-line di Analisi e Refertazione Elettrocardiografica

Architettura hardware

Word prima lezione. Prof. Raffaele Palladino

EasyPrint v4.15. Gadget e calendari. Manuale Utente

'LVSHQVD :LQGRZV GL0&ULVWLQD&LSULDQL

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Aggiornamenti Sistema Addendum per l utente

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Sicurezza dei file Le protezioni nei programmi

PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152)

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

Prova di informatica & Laboratorio di Informatica di Base

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Il calendario di Windows Vista

4. Fondamenti per la produttività informatica

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Il controllo della visualizzazione

Tecnologie dell Informazione e della Comunicazione (TIC) IPSIA San Benedetto del Tronto (AP)

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

1. la coordinazione delle diverse componenti hardware (e software) del computer 2. l esecuzione e la coordinazione dei processi

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

INTRODUZIONE ALL INFORMATICA CORSO DI LAUREA IN BIOLOGIA A.A. 2015/2016

ISTRUZIONI PER L UTILIZZO DELLA SCHEDA INFORMATIZZATA E MODALITA DI INVIO DEI DATI - L. R. 162/98 PROGRAMMA

Laplink FileMover Guida introduttiva

Come usare P-touch Transfer Manager

Office 2007 Lezione 02. Le operazioni più

Istruzioni per installare EpiData e i files dati ad uso di NetAudit

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

SETUP DEL BIOS E CARATTERISTICHE DI SICUREZZA

Acer erecovery Management

Transcript:

Fabrizia Scorzoni Sistemi Elaborazione e trasmissione delle informazioni 1 Il computer Per periti informatici Seconda Edizione EDUCAZIONE TECNICA SUPERIORE

Fabrizia Scorzoni Sistemi Elaborazione e trasmissione delle informazioni Per Periti Informatici 1 Il computer Seconda Edizionei LOESCHER EDITORE

Loescher - 2004 http://www.loescher.it I diritti di traduzione, di memorizzazione elettronica, di riproduzione e di adattamento totale o parziale con qualsiasi mezzo (compresi i microfilm e le copie fotostatiche) sono riservati per tutti i paesi. Fotocopie per uso personale (cioè privato e individuale) nei limiti del 15% di ciascun volume possono essere effettuate negli esercizi che aderiscono all'accordo tra SIAE - AIE - SNS e CNA - Confartigianato - CASA - Confcommercio del 18 dicembre 2000, dietro pagamento del compenso previsto in tale accordo. Per riproduzioni ad uso non personale l'editore potrà concedere a pagamento l'autorizzazione a riprodurre un numero di pagine non superiore al 15% delle pagine del presente volume. Le richieste per tale tipo di riproduzione vanno inoltrate a: Loescher Editore srl Ufficio Contratti Via Vittorio Amedeo II, 18 10121 Torino tel.: 011 5654 170 fax: 011 5654 200 e-mail: diritti@loescher.it L'editore, per quanto di propria spettanza, considera rare le opere fuori del proprio catalogo editoriale. La riproduzione a mezzo fotocopia degli esemplari di tali opere esistenti nelle biblioteche è consentita, non essendo concorrenziale all'opera. Non possono considerarsi rare le opere di cui esiste, nel catalogo dell'editore, una successiva edizione, le opere presenti in cataloghi di altri editori o le opere antologiche. Nel contratto di cessione è esclusa, per biblioteche, istituti di istruzione, musei ed archivi, la facoltà di cui all'art. 71 - ter legge diritto d'autore. Maggiori informazioni sul nostro sito: http://www.loescher.it/fotocopie Ristampe 6 5 4 3 2 1 N 2009 2008 2007 2006 2005 2004 Loescher Editore S.r.l. opera con sistema qualità certificato CERMET n 1679-A secondo la norma UNI EN ISO 9001-2000 Coordinamento editoriale: Mauro Gargantini Videoimpaginazione: Fabrizia Scorzoni Stampa: MP Stampa - Mathi (TO)

INDICE INTRODUZIONE... XIV MODULO 1 - I PRIMI ELEMENTI E L USO DEL COMPUTER...1 CAPITOLO 1 - IL COMPUTER...2 1.1 Le informazioni... 3 1.2 L hardware... 3 1.3 Il software... 4 1.4 Il sistema operativo... 4 L interfaccia grafica... 5 Le finestre... 6 Le finestre di dialogo... 7 1.5 La creazione di programmi applicativi... 9 1.6 I file... 9 I virus... 10 Tipi di virus... 11 CAPITOLO 2 - WINDOWS...13 2.1 Il sistema operativo Windows... 14 Lab 2.1 Accesso a Windows... 14 Windows 9x... 14 Windows NT, 2000 e XP... 14 Lab 2.2 L interfaccia grafica... 16 Lab 2.3 Il desktop... 16 Lab 2.4 La barra delle applicazioni... 17 Il menu di avvio... 18 La barra Avvio veloce e le altre barre degli strumenti... 20 L area di stato... 20 Lab 2.5 Il Pannello di controllo... 21 Il risparmio energetico... 21 Standard APM e ACPI... 21 Il risparmio energetico in Windows... 22

IV Indice Lab 2.6 Le applicazioni... 23 La gestione delle applicazioni... 23 Le applicazioni DOS... 24 Comandi DOS... 24 Principali comandi per la gestione di directory e file... 24 Caratteri jolly... 25 Nomi di file... 25 Le directory... 25 Il pathname... 25 Comandi per la gestione delle directory... 25 Comandi per la gestione dei file... 26 Le variabili d ambiente... 27 2.2 Scambio di dati tra le applicazioni... 28 La tecnica cut and paste... 28 Incorporamento e collegamento... 28 Lab 2.7 Cut and paste e OLE... 28 Cut and paste... 28 OLE... 29 Lab 2.8 Gestione di file e cartelle... 30 La finestra di Esplora Risorse... 31 Operazioni su file e cartelle... 35 Il Cestino... 36 La ricerca di file... 37 Stampa di documenti... 38 I collegamenti... 39 Cartelle speciali... 39 Lab 2.9 Uso di Windows in rete... 39 Introduzione alle reti Windows... 39 Accesso a Risorse di rete... 40 CAPITOLO 3 - LINUX...43 3.1 Il sistema operativo Linux... 44 3.2 Caratteristiche di Linux... 44 Lab 3.1 Avvio dell interfaccia grafica... 45 Lab 3.2 L ambiente desktop KDE... 45 Lab 3.3 Gestione di file e directory con l interfaccia grafica... 48 La finestra del file manager... 48 Operazioni su file e directory... 51 Il Cestino... 51 La ricerca di file... 52 Stampa di documenti... 53 Collegamenti... 53 Lab 3.4 XTerm (finestra di terminale)... 53 Lab 3.5 Comandi... 54 Comandi interni ed esterni... 54 3.3 File e directory nei file system ext2 e ext3... 55 File... 55 Directory... 55 Il pathname... 56 Struttura delle directory di Linux... 56

Indice V Lab 3.6 Comandi per lavorare su file e directory... 56 Comandi per lavorare sulle directory... 56 Comandi per lavorare sui file... 57 Permessi e protezioni... 58 3.4 Variabili d ambiente... 59 Lab 3.7 Editor... 60 vi... 60 emacs... 63 Lab 3.8 Compilatore gcc... 66 MODULO 2 - RAPPRESENTAZIONE DEI DATI...69 CAPITOLO 4 - SISTEMI DI NUMERAZIONE...70 4.1 Sistemi di numerazione posizionali... 71 4.2 Numerazione binaria... 71 Operazioni... 72 Conversioni... 72 4.3 Numerazione esadecimale... 73 Operazioni... 74 Conversioni... 74 4.4 Conversioni tra sistemi binario ed esadecimale... 75 4.5 Numerazione ottale... 75 Conversioni... 76 4.6 Conversioni tra sistemi binario ed ottale... 76 CAPITOLO 5 - CODICI...79 5.1 I codici... 80 5.2 Codifica e decodifica... 80 5.3 Misura dell informazione... 81 5.4 Entropia... 81 5.5 Lunghezza ed efficienza di un codice... 82 5.6 Codice BCD... 82 5.7 Codici ridondanti per la rilevazione e correzione degli errori... 83 Codici rilevatori... 83 CRC... 84 Codici correttori... 85 Codice di Hamming... 86 5.8 Codici a lunghezza variabile... 87 Codice di Huffman... 87 CAPITOLO 6 - CODICI ALFANUMERICI...90 6.1 Codifica dei caratteri... 91 6.2 Standard ISO 646 e codifica ASCII a 7 bit o US ASCII... 91 6.3 Standard ISO 8859 e codifica ASCII a 8 bit... 93 6.4 Unicode... 93 6.5 Standard ISO 10646... 94 6.6 Codifica UTF... 94 UTF-8... 95

CAPITOLO 7 - RAPPRESENTAZIONE DEI NUMERI...98 7.1 Rappresentazione dei numeri interi in complemento alla base... 99 Complemento alla base... 99 Sottrazione con il metodo del complemento alla base... 99 Rappresentazione dei numeri interi in n bit... 100 Errori dovuti alla rappresentazione finita... 101 7.2 Rappresentazione dei numeri reali secondo lo standard IEEE 754... 102 Standard IEEE 754... 102 Operazioni con la rappresentazione floating point... 104 Errori dovuti alla rappresentazione floating point... 105 Tipi di dati in C... 105 VI Indice Lab 6.1 L Accessorio Mappa caratteri di Windows... 95 Lab 6.2 L Accessorio Selettore di caratteri di Linux... 96 MODULO 3 - MULTIMEDIALITÀ...107 CAPITOLO 8 - IMMAGINI...108 8.1 Modalità video... 109 Lab 8.1 Impostazione della modalità video con Windows... 109 Lab 8.2 Impostazione della modalità video con Linux... 110 8.2 Immagini vettoriali e bitmap... 110 8.3 Modelli di colore... 111 Modello RGB...111 Modello CMYK...111 Modello HSB... 112 Modello CIE Lab... 112 Tavolozze... 112 Lab 8.3 Definizione di un colore in Windows col modello HSB... 112 Lab 8.4 Definizione di un colore in Linux... 113 8.4 Immagini vettoriali... 114 Formati... 114 Grafica 3D... 114 8.5 Immagini bitmap... 115 Formati... 115 Compressione... 116 Metodo a lunghezza di sequenza o RLE... 116 Metodo a dizionari di codifica... 116 Acquisizione di immagini... 117 OCR... 118 Lab 8.5 Acquisizione di schermate del computer in Windows... 119 Lab 8.6 Acquisizione di schermate del computer in Linux... 119 Lab 8.7 Paint... 120 Lab 8.8 Creazione di un immagine con Corel Photo-Paint... 122 Proprietà dell immagine... 122 Scelta dei colori... 122 Lab 8.9 Creazione di un immagine con Gimp... 124 Lab 8.10 Le cartelle per la gestione delle immagini in Windows XP... 125

Indice VII CAPITOLO 9 - AUDIO, FILMATI E APPLICAZIONI MULTIMEDIALI...128 9.1 L audio digitale... 129 La registrazione e la riproduzione del suono... 129 Campionamento... 129 Formati... 130 Audio 3D... 130 Lab 9.1 Il registratore di suoni in Windows... 130 Lab 9.2 Il registratore di suoni in Linux... 131 Lab 9.3 Ascolto di CD Audio con il Lettore CD di Windows... 132 Lab 9.4 Ascolto di CD Audio con KsCD in Linux... 132 Lab 9.5 Riproduzione di musica con Windows Media Player... 133 Lab 9.6 Assegnare suoni agli eventi di Windows... 134 Lab 9.7 Assegnare suoni agli eventi di Linux... 135 9.2 Riconoscimento e sintesi vocale... 135 Lab 9.8 Accesso facilitato di Windows... 136 Lab 9.9 Il riconoscimento vocale di Office XP... 136 9.3 La musica MIDI... 136 I file MIDI... 136 L hardware... 137 Registrazione di musica MIDI... 137 Riproduzione di musica MIDI... 137 9.4 I filmati... 138 Formati... 138 Riproduzione di filmati... 139 Editing di filmati... 139 Lab 9.10 Windows Media Player... 139 Lab 9.11 Lettore DVD... 139 Lab 9.12 Windows Movie Maker... 140 Lab 9.13 Registrazione di azioni sullo schermo del computer... 141 9.5 I filmati televisivi... 141 Registrazione di filmati... 142 9.6 Le animazioni... 142 Lab 9.14 Creazione e modifica di animazioni (filmati) con Corel Photo-Paint... 143 9.7 Applicazioni multimediali... 144 Lab 9.15 Creazione di azioni sullo schermo del computer... 144 9.8 Programmazione di applicazioni multimediali... 146 MODULO 4 - HARDWARE...149 CAPITOLO 10 - L UNITÀ CENTRALE...150 10.1 La motherboard... 151 10.2 Il chipset della scheda madre... 152 10.3 Il clock... 153 10.4 Il bus dati... 153 Funzioni dei bus... 153 Bus dati... 154 Evoluzione dei bus dati... 154 10.5 La memoria RAM... 155 La RAM... 155

CAPITOLO 11 - PERIFERICHE...165 11.1 Le periferiche... 166 11.2 Dispositivi interni... 166 11.3 Porte di comunicazione... 167 11.4 Installazione di dispositivi e risorse di sistema... 169 11.5 Periferiche Plug & Play... 170 Lab 11.1 Installazione di periferiche con Windows... 170 Lab 11.2 Esame delle periferiche e delle risorse assegnate in Linux... 172 11.6 Memorie di massa... 172 11.7 Il controller... 173 I canali EIDE... 173 Evoluzione dello standard EIDE... 173 Il bus SCSI... 175 Evoluzione del bus SCSI... 175 11.8 L hard disk... 175 RAID... 177 11.9 Il floppy disk... 178 11.10 Dispositivi di memorizzazione ottica... 179 CDROM... 179 DVD... 180 11.11 Altre unità disco... 181 11.12 Le memorie flash... 181 11.13 I nastri... 182 11.14 Dispositivi di input... 183 Tastiera... 183 Dispositivi di puntamento... 184 Scanner... 185 11.15 Dispositivi di output... 185 Monitor e schede video... 185 Stampante... 188 VIII Indice Struttura della memoria... 156 Tecnologie di costruzione... 156 Moduli di memoria... 157 10.6 La memoria ROM... 158 La ROM... 158 Struttura della memoria... 158 Tipi di ROM... 158 Il BIOS (Basic Input Output System)... 159 Bootstrap... 159 10.7 CMOS... 160 10.8 La memoria cache... 160 Metodi di gestione della cache... 161 MODULO 5 - MICROPROCESSORI...193 CAPITOLO 12 - IL PROCESSORE...194 12.1 Struttura e caratteristiche del processore... 195

Indice IX 12.2 I registri... 195 12.3 La frequenza... 196 12.4 I pin... 196 12.5 Architettura... 197 Architettura dei processori... 197 Ciclo di esecuzione delle istruzioni nel modello di Von Neumann... 198 Pipelining... 198 SIMD... 199 Esecuzione speculativa o dinamica... 199 Multiprocessing... 199 12.6 Istruzioni... 199 12.7 Gestione della memoria... 200 CAPITOLO 13 - PROCESSORI INTEL...204 13.1 Processore 8086... 205 Registri... 206 Registro dei flag... 206 Gestione della memoria... 206 Coda di Prefetch... 208 Le istruzioni... 208 Gestione del bus... 208 Coprocessore 8087... 209 Descrizione dei pin... 209 Lab 13.1 Il programma Debug... 211 13.2 Evoluzione della famiglia di processori Intel... 212 13.3 Architettura IA-32... 214 Registri... 214 Modalità protetta... 215 Gestione della memoria... 216 Cache... 218 Il pipelining del Pentium... 218 Le architetture P6 e NetBurst... 218 L architettura Hyper-Threading... 219 Istruzioni MMX e SSE... 219 13.4 Architettura IA-64... 219 Parallelismo... 219 Registri... 220 Le istruzioni... 222 L Assembler dell architettura IA-64 e i predicati... 222 Gestione della memoria... 223 Il Processor Abstraction Layer... 223 MODULO 6 - LA PROGRAMMAZIONE A BASSO LIVELLO..225 CAPITOLO 14 - LINGUAGGI, ASSEMBLATORE, LINKER, LOADER...226 14.1 Linguaggi di programmazione... 227 14.2 Il linguaggio Assembler... 228 14.3 L assemblatore... 229

X Indice 14.4 Il linker... 230 Le DLL di Windows... 231 14.5 Il caricamento del programma... 231 Lab 14.1 Creazione e prova di programmi in Assembler in ambiente Windows... 232 Il TASM... 232 Il MASM... 233 Il debug dei programmi... 233 Lab 14.2 Creazione e prova di programmi in Assembler in ambiente Linux... 234 CAPITOLO 15 - ASSEMBLER INTEL - PRIMI ELEMENTI...238 15.1 Formato delle istruzioni... 239 15.2 Struttura del programma... 239 15.3 Direttive per semplificare la struttura del programma... 240 Lab 15.1 Verifica dei programmi... 241 15.4 Il segmento extra... 242 15.5 Dichiarazione dei dati... 242 Dichiarazione di numeri interi... 243 Dichiarazione di caratteri e stringhe... 243 Complementi... 244 15.6 Istruzioni di trasferimento e aritmetiche... 244 Istruzione MOV... 244 Lab 15.2 Verifica dei programmi: dump della memoria... 245 Istruzione XCHG... 245 15.7 Istruzioni aritmetiche... 246 Istruzioni ADD e SUB... 246 Istruzioni ADC e SBB... 246 Istruzioni INC e DEC... 247 Istruzioni MUL e IMUL... 247 Istruzioni DIV e IDIV... 248 15.8 Istruzioni di salto... 249 Etichette... 249 Salti incondizionati... 249 Salti condizionati... 249 15.9 Strutture di controllo... 251 Struttura condizionale... 251 Cicli while e until... 252 Ciclo for... 254 CAPITOLO 16 - ASSEMBLER AT&T - PRIMI ELEMENTI...259 16.1 Formato delle istruzioni... 260 16.2 Struttura del programma... 260 Lab 16.1 Verifica dei programmi... 261 16.3 Dichiarazione dei dati... 261 Dichiarazione di numeri... 261 Dichiarazioni di caratteri e stringhe... 261 16.4 Istruzioni di trasferimento e aritmetiche... 262 Istruzione MOV... 262 Lab 16.2 Verifica dei programmi... 263 Istruzioni ADD e SUB... 263

Indice XI Istruzioni ADC e SBB... 264 Istruzioni INC e DEC... 264 Istruzione MUL... 265 Istruzione DIV... 265 16.5 Istruzioni di salto... 266 16.6 Strutture di controllo... 267 CAPITOLO 17 - ASSEMBLER INTEL - ARGOMENTI AVANZATI...271 17.1 Gestione dell input/output... 272 L istruzione INT... 272 Lettura e stampa di caratteri... 272 Lettura e stampa di stringhe... 273 Lettura e stampa di numeri... 275 17.2 Le macro... 277 17.3 Lo stack... 278 Gestione dello stack... 278 Esempi di casi in cui è utile lo stack... 279 17.4 Modalità di indirizzamento... 282 Indirizzamento diretto... 282 Indirizzamento indiretto... 282 Indirizzamento base/scostamento... 283 Il registro BP e lo stack... 283 Indirizzamento indicizzato... 283 Indirizzamento base/indice/scostamento... 284 Indirizzamento nel segmento di codice... 284 17.5 I vettori... 285 Dichiarazione di vettori... 285 Indirizzamento degli elementi di un vettore... 285 Cicli sugli elementi di un vettore... 286 Matrici... 287 17.6 Le procedure... 288 Definizione di una procedura... 288 Richiamo di una procedura... 288 Schema di una procedura... 289 Passaggio dei parametri... 290 17.7 Istruzioni logiche... 294 17.8 Istruzioni di scorrimento e rotazione... 295 Istruzioni di scorrimento... 295 Istruzioni di rotazione... 296 17.9 Gestione delle stringhe... 297 17.10 Il PSP e il passaggio di parametri al programma... 299 CAPITOLO 18 - ASSEMBLER AT&T - ARGOMENTI AVANZATI...305 18.1 Gestione dell input/output... 306 L istruzione INT... 306 Lettura e stampa di stringhe... 306 Lettura e stampa di caratteri e numeri... 307 18.2 Le macro... 308 18.3 Lo stack... 308

XII Indice 18.4 Modalità di indirizzamento... 308 Indirizzamento diretto... 309 Indirizzamento indiretto... 309 Indirizzamento base/scostamento... 309 Indirizzamento indicizzato... 309 Indirizzamento base/indice/scostamento... 309 18.5 I vettori... 309 18.6 Le procedure... 311 CAPITOLO 19 - ASSEMBLER E C...316 19.1 Assembler inline... 317 19.2 Chiamate di procedure Assembler da un programma in C... 318 19.3 Variabili di scambio tra C e Assembler... 319 19.4 Assembler inline con il compilatore gcc di Linux... 320 19.5 Chiamate di procedure Assembler da un programma in C con il compilatore gcc di Linux... 321 MODULO 7 - INTERRUZIONI E DISPOSITIVI PERIFERICI... 323 CAPITOLO 20 - GESTIONE DELLE INTERRUZIONI...324 20.1 Le interruzioni... 325 20.2 Gestione delle interruzioni nei processori Intel... 325 20.3 Gestione delle Interruzioni nell 8086... 326 Lab 20.1 Modifica della risposta a una interruzione nell 8086... 328 20.4 Gestione delle interruzioni nell architettura IA-32... 329 Gestione delle interruzioni nell architettura IA-64... 330 CAPITOLO 21 - GESTIONE DELL I/O...333 21.1 Comunicazione tra processore e periferiche... 334 I/O tramite richiesta di interruzione... 334 I/O tramite richiesta di interruzione nei computer con processore 8086... 335 DMA... 336 Computer 8086 e DMA... 336 21.2 Operazioni di I/O... 336 BIOS (Basic Input Output System)... 337 Programmazione dei dispositivi... 337 Mappa di I/O nell 8086... 338 Lab 21.1 Uso delle porte di I/O con Debug... 338 Lab 21.2 Lettura dell orario di sistema usando le porte di I/O... 338 CAPITOLO 22 - GESTIONE DEI DISPOSITIVI PROGRAMMABILI...340 22.1 Circuito integrato 8259 o PIC (Programmable Interrupt Controller)... 341 Lab 22.1 Programmazione del PIC per disabilitare la tastiera... 341 22.2 Integrato 8255 o PPI (Peripheral Programmable Interface)... 341 22.3 Gestione della tastiera... 342 22.4 Integrato 8253 o Timer... 343 Funzionamento dell orologio... 345

Indice XIII 22.5 L altoparlante... 345 22.6 Gestione dello schermo... 346 22.7 Gestione di una stampante collegata alla porta parallela... 347 MODULO 8 - SISTEMI E AUTOMI...349 CAPITOLO 23 - TEORIA DEI SISTEMI...350 23.1 Studio dei sistemi... 351 23.2 Classificazione dei sistemi... 351 23.3 Modelli... 352 23.4 Proprietà di un sistema... 352 23.5 Sistemi dinamici... 353 Definizione formale di sistema dinamico... 353 Gli schemi a blocchi... 353 23.6 Studio dei sistemi dinamici... 354 Sistemi stocastici... 354 Sistemi deterministici continui... 354 Sistemi deterministici discreti... 354 CAPITOLO 24 - AUTOMI...357 24.1 Automi a stati finiti... 358 24.2 Tabelle di transizione e diagramma degli stati... 358 24.3 Esempi di automi... 359 INDICE ANALITICO...362 Riferimenti utili Comandi DOS per la gestione di file e directory... 24 Comandi Linux per la gestione di file e directory... 56 Comandi dell editor vi... 61 Comandi dell editor emacs... 64 Compilatore gcc... 66 Tabella dei numeri esadecimali... 75 Tabella dei numeri ottali... 76 Tabelle delle potenze di 2 e di 16... 78 Codice ASCII... 92 TASM... 232 MASM...233 as... 234 gdb... 235 Istruzioni Assembler di salto condizionato... 250 Differenze principali tra la sintassi Assembler Intel e AT&T... 260

INTRODUZIONE Nei testi che costituiscono la collana SISTEMI: elaborazione e trasmissione delle informazioni si è cercato di reinterpretare i programmi ministeriali in modo attuale, non soltanto dal punto di vista teorico ma anche con riferimenti concreti agli strumenti che si usano abitualmente. Il computer tratta tutti gli aspetti relativi all hardware e alla programmazione a basso livello, oltre all uso di base di Windows e Linux. Dal punto di vista pratico vengono descritti i componenti hardware usati attualmente e spiegate le varie sigle che si possono incontrare nelle descrizioni di computer; i dettagli del funzionamento dei processori si riferiscono in particolare ai processori Intel, dall 8086, fondamentale per capire i successori, a tutta la famiglia dell architettura IA-32 che include i vari Pentium, all architettura IA-64 con l Itanium. Inoltre viene trattata la rappresentazione delle informazioni, non solo numeriche e alfanumeriche, ma anche multimediali, con indicazioni per la creazione e gestione di immagini, suoni e filmati. Questo volume si rivolge alla classe terza, ma può essere eventualmente completato anche in quarta. Questa nuova edizione, riveduta e corretta, con vari aggiornamenti e una nuova scansione dei capitoli, si propone in particolare di trattare allo stesso livello l ambiente Windows e l ambiente Linux (come già avveniva nel volume Sistemi operativi ). Sono stati introdotti vari capitoli riguardanti l utilizzo del sistema operativo Linux mediante l interfaccia grafica e la programmazione in Assembler sotto Linux con la sintassi AT&T, con la spiegazione dei programmi di utilità da utilizzare. Il libro è suddiviso in moduli, a loro volta suddivisi in capitoli. Modulo 1 - I primi elementi e l uso del computer Modulo 2 - Rappresentazione dei dati Modulo 3 - Multimedialità Modulo 4 - Hardware Modulo 5 - Microprocessori Modulo 6 - La programmazione a basso livello Modulo 7 - Interruzioni e dispositivi periferici Modulo 8 - Sistemi e automi Per consentire un utilizzo più agevole del testo ogni capitolo comprende una sezione di teoria corredata di numerosi esempi e una sezione di verifica con domande, test, esercizi e proposte di lavoro. Gli argomenti che prima venivano trattati in sezioni separate di laboratorio sono stati integrati più strettamente nel testo. L autrice

MODULO 1 Modulo 3 I PRIMI ELEMENTI E L USO DEL COMPUTER 1 IL COMPUTER 2 WINDOWS 3 LINUX

1 IL COMPUTER PREREQUISITI nessuno OBIETTIVI CONOSCENZE Vengono introdotti i concetti di: hardware e software processore, memoria centrale, memoria di massa, periferiche, bus bit e byte sistema operativo interfaccia grafica linguaggi di programmazione (linguaggio macchina e linguaggi ad alto livello) programmi di utilità (interprete, compilatore, linker) file virus COMPETENZE E CAPACITÀ Distinguere le componenti hardware e software del computer Distinguere le modalità con cui si può interagire con il sistema operativo Distinguere gli elementi di una interfaccia grafica ed eseguire le operazioni fondamentali con il mouse Distinguere gli elementi principali delle finestre di applicazione e delle finestre di dialogo Distinguere le fasi necessarie per la realizzazione di un programma Comprendere la necessità di difendersi dai virus

Capitolo 1: Il computer 3 1.1 LE INFORMAZIONI Il computer è un mezzo per memorizzare, elaborare, comunicare e trasmettere informazioni. Tutte le informazioni, di qualsiasi natura (numeri, parole, immagini, suoni), vengono rappresentate all interno del computer mediante un codice composto di due soli simboli: le cifre 0 e 1 del sistema di numerazione binario. In questo modo i componenti elettronici devono assumere solo due stati distinti. Le informazioni vengono conservate in memorie composte da una serie di elementi chiamati bit, ognuno in grado di assumere due stati differenti, cioè di memorizzare una cifra binaria. I bit vengono raggruppati in byte, ognuno costituito da 8 bit; ogni byte di memoria è individuato da un indirizzo; la particolare configurazione di bit memorizzata nel byte ne rappresenta il contenuto. La memorizzazione di qualsiasi informazione occupa sempre un byte, o multipli di byte; non si possono usare direttamente singoli bit, o gruppi di bit più piccoli di un byte. La quantità di memoria, o capacità di memoria, viene misurata in byte, o meglio nei suoi multipli: il KB (kilo-byte o anche kappa-byte) pari a 1024 byte (poiché tutto nel computer è specificato utilizzando il sistema di numerazione binario, risulta conveniente anche nel campo delle memorie procedere per potenze di 2, pertanto 1 K vale 1.024, cioè 2 10, e non 1.000); il MB (mega-byte) pari a 1024 KB (più di un milione di byte); il GB (giga-byte) pari a 1024 MB (più di un miliardo di byte); il TB (tera-byte) pari a 1024 GB. 1.2 L HARDWARE Le informazioni vengono memorizzate in modo permanente nelle memorie di massa: dischi, floppy, CDROM. La memoria centrale invece è la memoria necessaria per l elaborazione delle informazioni; qualsiasi programma può essere eseguito soltanto se si trova nella memoria centrale del computer. La memoria centrale può essere di due tipi: RAM e ROM. La memoria RAM è la vera e propria memoria di lavoro, dove per esempio viene inserito un documento che si sta scrivendo o un programma di cui si chiede l esecuzione; ogni volta che si chiede l esecuzione di un programma che si trova sul disco, il programma può cominciare a funzionare soltanto dopo essere stato caricato nella memoria centrale; la RAM è in grado di mantenere le informazioni solo temporaneamente; quando si spegne il computer tutto il suo contenuto viene perso. La memoria ROM invece contiene in modo permanente dei programmi, che così risultano immediatamente disponibili all accensione del computer, ma non può essere modificata (è una memoria a sola lettura). Un altro tipo di memoria è la cache, una memoria piccola ma velocissima, che permette di aumentare la velocità di elaborazione. Il vero e proprio cervello del computer, il componente che si occupa dell elaborazione delle informazioni, cioè dell esecuzione dei programmi, è la CPU (Central Processing Unit), meglio nota come processore (o anche microprocessore). Il processore e la memoria sono installati sulla motherboard, nell unità centrale. Altre parti importanti del computer sono le periferiche, dispositivi che permettono all utente di comunicare con il computer inserendo input (tastiera, mouse, scanner ecc.) e ottenendo output (schermo, stampante, casse audio ecc.).

4 Modulo 1: I primi elementi e l uso del computer I vari componenti sono collegati da linee chiamate bus, attraverso cui avviene la comunicazione di segnali, indirizzi e dati. Tutti questi componenti costituiscono l hardware del computer. 1.3 IL SOFTWARE Per poter funzionare il computer ha bisogno di software, cioè di programmi che gli dicano esattamente che cosa fare. Il funzionamento del computer dipende sia dall hardware, che dal software che lo gestisce. Il software si può distinguere in software di base e in software applicativo. Il software di base comprende il sistema operativo, il programma fondamentale avviato all accensione del computer, che ne permette il funzionamento e che gestisce il colloquio con l utente, e i programmi di utilità, che offrono funzioni per lo sviluppo di altri programmi. Il software applicativo è l insieme dei programmi creati per la soluzione di problemi applicativi. 1.4 IL SISTEMA OPERATIVO Il sistema operativo è un programma che permette al computer di compiere le operazioni di base: comunicare con l utente, gestire i dischi, gestire la stampante e qualsiasi altro dispositivo collegato, controllare l esecuzione degli altri programmi installati e così via. Al momento dell accensione del computer, se il sistema operativo è installato, si avvia il bootstrap o boot. Durante il boot il sistema esegue alcuni controlli sulle parti hardware e carica nella memoria centrale il sistema operativo. Per prima cosa viene eseguito il programma di diagnostica che verifica il corretto funzionamento dei vari componenti; poi il sistema operativo (o meglio una parte di esso, il nucleo o kernel) viene caricato dal disco fisso alla memoria centrale; soltanto a questo punto il computer è in grado di eseguire i comandi dell utente. Il sistema operativo, una volta avviato, attende le richieste dell utente. Ci sono diversi tipi di sistemi operativi. La differenza più evidente è l aspetto del sistema operativo e il modo con cui si possono richiedere le azioni del sistema. La parte del sistema operativo che gestisce la comunicazione con l utente viene detta shell. La modalità più antica è quella a linea di comando; in questa modalità l utente comunica con il computer tramite una serie di comandi offerti dal linguaggio di controllo del sistema operativo; la disponibilità del sistema ad operare è segnalata all utente dalla visualizzazione di un carattere speciale, detto prompt (per esempio >,? o :); quando appare il prompt il sistema operativo è in attesa di un comando da parte dell utente; se viene digitato un comando il sistema operativo lo esegue e si pone nuovamente in attesa dopo aver visualizzato il prompt; si ha quindi un ciclo continuo di attesa ed esecuzione di comandi fino al momento in cui il computer viene spento. Con questa modalità bisogna conoscere la sintassi di ciascun comando, le sue funzioni e i possibili valori per i parametri; questo tipo di interfaccia risulta quindi molto tecnico e richiede una conoscenza approfondita, ma permette il pieno controllo del computer. La modalità attualmente più diffusa è quella grafica (chiamata GUI - Graphics User Interface) in cui il sistema operativo offre una serie di menu da cui è possibile scegliere i comandi desiderati;

Capitolo 1: Il computer 5 la scelta di un comando può essere effettuata posizionandosi sulla voce di menu (tramite tastiera o mouse) o usando combinazioni di tasti associati alla voce. Possono inoltre esserci icone che rappresentano programmi, cartelle o altre risorse. Il colloquio con il sistema avviene tramite finestre che mostrano i programmi in esecuzione o permettono di impostare valori; di solito ci sono funzioni di help in linea che permettono di avere facilmente e immediatamente informazioni su che cosa fare. La modalità grafica è più facile da usare (si dice anche user-friendly) se tutto funziona bene, ma in caso di problemi l interfaccia può nascondere il reale motivo e rendere più difficile la soluzione. I sistemi operativi non differiscono solo per l aspetto della shell ma anche per le modalità di lavoro che permettono. Ci sono sistemi operativi che permettono ad un solo utente di lavorare e di eseguire un solo programma per volta (sistemi monotasking o in monoprogrammazione). Un classico esempio è il DOS. Un altro tipo di sistema operativo, pur permettendo ad un solo utente di lavorare, permette di eseguire vari programmi contemporaneamente; comunque l utente può interagire con un solo programma per volta; gli altri programmi possono continuare la loro esecuzione in background (in modo nascosto). Un tipico esempio di questo tipo di sistema operativo è Windows (e la modalità è chiamata multitasking o multiprogrammazione). Ci sono infine sistemi operativi che permettono a molti utenti di lavorare contemporaneamente; ciascun utente deve essere collegato mediante un terminale (monitor e tastiera) e può eseguire vari programmi contemporaneamente. Un esempio di questo sistema operativo è Linux (e la modalità è chiamata multiuser o multiutente o anche time-sharing). L INTERFACCIA GRAFICA L interfaccia grafica (GUI - Graphics User Interface) è molto semplice da usare anche per utenti non esperti. Fondamentale per l uso dell interfaccia grafica è un sistema di puntamento, in genere costituito dal mouse. Il puntatore del mouse può assumere forme diverse in base al contesto; la forma generica del puntatore è una freccia bianca spessa. Le operazioni fondamentali con il mouse sono: spostare il mouse: muovere il mouse sul piano e quindi in corrispondenza il puntatore sullo schermo; fare clic: premere il pulsante sinistro del mouse; fare doppio clic: premere due volte in rapida successione il pulsante sinistro del mouse; fare clic destro: fare clic con il pulsante destro del mouse; trascinare il mouse: premere il pulsante del mouse, spostare il mouse tenendo premuto il pulsante e rilasciarlo solo al termine dello spostamento. Sullo schermo compare il desktop, la scrivania, o area di lavoro, su cui aprire i vari programmi e documenti e posizionare gli oggetti di uso più frequente. Elementi fondamentali dell interfaccia sono: icone: piccole immagini che rappresentano un oggetto (applicazione, file, stampante ecc.); menu: elenchi di voci che possono richiamare comandi o aprire ulteriori menu;

6 Modulo 1: I primi elementi e l uso del computer menu di scelta rapida: menu, a cui si accede facendo clic destro su un oggetto, che presentano i comandi corrispondenti alle operazioni di più frequente utilizzo per quell oggetto; barre degli strumenti: barre contenenti pulsanti che permettono di eseguire rapidamente alcune operazioni; finestre: riquadri che possono contenere un applicazione o un documento; finestre di dialogo: finestre che permettono all utente di inserire dati o scegliere opzioni. L interfaccia in genere può essere personalizzata in vari modi. LE FINESTRE Le finestre hanno tutte un aspetto uniforme e un funzionamento analogo. In alto c è la barra del titolo con il nome dell applicazione o del documento; a sinistra nelle finestre di applicazioni e documenti (e in alcune finestre di dialogo) compare l icona del menu di controllo, che contiene comandi diversi in base al tipo di finestra ma di solito permette di effettuare operazioni di servizio come spostare o ridimensionare la finestra o chiuderla; a destra ci sono tre piccoli pulsanti: il primo consente di ridurre a icona l applicazione, il secondo permette di ingrandire la finestra a tutto schermo (quando la finestra è a tutto schermo il pulsante cambia aspetto e consente di riportare la finestra alle dimensioni precedenti), il terzo permette di chiudere l applicazione. Sotto alla barra del titolo c è la barra dei menu con i menu specifici per l applicazione; facendo clic su una voce di menu si apre un sottomenu che contiene varie voci; le voci che presentano a destra un triangolino aprono un ulteriore sottomenu; le voci che terminano con tre puntini presentano una finestra di dialogo; possono essere presenti dei segni di separazione per raggruppare le voci; alcune voci possono essere abilitate in alcune situazioni e disabilitate in altre, e in tal caso appaiono meno marcate, quasi non leggibili; alcune voci, quando vengono selezionate, vengono attivate o disattivate, alternativamente; quando sono attivate presentano a fianco un segno di spunta. Si può scegliere una voce dal menu selezionandola con il mouse o con i tasti di direzione o usando i tasti di accesso; il tasto di accesso è il carattere che appare sottolineato in una voce di menu (in genere il primo, ma non sempre perché deve essere diverso per tutte le voci di un menu) e permette di aprire un menu premendo Alt mentre si digita il A Barra del titolo A B B Barra dei menu C C Barre degli strumenti D D E Barre di scorrimento Barra di stato Figura 1.1 La finestra di Microsoft Word E D

Capitolo 1: Il computer 7 carattere e di richiamare un comando del menu semplicemente digitando il carattere, quando il menu è aperto. Ad alcuni comandi può essere abbinato un tasto di scelta rapida; un tasto di scelta rapida è un tasto funzione o una combinazione di tasti che permette di richiamare il comando in modo diretto, senza aprire i menu. Sotto alla barra dei menu ci possono essere una o più barre degli strumenti che presentano sotto forma di pulsanti i comandi di uso più frequente, che risultano quindi sempre immediatamente disponibili, quando la barra degli strumenti è visualizzata; fermando il mouse per alcuni istanti su un pulsante di solito si vede comparire il nome del pulsante stesso. In basso compare la barra di stato che riporta alcune informazioni sullo stato corrente dell applicazione (per esempio in un elaboratore di testi possono essere presenti informazioni sulle dimensioni del documento e sul punto del documento su cui si sta lavorando). Possono essere presenti delle barre di scorrimento per visualizzare informazioni che non possono essere contenute nella finestra; le barre possono essere orizzontali o verticali; hanno una casella di scorrimento la cui posizione corrisponde alla posizione nel contenuto della finestra; per spostarsi all interno del documento si può trascinare la casella di scorrimento, fare clic sulle frecce alle estremità per piccoli spostamenti o fare clic sopra o sotto la casella di scorrimento per spostamenti più consistenti (tenendo premuto il mouse lo spostamento è continuo). Facendo clic destro in un punto della finestra di solito si apre un menu di scelta rapida con i comandi disponibili in quel contesto. All interno di una finestra di applicazione possono esserci delle finestre secondarie, che condividono il menu con la finestra dell applicazione; le finestre secondarie (o finestre del documento), se non sono ingrandite alla massima dimensione all interno della finestra di applicazione, hanno una loro barra del titolo con i tre pulsanti di riduzione a icona, ingrandimento e chiusura; se la finestra secondaria è ingrandita alla dimensione massima i pulsanti compaiono sulla barra dei menu dell applicazione, a destra. Alcuni programmi usano finestre divise orizzontalmente o verticalmente in riquadri; in tal caso spesso si può modificare la dimensione dei riquadri trascinando la linea di suddivisione. LE FINESTRE DI DIALOGO Alcuni comandi richiedono, prima dell esecuzione, l inserimento di informazioni aggiuntive tramite finestre di dialogo. In una finestra di dialogo in genere l utente inserisce delle informazioni e chiude la finestra selezionando un pulsante; in genere è presente un pulsante di annullamento che consente di chiudere la finestra trascurando le informazioni inserite. Le finestre di dialogo possono essere a scelta obbligatoria (il caso più frequente) o non a scelta obbligatoria; le finestre a scelta obbligatoria non permettono di eseguire altre operazioni finché la finestra non viene chiusa (per esempio facendo clic sul pulsante OK o Annulla); le finestre non a scelta obbligatoria invece permettono di continuare a lavorare, per esempio su altre finestre, mentre sono aperte. Le finestre di dialogo di solito possono essere spostate, ma non ridimensionate o ridotte a icona.

8 Modulo 1: I primi elementi e l uso del computer A Pulsante di comando E A B Casella di testo C C D Casella di selezione Pulsante di opzione D E B C E Casella di riepilogo A Figura 1.2 La finestra di dialogo Stampa di Word In una finestra di dialogo ci possono essere vari tipi di elementi (o controlli): pulsanti di comando per eseguire un azione, come i pulsanti OK e Annulla che chiudono la finestra o pulsanti che aprono ulteriori finestre; molte finestre dispongono di un pulsante predefinito che viene scelto quando si preme Invio, e di un pulsante di annullamento che viene scelto quando si preme Esc; caselle di testo che permettono di inserire dei valori, digitandoli da tastiera; caselle di selezione che possono essere attivate o disattivate; in genere vengono usate per quelle opzioni che permettono solo due possibili scelte (come sì o no); sono rappresentate da quadratini; le opzioni selezionate presentano un segno di spunta; pulsanti di opzione per scegliere una e una sola opzione tra quelle disponibili in un gruppo; sono rappresentati da cerchietti; l opzione selezionata presenta un punto più scuro all interno del cerchietto; caselle di riepilogo che permettono di scegliere una voce da un elenco limitato; l elenco può essere completamente visualizzato o più spesso apparire soltanto quando si fa clic sul pulsante a forma di triangolo con la punta verso il basso posto a destra della casella; se l elenco è lungo può essere presente una barra di scorrimento; caselle combinate che permettono di selezionare una voce da un elenco o di digitare del testo (sono un incrocio tra una casella di riepilogo e una casella di testo). Usando il tasto Tab è possibile spostarsi da un elemento all altro secondo un ordine prestabilito (ordine di tabulazione); è possibile spostarsi su un elemento qualsiasi facendo clic su di esso o usando un tasto di accesso, se disponibile (ma facendo clic su un pulsante di comando si esegue l azione associata). Alcune finestre di dialogo contengono diverse schede che raggruppano le opzioni da impostare; per selezionare una scheda basta fare clic sulla linguetta corrispondente (si possono scorrere le schede premendo Ctrl+Tab). Molte finestre di dialogo hanno un pulsante? che permette di ottenere informazioni sugli elementi della finestra; basta fare clic sul pulsante e poi sull oggetto desiderato per visualizzare una finestra popup con le informazioni relative.

Capitolo 1: Il computer 9 1.5 LA CREAZIONE DI PROGRAMMI APPLICATIVI Per realizzare un programma si possono usare diversi tipi di linguaggi di programmazione, ma l unico che il computer è in grado di comprendere è il linguaggio macchina. Il linguaggio macchina è un insieme di istruzioni in codice binario che corrispondono ad operazioni elementari eseguibili dalla macchina (non solo le informazioni ma anche le istruzioni sono espresse in codice binario). Il linguaggio macchina risulta molto difficile da usare per l utente; si possono utilizzare altri linguaggi di programmazione che facilitano il compito; l Assembler è un linguaggio di programmazione detto a basso livello perché ogni istruzione Assembler corrisponde ad una istruzione in linguaggio macchina (e quindi risolve solo alcune delle difficoltà della programmazione in linguaggio macchina); i linguaggi di programmazione ad alto livello sono più semplici da usare perché hanno istruzioni più vicine al linguaggio naturale (una istruzione corrisponde a più istruzioni in linguaggio macchina). Un programma di utilità chiamato editor permette di scrivere le istruzioni del programma e di creare così il programma sorgente; le istruzioni in linguaggio di programmazione (ad alto o basso livello), per poter essere comprese dal computer, devono essere tradotte in linguaggio macchina; questa operazione viene effettuata da appositi programmi traduttori (interpreti, compilatori, assemblatori). L interprete è un programma di utilità che traduce le istruzioni dal linguaggio di programmazione al linguaggio macchina al momento dell esecuzione dell istruzione stessa. Il compilatore invece traduce tutto il programma sorgente, creando un programma oggetto, prima dell esecuzione; sul programma oggetto (o più moduli oggetto) deve poi essere eseguito il linkaggio (richiamando il linker), per creare un programma completo ed eseguibile in modo indipendente dal compilatore. Il programma eseguibile può essere memorizzato in un file su memoria di massa e richiamato successivamente per l esecuzione; il caricamento in memoria viene fatto da un altro programma di utilità: il caricatore o loader. 1.6 I FILE Un file è un qualsiasi insieme di informazioni memorizzato su memoria di massa. In pratica ogni cosa memorizzata sul disco è un file; si possono avere file che contengono le istruzioni di un programma, il codice binario di un programma eseguibile, dati, testo, immagini, suoni e così via. I file possono essere raggruppati in cartelle (o directory) per organizzarli nel modo migliore; le directory possono contenere sottodirectory, ognuna delle quali può contenere altre directory, formando una struttura gerarchica o ad albero a più livelli. L organizzazione gerarchica risulta molto efficiente e agevola i meccanismi di ricerca di un file, poiché ogni directory contiene un numero limitato di file, permette di avere file con lo stesso nome in directory diverse, e consente comunque di accedere ai file in qualsiasi directory. Nota

10 Modulo 1: I primi elementi e l uso del computer I VIRUS I virus sono programmi più o meno pericolosi che hanno la proprietà di diffondersi creando delle copie di se stessi. I virus si diffondono da un computer all altro nascondendosi in file e documenti (virus parassitari); alcuni virus infettano il Master Boot Record, cioè il settore di boot del disco (virus di boot). Le vie di diffusione più comuni sono file scambiati per esempio con dischetti e CDROM o scaricati da Internet e la posta elettronica; alcuni virus si propagano a tutti gli indirizzi della rubrica di posta. Il virus di solito infetta il computer solo quando si esegue il programma che lo ospita; dopo l esecuzione del programma il virus resta nella memoria RAM e attacca i programmi che vengono eseguiti, duplicandosi, o esegue le azioni previste. Alcuni virus (worm) usano i servizi di rete per propagarsi da un sistema all altro e sono in grado di funzionare senza bisogno di un programma ospite; agiscono creando copie di se stessi sugli host ospiti e mettendosi in esecuzione. Molti virus non sono veramente dannosi; ci sono però virus molto pericolosi che possono procurare gravi danni. Un virus per esempio può causare un comportamento anomalo del computer, danneggiare file o formattare l hard disk causando la perdita di tutti i dati; se il computer è collegato in rete può recuperare informazioni dal computer (comprese le password) e inviarle in rete o fare in modo che qualcun altro possa prendere il controllo del computer. I virus possono addirittura riuscire a danneggiare l hardware richiamando le microistruzioni che controllano i componenti elettronici del computer. Per difendersi dai virus bisogna installare sul proprio computer un programma antivirus e mantenerlo aggiornato in modo che possa riconoscere anche i virus più nuovi. Si può fare in modo che la scansione antivirus avvenga automaticamente (per esempio all avvio del sistema verificando almeno il Master Boot Record e i file di sistema, o periodicamente scandendo la memoria centrale) o esaminare manualmente i file da utilizzare ogni volta che si effettuano attività pericolose come l inserimento di un dischetto nel drive, il download di un file o l apertura di un allegato di posta elettronica. L esecuzione di programmi antivirus rallenta le prestazioni del sistema; è bene effettuare scansioni periodiche di tutto il file system in momenti in cui il sistema non è utilizzato. Se il computer è già stato infettato ciò che si può fare dipende dalla pericolosità del virus e dal momento in cui viene individuato. Nei casi più semplici basta eseguire un programma antivirus. Se per eliminare il virus si devono cancellare dei file di sistema può essere necessario reinstallare il sistema operativo. A volte il computer può restare del tutto bloccato o l antivirus può non riuscire ad eliminare il virus; in questi casi bisogna formattare il disco, installare il sistema operativo e poi eseguire di nuovo l antivirus. Figura 1.3 Antivirus: indicazione dei file da esaminare Figura 1.4 Antivirus: indicazione dell azione da eseguire in caso di rilevamento di virus