Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Storia, componenti e principi fondamentali - Prof. Ceravolo, Dispense di Fondamenti di informatica

riassunto completo, fino a capitolo 5

Tipologia: Dispense

2019/2020

In vendita dal 19/04/2020

alicezanre
alicezanre 🇮🇹

4.4

(112)

34 documenti

1 / 21

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA UMANISTICA !
MARCO LAZZARI !
1) FONDAMENTI DI INFORMATICA E HARDWARE!
Informatica: trattamento automatico dell’informazione
Il termine informatica nasce negli anni 60 dal francese Dreyfus, battezza la disciplina tecnico scientifica che si occupa
di macchine in grado di elaborare automaticamente l’informazione. Questi calcolatori sono elaboratori automatici in
grado di garantire, rispetto all’elaborazione condotta dall’uomo: !
-minor tempo di elaborazione !
-Maggiore adabilità !
-Liberazione dell’uomo da incombenze noiose!
-Pie facile e diuso impiego di elaborazioni che richiedono competenze poco comuni nell’uomo senza macchina!
Primo interesse nei riguardi espresso in forma numerica ha portato al termine calcolatore, anche se elaboratore sarebbe
più appropriato. !
È frequente, invece che informatica, tecnologia dell’informazione: è nata la disciplina Information & Communication
Technology (ICT), vista il crescente potenziale dei calcolatori grazie alle interconnessioni in rete e la convergenza con le
telecomunicazioni (si occupano della trasmissione dell’informazione a distanza). Sotto la disciplina rientrano cellulari,
PC, MP3 etc.!
L’informazione è un dato messo in relazione con le proprietà a cui si riferisce. Informazione, dato (insieme di simboli) e
conoscenza (proprietà) sono su tre livelli di astrazione: un dato viene tracciato un supporto fisico, per avere un
vantaggio dev’essere messo in relazione con la proprietà in cui si riferisce e lo si trasformi in informazione (es. la
sequenza di simboli 39,5 scritto su un foglio di carta prende senso quando lo si relaziona ad una proprietà fisica, come
la temperatura misurata a Tizio).!
I linguaggio naturali (lingue parlate) presentano di natura ambiguità, che è possibile eliminare introducendo una fase in
un contesto. Per evitare l’ambiguità all’interno del calcolatore (ma anche matematica, logica) , vengono sviluppati
linguaggi formali, che prevedono: !
-individuazione di un alfabeto (elenco finito di simboli)!
-Definizione di una grammatica formale !
-generazione di una semantica formale (attribuzione di significato alle frasi)!
La stessa informazione può essere codificata con simboli e modalità diverse. !
Nei calcolatori ogni informazione è codificata con i simboli 0,1 = bit, o binary digit. L’adozione dei bit è determinata dalla
semplicità con cui i simboli possono essere rappresentati da dispositivi bistabili, ovvero in grado di assumere due
configurazioni alternative e di permanere nella configurazione loro assegnata (presenza/assenza di un foto in una
scheda/ di carica elettrica/ passaggio non passaggio di corrente etc).!
Se un bit puo assumere due configurazioni, 0 e 1, se si prendono più bit si ottiene: n bit= 2ⁿ!
(es. con 3 bit si ottengono 8 sequenze)!
Si definisce byte una sequenza di 8 bit. !
La capacità di una memoria di un calcolatore, costituita
ad una collezione di dispositivi bistabili, è misurata in bit,
byte o loro multipli. I prefissi per i multipli sono gli stessi
del Sistema Internazionale, ma in informatica i multipli
vengono declinate sulle potenze di 2, visto che 2¹⁰ =
1024, molto vicino a 10³ (1kilo). !
!
Con elaborazione/trattamento dell’informazione si intende:!
-creazione;!
-modifica/eliminazione!
-Confronto!
-conservazione !
-Trasmissione (a distanza nello spazio) a soggetti specifici o non predeterminati (diusione)!
Qualsiasi attività di trattamento dell’informazione può essere ricondotta ad uno schema: !
-informazione codificata sotto forma di dati su un supporto fisico!
-Supporto genera nuovi dati !
-I dati generati vengono rimodificati e apportano una nuova informazione!
L’informazione in ingresso è denominata input, quella prodotta i uscita dall’elaborazione output. !
Un algoritmo è la descrizione di istruzioni per eseguire un trattamento di informazione ad un altro esecutore. !
Gli algoritmi vengono espressi con linguaggi formali. L’uomo ha concepito diversi strumenti formali per l’elaborazione
dell’informazione con la certezza che se i dati di partenza rappresentano correttamente informazioni sul mondo reale,
anche i dati da essa generati rappresentano correttamente, dopo codifiche, informazioni sul mondo reale. (algebra e
logica sono strumenti formali). I linguaggi di programmazione sono linguaggi formali per descrivere gli algoritmi:
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Anteprima parziale del testo

Scarica Introduzione all'informatica: Storia, componenti e principi fondamentali - Prof. Ceravolo e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

INFORMATICA UMANISTICA

MARCO LAZZARI

1) FONDAMENTI DI INFORMATICA E HARDWARE

Informatica: trattamento automatico dell’informazione Il termine informatica nasce negli anni 60 dal francese Dreyfus, battezza la disciplina tecnico scientifica che si occupa di macchine in grado di elaborare automaticamente l’informazione. Questi calcolatori sono elaboratori automatici in grado di garantire, rispetto all’elaborazione condotta dall’uomo:

  • (^) minor tempo di elaborazione
  • (^) Maggiore affidabilità
  • (^) Liberazione dell’uomo da incombenze noiose
  • (^) Pie facile e diffuso impiego di elaborazioni che richiedono competenze poco comuni nell’uomo senza macchina Primo interesse nei riguardi espresso in forma numerica ha portato al termine calcolatore, anche se elaboratore sarebbe più appropriato. È frequente, invece che informatica, tecnologia dell’informazione : è nata la disciplina Information & Communication Technology (ICT), vista il crescente potenziale dei calcolatori grazie alle interconnessioni in rete e la convergenza con le telecomunicazioni (si occupano della trasmissione dell’informazione a distanza). Sotto la disciplina rientrano cellulari, PC, MP3 etc. L’informazione è un dato messo in relazione con le proprietà a cui si riferisce. Informazione, dato (insieme di simboli) e conoscenza (proprietà) sono su tre livelli di astrazione: un dato viene tracciato un supporto fisico, per avere un vantaggio dev’essere messo in relazione con la proprietà in cui si riferisce e lo si trasformi in informazione (es. la sequenza di simboli 39,5 scritto su un foglio di carta prende senso quando lo si relaziona ad una proprietà fisica, come la temperatura misurata a Tizio). I linguaggio naturali (lingue parlate) presentano di natura ambiguità, che è possibile eliminare introducendo una fase in un contesto. Per evitare l’ambiguità all’interno del calcolatore (ma anche matematica, logica) , vengono sviluppati linguaggi formali , che prevedono:
  • (^) individuazione di un alfabeto (elenco finito di simboli)
  • (^) Definizione di una grammatica formale
  • (^) generazione di una semantica formale (attribuzione di significato alle frasi) La stessa informazione può essere codificata con simboli e modalità diverse. Nei calcolatori ogni informazione è codificata con i simboli 0,1 = bit, o binary digit. L’adozione dei bit è determinata dalla semplicità con cui i simboli possono essere rappresentati da dispositivi bistabili, ovvero in grado di assumere due configurazioni alternative e di permanere nella configurazione loro assegnata (presenza/assenza di un foto in una scheda/ di carica elettrica/ passaggio non passaggio di corrente etc). Se un bit puo assumere due configurazioni, 0 e 1, se si prendono più bit si ottiene: n bit= 2ⁿ (es. con 3 bit si ottengono 8 sequenze) Si definisce byte una sequenza di 8 bit. La capacità di una memoria di un calcolatore, costituita ad una collezione di dispositivi bistabili, è misurata in bit, byte o loro multipli. I prefissi per i multipli sono gli stessi del Sistema Internazionale, ma in informatica i multipli vengono declinate sulle potenze di 2, visto che 2¹⁰ = 1024, molto vicino a 10³ (1kilo). Con elaborazione/trattamento dell’informazione si intende:
  • (^) creazione;
  • (^) modifica/eliminazione
  • (^) Confronto
  • (^) conservazione
  • (^) Trasmissione (a distanza nello spazio) a soggetti specifici o non predeterminati (diffusione) Qualsiasi attività di trattamento dell’informazione può essere ricondotta ad uno schema:
  • (^) informazione codificata sotto forma di dati su un supporto fisico
  • (^) Supporto genera nuovi dati
  • (^) I dati generati vengono rimodificati e apportano una nuova informazione L’informazione in ingresso è denominata input, quella prodotta i uscita dall’elaborazione output. Un algoritmo è la descrizione di istruzioni per eseguire un trattamento di informazione ad un altro esecutore. Gli algoritmi vengono espressi con linguaggi formali. L’uomo ha concepito diversi strumenti formali per l’elaborazione dell’informazione con la certezza che se i dati di partenza rappresentano correttamente informazioni sul mondo reale, anche i dati da essa generati rappresentano correttamente, dopo codifiche, informazioni sul mondo reale. (algebra e logica sono strumenti formali). I linguaggi di programmazione sono linguaggi formali per descrivere gli algoritmi:

hanno una sintassi semplice, semantica limitata e assenza di ambiguità (Java, C, C++, Pascal etc). La formulazione di un linguaggio di programmazione è definita programma, programmatore è colui che scrive programmi. Classificazione dei sistemi per il trattamento dell’informazione:

  • (^) sistemi manuali ; codifica dei dati affidata all’esecuzione dell’uomo (calcolo con carta e penna)
  • (^) Sistemi semi automatici rigidi ; operano singole trasformazioni sui dati ma richiedono continue indicazioni da parte dell’uomo (calcolatrice non programmabile)
  • (^) Sistemi automatici flessibili ; memoria interna dove sono rappresentati dati, istruzioni e una codifica esplicito delle trasformazioni da operare sui dati (calcolatori) Evoluzione storica dei sistemi per l’elaborazione dell’informazione:
  • (^) primo strumento costituito dalle dieci dita
  • (^) Uso dell’abaco in Cina dal 2000 aC. Sistema di calcolo manuale basato su una rappresentazione numerica posizionale. Abaco è un telaio con le guide parallele, che corrispondono alle unità, alle decine, alle centinaia
  • (^) Nel 17simo secolo Oughtred realizza il regolo calcolatore, strumento di calcolo analogico che consente il calcolo di moltiplicazioni, divisioni, potenze, logaritmi, trigonometria.
  • (^) Pochi anni dopo, Pascal realizza la Pascalina, calcolatrice meccanica che consentiva l’esecuzione di addizioni e sottrazioni avvalendosi di ruote dentate, corrispondenti a unità, decine, centinaia - (^) Nel XIX sec Babbage introduce il concetto di calcolatore programmabile con l’Analytical engine , macchina in grado di operare in input e output su schede perforate con una memoria che potesse contenere 1000 numeri con 50 cifre decimali ciascuno, un’unità aritmetica in grado eseguire le 4 operazioni aritmetiche, confronti e radici. Programmata con strutture di controllo, iterazione e selezione. Ada King pochi anni dopo, scrisse un programma per l’Analytical per calcolare numeri di Bernoulli, diventando primo programmatore di calcolatori della storia. - (^) Tra 1936-41 In Germania Zuse realizza prototipi di calcolatore basati sui relè elettromagnetici (relé= interruttore elettronico la cui apertura e chiusura viene controllata con un circuito elettrico) - (^) A Londra tra 1943-44 Flowers realizza colossus, primo calcolatore completamente elettronico, basato su valvole termoioniche, acquisiva input da un nastro perforato, esegue operazioni logiche sui dati. - (^) Tra 1943-45 all’università della Pannsylvania nasce ENIAC : primo calcolatore elettronico universale, la sua programmazione impiegava 6 persone che dovevano operare sui singoli interruttori e cavetti. - (^) EDVAC usava aritmetica binaria e un unico dispositivo di memoria. L’architettura si rifà a Von Neumann. - (^) Anni ’50: transistors formati da semiconduttori che sostituiscono le valvole termoioniche. Erano meno costosii, più veloci, dimensioni più contenute e più affidabili. - (^) Anni ’60: impiego di circuiti integrati /microchip, hanno portato all’introduzione del microprocessore. Questo ha determinato la diffusione del minicomputer e l’avvento del PC. Gordon Moore nel 1865 elaborò la legge di Moore: Sin dall’invenzione del circuito integrato nel 1958, il numero di transistor che possono essere integrati in un Nico circuito raddoppia ogni 2 anni. Con la stessa velocità si evolvono la velocità di elaborazione e la capacità di memorizzazione. Von Neumann fece parte di ENIAC e poi EDVAC. Stese con i capiprogetto EDVAC una bozza per un nuovo calcolatore, fatta girare solo con il suo nome e gli venne attribuito il merito. L’architettura di Von Neumann è riferimento per la quasi totalità dei calcolatori digitali progettati fino ad oggi. caratteristiche: - (^) general purpose è il calcolatore universale - (^) Presenza di un dispositivo di memorizzazione in cui è possibile rappresentare con la stessa codifica dati e istruzioni - (^) Aritmetica binaria, non decimale - (^) Separazione tra dispositivo di memorizzazione e dispositivo di elaborazione Il calcolatore risulta quindi composto da: - (^) processore (CPU), che legge dalla memoria le istruzioni e esegue trasformazioni su dati o in memoria - (^) Memoria , insieme di celle, ciascuna delle quali contiene un dato/istruzione, è identificata da un indirizzo numerico - (^) Interfaccia, scomposta in interfaccia di input e interfaccia di output. Gestisce l’interazione con l’ambiente esterno collegandosi a periferiche, dispositivi di input e/o output (I/O) - (^) Bus , canale di comunicazione, gestisce lo scambio di informazioni tra i sottosistemi. Quando si progetta una CPU è necessario identificare tutte le operazioni elementari che è in grado di compiere e assegnare a ciascuna un’istruzione (codificata in binario) a cui esecuzione consisterà nella sua risoluzione della corrispondente operazione elementare. L’insieme di tutte le istruzioni in binario è detto linguaggio macchina. Due calcolatori sono compatibili quando utilizzano CPU con lo stesso linguaggio macchina. Difetto dell’architettura di Von Neumann ( von Neumann bottleneck) è che una CPU moderna elabora con velocità maggiore un dato rispetto alla velocità con cui il bus è in grado di trasferirli. Software: componente morbida, programmi che descrivono all’hardware gli algoritmi (istruzioni) da seguire. Spesso attribuito un significato più ampio: comprendere istruzioni e dati rappresentati su un dispositivo di memorizzazione. Hardware: componente ’dura’, tutti i componenti meccaniche, elettroniche. 1.2 la struttura del calcolatore Unità centrale : scatola metallica ( chassis/case ) dotata di: ventole per forzare le circolazione dell’aria e garantire la dissipazione termica; alimentatore , per connettersi alla linea elettrica e erogare corrente ai componenti del PC

Il clock è costituito da un oscillatore al quarzo, generando un impulso elettrico regolare, scandisce le operazioni all’interno dei circuiti elettronici (anche CPU) e li sincronica. La frequenza di Clock è misurata in hertz e nei multipli e determina la velocità massima con cui la CPU è in grado di operare. Nei server odierni si utilizzano processori multi core, chip che integrano 2+ CPU ciascuno in grado di operare in parallelo ad una frequenza intorno ad alcuni GHz. La memoria centrale La RAM è il dispositivo di memorizzazione con cui la CPU interagisce per leggere e scrivere istruzioni e dati. È composta da unità elementari di memoria o celle, ciascuna costituita da dispositivi ristabilii organizzati in gruppi di 8 (=1byte). Contiene un dato o un’istruzione. È identificata da un indirizzo numerico. Si caratterizza per la sua volatilità : richiede un flusso continuo di alimentazione, lo spegnimento del calcolatore determina la cancellazione del suo contenuto. Un qualsiasi tipo di memoria costituito da celle può supportare:

- (^) accesso sequenziale : prima di leggere una cella è necessario leggere quelle che la precedono (nastri magnetici) - (^) Accesso diretto : accesso immediato sapendo l’indirizzo di una cella (memoria centrale) - (^) Accesso misto (diretto + sequenziale): si accede direttamente ad un blocco di celle, all’interno la singola cella viene individuata con un accesso sequenziale (dischi magnetici) - (^) Accesso associativo : accesso guidato dal suo contenuto ricercato in parallelo su più celle (memorie cache) La denominazione RAM dovuto al fatto che la memoria centrale supporta l’accesso diretto. La capacità di una RAM su un pc odierno è tra i 4-32 GB. Ogni calcolatore dispone di una ROM, memoria di sola lettura, solitamente si tratta di EPROM, non volatile, contenuto modificabile dal calcolatore mediante aggiornamenti. La rom contiene le istruzioni di inizializzazione del calcolatore eseguite all’avvio ( bootstrap ) e funzioni di supporti alla diagnosi in caso di malfunzionamento. Memorie di massa Le memorie di massa o memorie secondarie hanno come funzione principale quella di garantire la persistenza di dati. Maggiore capacità in byte, minor costo per byte di memorizzazione, con però accessi più lunghi. Alcuni supporti sono rimovibili (o drive integrati nel calcolatore o connessi esternamente come l’USB) o fisse (saldamente installate nel chassis). Nel caso in cui si guasti la memoria di massa si va incontro alla perdita del contenuto informativo al suo interno. Questo ha un valore maggiore di quello del supporto stesso. Il backup è una delle tecniche impiegate per il disaster recovery. In base alla tecnologia si riconoscono diverse memorie di massa:

  1. dispositivi magnetici, I materiali ferromagnetici, quando esposti ad un campo magnetico esterno, assumono lo stato di magnetizzazione e permangono in tale stato anche dopo la scomparsa del campo stesso. I dispositivi magnetici sono memorie di massa cui supporto di memorizzazione ha una superficie ricoperta di materiale ferromagnetico. Una testina, in prossimità della superficie, è in grado di magnetizzare piccole aree e di rappresentare dati che rimangono memorizzati e venir letti successivamente dalla stessa testina. Il supporto di memorizzazione disco rigido è costituito da dischi ( piatti ), in vetro o alluminio, ricoperti da un materiale ferromagnetico, sovrapposti e connessi da un unico perno di rotazione. Le testine, una per superficie, operano mentre i piatti ruotano velocemente. Tutto è rinchiuso in un contenitore metallico sigillato e collocato all’interno dello chassis del calcolatore. Sulle superfici dei piatti sono presenti tracce, sottili strisce circolari concentriche su cui le testine scrivono i dati. Le superfici sono divisi in settori. Si definisce blocco l’intersezione tra una traccia e un settore, ciascuno in grado di memorizzare una quantità fissa di dati (512byte), minima. Si definisce cilindro l’insieme delle tracce di pari diametro sulle superfici di tutti i piatti. Per la manutenzione: - (^) formattazione: preparazione del supporto al primo utilizzo, cancellazione di dati preeesistenti, individuazione di blocchi danneggiati, e predisposizione della struttura ad archiviare dati - (^) Deframmentazione : condotta periodicamente, ottimizza prestazioni riorganizzando l’utilizzo dei blocchi sul file System. - (^) Ridondanza : tecniche RAID (redundant array of inexpensive disks): duplicazione dei dati su più supporti allo scopo di garantisce la sopravvivenza e continuità nell’accesso anche in caso di guasti ai singoli dischi Nei nastri magnetici viene supportato solo l’accesso sequenziale, per questo impiegati quasi solo come dispositivi di backup. Lungo nastro plastico, superficie ricoperta di materiale ferromagnetico, avvolto su bobina o raccolto in una cassetta. Costi relativamente ridotti, offrono elevate capacità (1TB) e tempi ridotti. 2) dispositivi ottici Dischi ottici sono supporti rimovibili, inseriti in un drive vengono letti con una luce laser. Costruito su strati: superficie del substrato è presenta una spirale sulla quale sono disposte delle microscopiche fosse (pit) per codificare i dati. Quando il supporto è inserito nel drive, la traccia viene illuminata da una luce laser che, dopo essere stata riflessa, viene distorta dai fit permettendo, cosi, ad una testina di lettura di ricostruire i dati codificati. Alcuni dischi ottici si configurano come ROM (il calcolatore può leggere il continuo informativo ma non può modificarlo); altri non hanno contenuto informativo che può quindi essere scritto tramite un masterizzatore e risultando leggibile da parte del lettore del calcolatore. Nei supporti scrivibili (WORM, recordable) il masterizzatore può scrivere a sua volta, in quelli riscrivibili (RW) invece il contenuto informativo può essere scritto e modificato diverse volte. I dischi ottici non hanno

involucri protettivi, quindi se danneggiati possono creare gravi problemi di lettura del contenuto. I supporti ottici più diffusi sono CD, DVD, e Blue Ray. I CD ROM sono di sola lettura; i CD R sono scrivibili, i CD RW sono riscrivibili. Allo stesso modo, i DVD ROM solo lettura, DVD - R e DVD+R sono scrivibili, i DVD RAM sono riscrivibili. Il Blue Ray consente la distribuzione di materiale audiovisivo ad alta risoluzione, letto con raggio blu violetto, lunghezza d’onda inferiore.

  1. memorie flash Una memoria flash, tecnicamente EEPROM, è un supporto cui contenuto informativo può essere programmato (scritto), cancellato e riprogrammato mediante processi elettrici. Si configura come non volatile. Costo molto ridotto, offrono capacità intermedia rispetto alla RAM, tempi di accesso come la RAM (più veloci in lettura), dimensioni contenute. Sono assenti componenti meccaniche, ridotto consumo di energia elettrica, rumorosità nulla, buona resistenza in tutte le condizioni. Memory card , piccole schede rimovibili, supporti di memoria PDA, tablet, smartphone etc. I formati standard sono PC card, CompactFlash, SD, miniSD, microSD. Una drive USB integra una memoria flash ad un’interfaccia usb. Adatto allo scambio dati tra calcolatori e al backup in ambiente domestico. Drive a stato solido in sostituzione ai dischi rigici, grazie ad un aspetto esteriore simile e un’interfaccia I/O compatibile, prezzo elevato ma velocità di I/O superiori. Limite delle memorie flash è il massimo numero di cicli di cancellazione scrittura cui possono essere sottoposte prima di comprometterne l’affidabilità. Per ridurre gli effetti negativi dell’attesa che un dato venga iscritto in memoria, si è adottato il principio di località: se un programma fa rifermento ad una cella di memoria, è probabile che nell’immediato futuro farà riferimento alla stessa cella ( località temporale ), o a celle vicine ad essa ( località spaziale ). Un calcolatore dispone di una articolata gerarchie di memorie in cui i livelli più vicini alla CPU si caratterizzano per un maggior velocità e minore capacità secondo lo schema:

- (^) registri della CPU : massima velocità, capacità di alcune centinaia di byte - (^) Cache livello 1 : nella CPU, quale decina di Kbyte - (^) Cache livello 2 : nella CPU, 512 Kbyte o più - (^) Cache livello 3 : nella CPU o scheda madre, 2megabyte o più - (^) Memoria centrale - (^) Dischi interni - (^) Dischi esterni ( Cache : dispositivo di memorizzazione caratterizzato da una capacità limitata ma maggiore velocità) Le periferiche La connessione del calcolatore con un dispotico periferico o di memoria di massa si realizza con un’interfaccia collegata da una parte al bus e dall’altra al dispositivo. Sul pc: integrata nella scheda madre; installata in uno slot su di essa come scheda di espansione Laptop: schede di espansione PC card, inserite nel calcolatore. Numerose interfacce si collegano al calcolatore esternamente. Comunicazione tra interfaccia/dispositivo puo essere: - (^) seriale : unico canale, un singolo bit alla volta - (^) Parallela : più canali, gruppi di bit (1 byte) alla volta Sui pc sono comuni: - (^) connettore parallel ATA, unità centrale, per collegamento di dischi rigidi, drive, masterizzatori - (^) Serial ATA, SCSI, Serial Attached SCSI, unità centrale, dischi rigidi, drive - (^) Connettore PS/2 interfaccia seriale specifica per la tastiera o mouse - (^) Connettore VGA, spesso accompagnato a DVI per l’interfaccia grafica video - (^) Connettore minijack, collegamento scheda audio a microfono, speaker - (^) Connettore seriale RS-232, interfaccia seriale con mouse, modem, terminali - (^) Porta parallela: per il collegamento di un’interfaccia parallela a una stampante - (^) Connettore RJ11, modem/fax a linea telefonica - (^) Connettore RJ45 interfaccia di rete a rete locale - (^) Connettore USB z - (^) Connettore FireWire seriale wireless di mouse stampanti tastiera - (^) Interfaccia bluetooth utilizza onde radio Tastiera Insieme di tasti identificati da simbolo. Dispositivo di input più comune. I tasti modificatori non producono direttamente input ma se premuti in combinazione ne modificano l’effetto. I tasti funzione vengon impiegati per consentire l’invio rapido di commenti ai SW applicativi; tasti freccia funzioni specifiche nell’ambito di editing di testo. Nei calcolatori è esterna, collegata via cavo o wireless, nei notebook integrato nel chassis.

digitale in segnale analogico e lo invia ad amplificatori o cuffie. Quasi ogni applicazione SW impiega la scheda sonora per sottolineare suoni o jingle. Una sintesi vocale fa riferimento ad applicazioni che consentono al calcolatore di convertire un testo in parlato. Il riconoscimento vocale consiste nella conversione del parlato in testo. Combinazione di periferiche I sistemi di realtà virtuale spaziano tra dispositivi mobili per arricchire con informazioni complementari ciò che l’test vede nel mondo reale a vere infrastrutture che permettono immersione reale in una realtà virtuale. La lavagna interattiva multimediale è gestita da un calcolatore con una specifica applicazione software che ingloba tecnologie multimediali.

  1. IL SOFTWARE Con l’impiego di software differenti il calcolatore dimostra la sua estrema flessibilità. Algoritmi Un algoritmo è una sequenza di istruzioni la cui esecuzione consente di realizzare un particolare trattamento dell’informazione o di risolvere uno specifico problema. Un algoritmo:
  • (^) Presuppone la presenza di qualcosa/qualcuno in grado di eseguirlo ( esecutore). Questi legge l’algoritmo partendo dai dati in input esegue le istruzioni in esso riportate seguendo un ordine ben preciso e giungendo ad ottenere dati di output.
  • (^) prevede istruzioni elementati che richiedono all’esecutore la conduzioni di operazioni elementari.
  • (^) puo richiedere l’esecuzione di altri algoritmi precedentemente specificati dall’esecutore.
  • (^) deve essere formulato in un linguaggio non ambiguo.
  • (^) Deve specificare senza ambiguità l’ordine di esecuzione a cui l’esecutore deve attenersi scrupolosamente
  • (^) Deve essere formulato in un numero finito di istruzioni
  • (^) La sua esecuzione deve terminare fornendo dati di output in un tempo finito
  • (^) Deve essere deterministico : eseguendo lo stesso algoritmo devo avere sempre gli stessi dati output
  • (^) Un algoritmo parametrico è in grado di risolvere una classe di problemi facendo riferimento ai dati in input (calcolo di minimo comune multiplo tra due numeri naturali qualsiasi) Programmi, linguaggi di programmazione, traduttori Un linguaggio di programmazione : linguaggio formale per descrivere algoritmi Programma: algoritmo espresso in un linguaggio di programmazione programmatore: persona che insegna algoritmi ai calcolatori scrivendo programmi I programmatori hanno inventato il linguaggio assemblatore, linguaggio di programmazione che a ogni istruzione binaria del linguaggio macchina associa una codifica mnemonica in lingua inglese. Un programma (assemblatore) poi traduce il file input in un output in linguaggio macchina. Da qui la creazione di linguaggi di programmazione di alto livello vicini alla sintassi e semantica di linguaggi naturali e matematica e logica. Un programma scritto in linguaggio di programmazione di alo livello dev’essere prima tradotto nel linguaggio macchina corrispondente, attività condotta da un traduttore specifico, può essere:
  • (^) compilatore : riceve in input l’intero programma in linguaggio di alto livello (programma sorgente) e produce in output la sua traduzione (programma oggetto) più vantaggioso nel caso di distribuzione del programma perchè il programma oggetto può essere eseguito su calciatori compatibili, senza uso dell’interprete; il programma oggetto garantisce prestazioni computazionali superiori rispetto ad un traduttore; programma oggetto garantisce migliore salvaguardia dei diritti d’autore del programmatore.
  • (^) Interprete : riceve in input il programma sorgente e ne traduce le singole istruzioni facendole eseguire direttamente. (piu vantaggioso perchè più veloce ma richiede tempo aggiuntivo ogni volta che si trova il progetto) La macchina astratta è la combinazione di un calcolatore e del relativo traduttore. La machina fisica è solo il calcolatore. La macchina di Turing La macchina MdT è costituita da :
  • (^) un alfabeto , insieme finito di simboli con anche blank e altri speciali.
  • (^) Nastro (si assume di lunghezza infinita) suddiviso in celle ognuna con un simbolo dell’alfabeto
  • (^) Una testina sempre su una cella del nastro (cella corrente) in grado di leggere il simbolo contenuto in essa, scrivervi un simbolo, spostarsi nella cella adiacente a dx o sx
  • (^) Insieme finito di stati , con uno stato iniziale e uno o più stati finali
  • (^) Un registro di stato che memorizza lo stato corrente scelto nell’insieme degli stati
  • (^) Una tabella delle azioni o funzione di transizione (tabella con 5 colonne e un numero finito di righe in cui, per ciascuna, sono indicati stato corrente, simbolo presente nella cella corrente del nastro, simbolo da scrivere nella cella corrente, il verso in cui la testina deve spostarsi, il nuovo stato da memorizzare nel registro di stato). La macchina rappresenta un sistema automatico per l’elaborazione dell’informazione nel quale il nastro è il supporto fisico su cui è inizialmente codificata l’informazione di input; la testina è incaricata di muoversi lungo il nastro operando la trasformazione fisica che porterà l’informazione di output. Il registro di stati costituisce una memoria interna. Quando attivata, inizia a iterare un ciclo che prevede:
  • (^) lettura del simbolo nella cella corrente;
  • (^) Individuazione della riga in cui i primi due elementi sono rispettivamente lo stato corrente e il simbolo contenuto nella cella corrente, riporterà simbolo, verso e stato.
  • (^) Scrittura del simbolo nella cella corrente
  • (^) Spostamento della testina nella cella adiacente nel verso scelto
  • (^) Impostazione dello stato.
  • (^) Si conclude quando lo stato corrente= stato finale. Turing definì la Macchina di Turing Universale, in grado di simulare il funzionamento di qualsiasi altra macchina di Turing. La UTM ha originato la caratteristica dell’architettura di Von Neumann dell’impiego di un dispositivo di memoria unico per contenere dati e istruzioni. La tesi di Church-Turing afferma che se una funzione è intuitivamente considerata calcolabile, allora esiste una macchina di Turing in grado di calcolarla. L’ingegneria del software L’ingegneria del software è una branca dell’ingegneria che si occupa di sviluppare approcci sistematici allo sviluppo, alla messa in opera e manutenzione del software a livello industriale. Le metodologie proposte assumono un ciclo di vita del software che prevede:
  • (^) analisi ; partendo da un’indagine su dove il software deve scollarsi, hanno come scopo la produzione di un documento di specifica, contenente la definizione del problema che il software deve risolvere, le caratteriale e i costi previsti. - (^) Progettazione ; tratteggia la struttura del software generando un documento con l’architettura di alto livello, definisce le caratteristiche dei singoli moduli che la compongono. - (^) Implementazione (/codifica) : realizzazione di uno o più programmi (anche in diversi linguaggi di programmazione) cui integrazione costituirà il software - (^) Collaudo ; serie di test per verificare se soddisfa i requisiti indicati nell’analisi - (^) Rilascio (/deployment) ; installazione presso gli utenti - (^) Manutenzione ; attività successive di modifica per l’eliminazione di malfunzionamenti, estensione delle funzionalità e adattamento a nuove esigenze Vengono impiegati strumenti CASE (Computer-aided software engineering), software in grado di supportare o automizzare alcune fasi Opera dell’ingegno Il valore del software è molto maggiore di quello del supporto che lo contiene. È soggetto a diritto d’autore. Un azienda commissiona ad una software house (azienda specializzata) un custom software acquistandone anche la titolarità del diritto d’autore. Altrimenti il produttore del software può immetterlo nel mercato mantenendone la titolarità del diritto d’autore e concedendo una licenza d’uso , che ne vieta la copia, modifica e ridistribuzione su altri calcoaltori. Alcuni prodotti vengono distribuiti via internet con una licenza shareware : periodo di prova di un mese e poi registrazione presso produttore e versamento di denaro. La licenza freeware prevede la distribuzione gratuita, il proprietario può decidere se fornire la versione sorgente. Può essere copiato e distribuito Il software libero e il software open source sono entrambi distribuiti con la versione sorgente, il titolare ne incoraggia uso studio, modifiche e distribuzione nel rispetto di alcune regole (menzionare gli autori delle versioni precedenti; niente licenze incompatibili; anche formato sorgente). I software vengono divisi in software applicativo e software di base. Software applicativo Programmi (app) risolvono o supportano l’utente nella risoluzione di problemi. I software di produttività individuale (office automation) vengono distribuiti in pacchetti (OpenOffice; MicrosoftOffice) Diversi applicativi del genere:
  • (^) videoscrittura (wordprocessor): stesura di documenti di testo, correzione, formattazione e stampa (Word, Pages) - (^) Fogli di calcolo, effettuazione di calcoli, elaborazione di dati, predisposizioni di rappresentazioni tramite tabelle composte da celle (Excel) - (^) presentazione multimediale - (^) desktop publishing, produzioni di volantini e brochure, tipo videoscrittura, orientati verso grafica - (^) Applicativi per la gestione di basi di dati (DBMS) raccolta e organizzazione di dati in tabelle e creazioni di maschere (finestre)per la loro gestione, query per ricerca, prospetti di stampa (Microsoft Access) - (^) Editor web - (^) Applicazioni grafiche e fotoritocco - (^) Realizzazioni di diagrammi - (^) Gestione di finanze individuali , bilancio personale - (^) Organizer : agenda cartacea - (^) Project management : pianificazione temporale di un progetto e monitoraggio del suo stato di avanzamento Con la diffusione di internet a banda larga sono divenute popolari diversi servizi online: browser web, posta elettronica, messaggistica instantanea. Altre applicazioni:

fisici della RAM. Se I processi richiedono l’occupazione di un numero di pagine maggiore, il gestore, provvede allo swapping in un’apposita area (di swap) su memoria di massa (disco rigido). Gestione delle periferiche Dagli anni 60 i SO hanno iniziato a inglobare un gesto per consentire ad ogni processo di lavorare su periferiche virutali. Il processo opera in condizioni di Device independence , impiega i comandi di alto livello appropriati al tipo di periferica mentre il gestore trasforma tali comandi generici in istruzioni specifiche per la periferica fisica e si occupa di sincronizzazione e indirizzamenti. L’impiego di una periferica su un calcolatore è subordinato alla disponibilità del driver, software che fornisce al SO i dettagli operativi per gestire una periferica. Ogni SO è distribuito con i driver per le periferiche più comuni altri sono forniti del produttore della periferica. Molti SO sul PC supportano il Plug and Play: al rilevamento di una periferica il calcolatore è in grado di riconoscere il drive appropriato, installarlo e configurarlo. Gestione dei file Il file system si occupa della gestione delle memorie di massa dove sono organizzati i file, contenitori di dati o istruzioni. Si costruisce, all’interno di un supporto di memoria di massa, una struttura logica gerarchica: viene creata una cartella, nominata radice, che contiene file e cartelle che possono contenere a loro volta file o cartelle. Si forma una struttura ad albero. Sono identificati con nome e pathname , percorso più breve per raggiungerli partendo dalla radice (indica tutti i nomi delle cartelle incontrate lungo il percorso). Molti file system supportano la possibilità di sovrapporre alla struttura ad albero dei riferimenti (collegamenti) che consueto di simulare la presenza di un’altra cartella o file ubicati in realtà altro nella gerarchia. Il file system memorizza e gestisce formato; dimensioni; data e ora di creazione e dell’ultima modifica; autorizzazioni. Consente lettura, modifica, eliminazione, ridenominazione, spostamento, backup. Gestione della rete I moderni SO sono definiti sistemi operativi di rete perchè progettati assumendo come obbligatoria la connessione del calcolatore in rete. Il gestore della rete si occupa di garantire la Device independence e la corretta gestione delle autorizzazioni all’accesso. Differenti modalità di interazione utente-calcolatori in una rete:

- (^) interazione uomo-calcolatore locale : senza impiego di internet (app videoscrittura) - (^) Interazione uomo-calcolatore remoto : tramite un’app (client) in esecuzione locale, l’utente interagisce con un’altra app (server) su un calcolatore remoto connesso a rete, che può avvalersi di altri servizi di altri server (navigazione web) - (^) Interazione tra uomini mediata da calcolatori : tramite un client in esecuzione sul calcolatore locale, l’uomo interagisce, servendosi di un server, con un altro utente che usa un client in esecuzione (chat) Interfaccia con utente Consente di comunicare con il SO, ordinandogli specifiche attività. All’inizio di una sessione di lavoro, il SO richiede un autenticazione dell’utente al fine di garantirgli le sole autorizzazioni a lui riservate, personalizzare l’ambiente applicativo, fatturare il consumo delle risorse secondo tariffe concordate. L0autenticazione informatica puo essere: - (^) dimostrazione di conoscenza : credenziali dell’account, nome utente e password - (^) Dimostrazione di possesso : smart card; usb - (^) Dimostrazione di caratteristiche fisiche : fingerprint scanner Diverse figure a cui il SO garantisce diverse autorizzazioni: - (^) amministratore di sistema (sistemista): garantisce il funzionamento complessivo del calcolatore - (^) Operatore di sistema : sostituisce l’amministratore in alcune operazioni dietro sua delega - (^) Programmatore - (^) Utente applicativo Nei SO più vecchi l’intenzione avveniva mediante interfaccia a linee di comandi (CLI): il SO visualizzava sul video il segnale “pronto”, l’utente digitava una stringe di testo che equivaleva ad un comando. Prime applicazioni interattive, offrivano un’interfaccia interattiva modale : app proponeva una serie di domande, l’utente rispondeva poi iniziava la fase di elaborazione, seguita dalla visualizzazione del risultato. L’evoluzione portò all’ interfaccia interattiva non modale : l’app attende gli ordini dall’utente che li inserisce in valori di input e seleziona il pulsante che attiva l’elaborazione. Il risultato viene presentato in output e si ripete. Dagli anni 80 i SO hanno iniziato a migrare verso interfacce grafiche più semplici, nell’approccio ‘ottieni ciò che vedi’ (visualizzazione immediata del risultato). Ad oggi la tendenza è orientata verso interfacce multimediali (input di testo, grafica, suoni; output in testi, immagini, filmati, suoni). 2.9 la virtualizzazione L’aggettivo virtuale parla di un sistema che simula caratteristiche diverse da quelle reali. Negli anni 70 è stata coniata l’espressione realtà virtuale, per delineare applicazioni su calcolatori che sono in grado di simulare la collocazione all’interno di un mondo diverso da quello della realtà. Le piazze virtuali sono servizi che mediante la connessione rete, consento a persone fisicamente lontane di intrattenere relazioni sociali.

Il commercio virtuale è un vero commercio che si sviluppa in un negozio virtuale. La virtualizzazione dell’hardware: su un calcolatore (host machine) viene installato un hypervisor, software di base che supporta la creazione di una o più Guest machine ciascuna con il proprio SO, opera come se avesse controllo delle risorse hardware, in realtà gestite dall’hypervisor. Questo consente la creazione di uno snapshot, stato completo di una macchina virtuale a un determinato istante e backup. Software maligni I malware sono una classe di programmi progettati per infiltrarsi e apportare danni senza consenso del proprietario. Un computer virus è un instate di istruzioni nascosto all’interno di un programma di uso comune che risulta quindi infetto. Quando il programma viene aperto, questo infetta altri programmi nella memoria di massa. Un worm è un intero programma che mediante la rete invia copie di se stesso ad altri calcolatori e genera problemi sulla rete (messaggi inutili). Un trojan horse è un programma che si presenta come un’itile applicazione di solito gratuita che durante l’esecuzione apre una breccia all’interno delle difese del calcolatore che può essere oggetto di hacker. Uno spyware è un programma installato senza autorizzazione per raccogliere informazioni su utente e abitudini, rallentando l’esecuzione di programmi e connessione in rete e provocando la visualizzazione di pagine web non richieste. Un adware è un programma che propone all’utente pubblicità. Se è installato senza consenso è detto adware disonesto. Un crimeware è un software progettato per il furto d’identità. Un hoax è una bufala, un messaggio mail che annuncia l’imminente arrivo di altri messaggi infettati da virus. La gente promuove la diffusione del virus. Sistemi automatici di difesa sono: firewall, crea una barriera elettronica contro gli attacchi trojan; antivirus, previene individua e rimuove i programmi malware.

  1. RAPPRESENTAZIONE DEI DATI La codifica dell’informazione Memoria di massa e memorie centrale sono costituiti da dispositivi bistabili, in grado di rappresentare sequenze di simboli in Codice binario. Per ogni tipo di informazione è necessario individuare una codifica che si avvalga di tale alfabeto. Ci sono diverse rappresentazione dei numeri:

- (^) rappresentazione decimale posizionale; numeri arabi - (^) Rappresentazione romana; sistema di numerazione additivo, si definisce con simboli letterari - (^) Rappresentazione posizionale in base non decimale; scegliendo una base b > 1 è possibile rappresentare i numeri naturali con una notazione posizionale in base b. - (^) Rappresentazione esadecimale: in base 16: da 0-9 numeri A-F per i restanti simboli Per la rappresentazione dei dati all’interno di un calcolatore di usa la codifica binaria , ricorrendo alla notazione binaria posizionale. Le cifre 1 e 0 sono moltiplicate per le diverse potenze di 2. Con n bit si possono esprimere 0-2ⁿ-1. Con un byte si possono esprimere 2⁸ (=256) numeri naturali Con un nibble (4 bit) si possono esprimere 2⁴ (=16) numeri naturali. Si può esprimere in cifre esadecimale. Per la conversione di un naturale da binario a decimale si procede sommando i prodotti ottenuti dalla moltiplicazione di ciascuna cifra binaria per la corrispondente potenza di due. Al contrario, la conversione in binario di un naturale in decimale si ottiene con ripetute divisioni di due. Ogni cifra ha un resto 1 o 0, un bit. La teoria dell’informazione (1948) si occupa dello studio delle basi teoriche dell’informazione e della comunicazione. I dati portano informazione, si può misurare la quantità di informazione, definita come differenza tra i log delle probabilità attribuite al verificarsi di un evento prima e dopo la lettura del supporto. Il log è in base 2, quindi l’unità di misura della quantità di informazione è definita in BIT. Due approcci di codifica: - (^) codifica analogica: individuazione di una grandezza analoga. Ad ogni incremento/decremento della prima corrisponde un corrispondente incremento/decremento della seconda. Porta implicitamente metainformazioni di tipo ordinale e metrico - (^) Codifica digitale : richiede introduzione di un alfabeto di simboli e di regole di codifica. Più “compatto” Grandezza discreta : il numero di caramelle, l’insieme dei suoi valori è riconducibile a numeri naturali Grandezza continua: la temperatura, insieme dei suoi valori è riconducibile numeri reali. Nel termometro analogico la rappresentazione della temperatura è continua: ogni variazione è visibile. Conversione in binario di 149: 149:2 = 74, resto 1 74:2= 37 resto 0 37:2= 18 resto 1 18:2= 9 resto 0 9:2=4 resto 1 4:2=2 resto 0 2:2= 1 resto 0 1:2= 0 resto 0

- (^) TIFF famiglia di formati, supportano compressioni lossy e Lossless, comuni nelle macchine fotografiche, stampa fotografia professionale e file scanner per OCR. - (^) PNG : truecolor, compressione Lossless - (^) I file in formato vettoriale : immagini come composizioni di primitive geometriche (linee, punti etc) codificate interini di equazioni matematiche. Applicazioni CAD, moderazione tridimensionale, generazione di animazioni. (CGM, SVG, WMF, DXF). La rasterizzazione delle immagini vettoriali consente di sfruttare al meglio risoluzioni anche molto elevate del dispositivo, mantenendo il file in dimensioni ridotte. Font per visualizzazione a video e stampa di caratteri tipografici: - (^) font bitmap / raster: I caratteri in pixel, soggetti a rapido deterioramento della qualità in caso di ingrandimento/ riduzione - (^) Font outline (/vettoriali): postscript type 1 /3 truetype OpenType, rappresentazioni vettoriali. Suoni Stereofonia: due canali, due segnali audio, rilevati dalle due orecchie dell’uomo, riproducono la distribuzione spaziale delle sorgenti sonore. Frequenza campionamento: 44 100 Hz. Quantizzazione: 65 536 livelli (codifica 2 byte) Formati: WAV, AIFF non compressi più comuni; MP3,piu comune, compressione lossy, lo rende efficiente in termini di spazio di memoria e tempo impiegato per la trasmissione internet; AAC, compressione lossy, qualità migliore dell’MP3. Filmati Serie di fotogrammi mostrati in rapida successione con frequenza costante, misurata in FPS Formati: Quicktime; MPEG-2 (DVD e Blue ray, compressione lossy in video e suono); FLV (progettato da macromedia, ora supportato da adobe mediante Adobe Flash Player. Compressione lossy, diffuso grazie a YT); AVI (microsoft, in realtà è contenitore di file a loro volta codificati in vari formati, necessitano di un codec , applicazione software in grado di codificare un filmato). Compressione compressione: riformulazione del contenuto informativo di un file con una codifica diversa che consenta di ridurne le dimensioni con l’obiettivo di contenere lo spazio di memorizzazione o il tempo per la sua trasmissione. Il rapporto di compressione è definito R𝑐= S𝑐/Sᵤ dove Sᵤ è la dimensione non compressa e S𝑐 quella compressa. La riduzione nell’occupazione di spazio è definita R𝒔= (Sᵤ - S𝑐)/Sᵤ. Un algoritmo di compressione lossless è codificato in un applicazione zip, in grado di prendere in input uno o più file e di generare in output in dimensioni ridotte. Il R𝑐 è variabile in funzione del contenuto informativo e il processo è reversibile. Gli algoritmi di compressione lossy si applicano a file specifici e cercano di ottenere elevati rapporti di compressione a discapito di una piccola informazione che può essere persa in modo irreversibile. (in immagini lievi cambiamenti non percepibili all’occhio; in file audio tagliate frequenze molto acute/molto gravi; in un filmato si individuano macroblocchi di pixel di cui si memorizzano le differenze nella transizione di fotogrammi). Le basi di dati Il sistema informativo è l’insieme delle risosi che un’organizzazione (es azienda) impiega per raccogliere e rendere fruibili informazioni necessarie alla propria attività. Oggi tendono ad essere identificati con i sistemi informatici (calcolatori, dispositivi, infrastrutture di comunicazione, persone). Si tende alla costituzione di Data Base : grosse collezioni di dati in grado di garantire la rappresentazione efficace di un unico contenitore logico, conservazione e fruizione efficiente; evitare la frammentazione, ridondanza e inconsistenza di due informazioni incompatibili; evitare accessi non autorizzati. La gestione dei DB è affidata ad un sistema di gestione di base di dati (DBMS) , software cui le altre app si rivolgono per l’accesso. Viene eseguito su un server (Microsoft SQL Server) o vengono installati su PC (come MS Access o Apache OpenOffise Base). Due linguaggi impiegati dagli utenti: DDL (per definire le strutture destinate a contenere i dati); DML (impiegati per modificare il contenuto e compiere query, queste prevedono ricerca di dati che soddisfano condizioni). L’accesso ai dati avviene: con linguaggi testuali interattivi (piu diffuso è SQL); comandi specifici (formulati da SQL o linguaggi immersi in linguaggi di programmazione generali); comandi formulati da SQL (linguaggi di sviluppo per generare grafici); GUI (formulazione di query in forma non testuale). La struttura del DB puo essere graficamente rappresentata in uno schema concettuale , il più come è il modello entità relazione che impiega i seguenti costrutti principali: entità (oggetti del mondo reale con proprietà comuni); relazioni (legami tra entità); attributi (proprietà di entità/relazioni). Puo essere descritto con uno schema logico , più diffuso è il modello relazionale che descrive la base di dati come insieme di relazioni (una tabella) tra loro collegate in cui i dati sono organizzati in record (righe) che raccolgono i valori di un oggetto e li organizzano in campi (colonne). Sicurezza informatica I principali aspetti coinvolti in questa branca dell’informatica racchiudono: - (^) riservatezza (confidenzialità/segretezza/privacy): protezione dei dati da letture - (^) Integrità : protezione da modiche. Comprende autenticità (garanzia della certezza dell’identità di sorgente, destinatario e contenuto) e non ripudiabilità (garanzia che la sorgente non possa negare la trasmissione e il ricevitore la ricezione)

- (^) Disponibilità : protezione da interventi non autorizzati che compromettano la possibilità agli utenti autorizzati di accedervi. La normativa italiana di riferimento per la sicurezza informatica è costituita dal Decreto Legislativo 30/06/2003 n 196 Codice in materia di protezione di dati personali / legge sulla privacy. Questa definisce: - (^) dato personale come qualunque informazione relativa a persona fisica, ente etc identificabile anche indirettamente - (^) Dato sensibile dato personale idoneo a rivelare origine razziale ed etnica, condizione religiose, filosofiche, opinioni politiche, stato di salute e vita sessuale - (^) Dato giudiziario: che rivela provvedimenti giudiziari, anagrafe, sanzioni Salvo specifiche eccezion, per raccogliere i dati personali è necessario raccogliere il consenso dell’interessato. La legge individua misure minime di sicurezza nel caso di trattamento informatico: autenticazione informatica con credenziali personali; lunghezza minima e durata temporale massima di una password; protezione di strumenti elettronici da accessi non consentiti determinati da programmi informatici; stesura di un aggiornato documento programmatico della sicurezza. Crittografia La crittografia è una tecnica utilizzata per garantire la riservatezza dei dati durante la loro trasmissione. Nei tradizionali algoritmi crittografici a chiave segreta (/ crittografia simmetrica ): - (^) il mittente utilizza un algoritmo di cifratura che basandosi su una particolare sequenza di simboli ( chiave segreta) , trasforma il messaggio in cifrato - (^) Il destinatario sottopone il messaggio ad un algoritmo di decifratura - (^) Senza chiave non si possono decifrare i messaggi. La crittografia asimmetrica (da anni ’70) prevede, invece di una singola chiave, l’impiego di una coppia di chiavi: la prima chiave privata appartiene al proprietario, la seconda è chiave pubblica. Il destinatario del messaggio deve avere la stessa chiave privata. Si ovvia il problema di intercettazione della unica chiave nella crittografia simmetrica.

  1. DALLE RETI A INTERNET Una rete di calcolatori è un’insieme di due o più calcolatori e dispositivi connessi tra loro allo scopo di comunicare e condividere dati e risorse. I singoli elementi connessi alla rete sono detti nodi. Le reti di calcolatori possono essere: - (^) rete personale (PAN, personal Area Network) PC connesso a dispositivi periferici con l’obiettivo di connettersi a Internet (thetering, sfrutta un modem per internet) - (^) Rete locale (LAN, local) calcolatori connessi in un edificio - (^) Rete metropolitana (MAN) limitato a scala urbana - (^) Rete geografica (WNA, wide) - (^) Rete globale (GAN) Una rete privata virtuale (VPN) simulazione attraverso rete pubblica della connessione diretta tra due calcolatori o LAN. Diffuse sono le WLAN (wireless LAN, reti locali) e WPAN (reti personali wireless). internetworking : connessione di due nodi appartenenti a reti diverse che danno origini ad un’unica rete. Ha portato a internet: rete di calcolatori globale. Internet non è la sola rete, esiste perchè ne esistono alte preesistenti (la connessione tra due PC è una rete), che generano la rete delle reti (internet). segnale : grandezza fisica il cui valore cambia nel tempo, nella comunicazione hanno un andamento nel tempo controllato (modulato) secondo la nostra volontà e con un limitato sforzo. Canale di trasmissione : sistema fisico in grado di trasferire un segnale, alle cui estremità si trovano rispettivamente un trasmettitore e un ricevitore. Una sorgente vuole inviare un messaggio al destinatario: trasmettitore e ricevitore, conoscendo l’alfabeto condiviso di sorgente e destinatario, concordano una codifica, mediante variazione del valore del segnale nel tempo. Ciascun canale è soggetto agli effetti del rumore. Il rumore è qualunque segnale indesiderato che interferisca con quello trasmesso. Per evitarne gli effetti, trasmettitore e ricevitore concordano tecniche di codifica con ridondanza. Mezzi di comunicazione I mezzi di collegamento fisico impiegati nella connessione di calcolatori devono esser in grado di trasmettere segnali binari. Si possono usare: - (^) mezzi guidati : segnale viaggia lungo linee fisiche (cavi) - (^) Mezzi non guidati (wireless): il segnale in onde elettromagnetiche viene irradiato nello spazio (trasmissione via etere) Le reti che ricorrono a mezzi guidati sono dette reti cablate, realizzate con impianti di cablaggio (con cavi). Ogni mezzo è caratterizzato da proprietà fisiche che determinano: - (^) distanza massima ; oltre la quale il segnale si degrada - (^) Velocità massima di trasmissione, si misura in bit al secondo ( bps) o suoi multipli

I protocolli di rete sono nome e convenzioni che stabiliscono i formati e le modalità di colloquio fra programmi, regolano l’invio e la ricezione di informazioni tramite rete. I programmi devono rispettare i protocolli. Vengono gestiti da organismi sovranazionali come l’ISO o il W3C i quali emanano normative progettate con l’intenzione di normale un settore o prendono atto dell’esistenza di standard imposti autonomamente (come IP). Le architetture di rete prevedono l’esistenza di strati di protocolli, ciascuno destinato a regolare le comunicazioni ad un certo livello ( layer) : lo standard ISO prevede sette livelli (applicazione, presentazione, sessione, trasporto, rete, collegamento e livello fisico) mentre la suite dei protocolli internet ( suite di protocolli TCP/IP ) prevede quattro livelli (applicazione, trasporto, internetworking, collegamento). Si ha un’interazione gerarchica fra livelli, gli strati più alti sono i più vicini all’utente, usano un più alto livello di astrazione, quelli più bassi sono i più vicini alla macchina, usano dati manipolabili fisicamente. intranet : rete locale usata da un’organizzazione per la comunicazione interna e l’accesso all’informazione con accesso ristretto agli utenti dell’organizzazione e protocolli tipici di internet. Extranet : parte di intranet accessibile ad esterni autorizzati (clienti e fornitori). mail, chat e www sono servizi di rete , programmi che colloquiano nell’infrastruttura di nodi e protocolli. Nodo attivo: mainframe destinato all’elaborazione dati connesso a terminali Nodo passivo: terminale. Un nodo attivo è definito server , in contrapposizione al nodo attivo detto client. Con i termini client e server ci si riferisce ora al software ora all’hardware: nel web, il client può essere il calcolatore che richiede una pagina, sia il browser, mentre il server può essere il calcolatore che ospita la pagina sia al programma usato. Funzionalità delle reti Le funzioni principali delle reti sono: permettere la comunicazione fra più nodi; permettere la condivisione di risorse. Consente l’interoperabilità, cooperazioni di nodi con SO diversi. Internet come inviluppo di reti Internet nasce negli anni 60 come risultato di una ricerca promossa dal Ministero della Difesa USA allo scopo di progettare e implementare una rete di calcolatori che fosse decentrata e non vulnerabile da parte di eventuale attacchi atomici. Internet ebbe inizialmente diffusione limitata agli USA dove si propagò in ambienti militari e accademici poi successivamente in ambito commerciale e domestico. Negli anni 70 arriva in Europa, nel 1986 in Italia. All’inizio degli anni ’90 arriva il servizio più rivoluzionario, killer Application di internet: il World Wide Web. Internet è una rete di reti. È un complesso insieme di reti mantenute in collegamento l’una con le altre, tramite opportune infrastrutture di connessioni. Internet cresce man mano che si aggiungono nuove reti. Internet ha diverse sottoreti, ciascuna ha un calcolatore (gateway) che funge da porta di accesso tra calcolatori della stessa rete e quelli di internet. Il collegamento fra reti diverse è garantito dalle sottoreti, che permettono di instradare il traffico dei pacchetti fra sottorete diverse. Esistono spezzoni di rete dedicate a far funzionare internet (dorsali oceaniche). Per garantire il risultato delle comunicazioni è necessario individuare univocamente i nodi, principale strumento è l’indirizzo: i protocolli stabiliscono che ogni nodo (host) sula rete ha un proprio indirizzo, che vale per la durata della sessione online. L’indirizzo su internet è basato su indirizzi IP: 32 cifre binarie, solitamente scritti in rappresentazione decimale, da 0-255, separati da un punto. La ICANN è un’autorità internazionale che presiede l’attribuzione degli indirizzi IP. L’indirizzamento a 32 bit rende disponibili poco più di 4miliardi di indirizzi, ci sono problemi di assegnazione. Due strategie: al gateway è assegnato un IP unico, mentre nella sottorete si usano indirizzi non necessariamente diversi dal resto del mondo, l’indirizzo del gateway ‘maschera l’indizio del nodo da cui parte la comunicazione; indirizzi da 128 bit Una convenzione regola la corrispondenza fra indirizzi IP e indirizzi simbolici, più semplici per utenti umani. La gestione della corrispondenza è a carico del DNS (Domain Name System): una rete di archivi gestiti da server DNS che contengono tabelle di corrispondenza fra indirizzi simbolici e numerici. Le stringhe alfanumeriche degli indirizzi simbolici prevedono l’uso per punto per concatenarsi: da destra verso sinistra, le stringhe specificano il dominio di primo livello, (.it), il dominio di secondo livello (unimi) e poi il nome attribuito al nodo. L’assegnazione di domini e la loro sintassi sono gestite dall’ICANN. Il primo livello si dividono in nazionali (.it )e sovranazionali (.com). Il dominio di secondo livello è associato all’ente, persona legata all’indirizzo. Il terzo livello è legato ad un host. Servizi internet Anche il Web stesso è da considerarsi un servizio su internet. La posta elettronica è uno dei primi servizi ospitati dalla rete, risale agli anni 70. Sistema asincrono di scambio di messaggi che mima la posta ordinaria, con il vantaggio di inviare il messaggio in pochi secondi. Il funzionamento è reso possibile da una rete di mail server, calcolatori che fungono da uffici postali per l’instradamento, smistamento, conservazione messaggi. Dalla parte dell’utente è attivo un mail client che gli consente redazione e invio di messaggi. Il client puo essere: un programma di posta (outlook); un programma integrato nelle funzionalità di un browser; una funzione di un sito web (Yahoo; gmail). La comunicazione client server è governata da protocolli SMPT (per l’invio da parte dell’utente e la comunicazione fra server), POP e IMAP (ricezione e consultazione). La PEC è un servizio che garantisce la ricezione e l’integrità del messaggio. È equiparato secondo la legge italiana, ad una raccomandata.

Un sistema di comunicazione asincrono basato sulla posta elettronica è quello delle mailing list. Sistemi di comunicazione organizzati in modo che più persone, senza conoscere l’una l’indirizzo dell’altra, possano scambiarsi messaggi con un argomento comune. Due modalità di funzionamento delle liste:

- (^) liste moderate; ogni messaggio viene esaminato da un amministratore - (^) Liste non moderate: tutti i messaggi immediatamente smistati. Un messaggio di posta può portare con se un allegato di cui viene effettuata una copia dal colatore del mittente a quello del destinatario. Lo strumento principe per la copia da un nodo della rete ad un altro è messo disposizione dal protocollo FTP, e dalla sua implementazione tramite programmi detti server FTP e client FTP. Garantisce lo scambio di file anche tra calcolatori con SO diversi. Il protocollo FTP attiva due connessioni fra server e client: su una viaggiano i comandi sull’altra i dati. Il server rimane in attesa di chieste dai client. Ogni server mette a disposizione uno spazio di memorizzazione cui è possibile accedere con credenziali. Un server FTP puo essere adibito a distribuzione di pacchetti software, che saranno accessibili in sola lettura. È previsto un accesso anonimo di qualsiasi cliente senza credenziali, accede con l’username anon ad una cartella pub (public). I server FTP vengono usati per pubblicare materiale sul web. Le tecniche peer to peer (p2p, rete paritarie) sono nate recentemente, prevedono il costituirsi di architetture paritarie in cui ogni nodo svolge indifferentemente attività di cliente o server. Sono state sfruttate per le attività di file sharing, scambio di documenti spesso coperti da diritto d’autore. Il più popolare è eMule (scmbio di documento tramite eDonkey). I gruppi di discussione o conferenze in rete son un sistema di scambio di informazioni fra comunità di utenti su un certo tema. Sono fondati sulla metafora della bacheca: ogni utente spedisce un messaggio; il suo server è connesso ad una rete di server (USENET) con i quali scambia i messaggi di tutti i propri utenti. Ogni server arriva ad avere tutti i messaggi, aspettando il tempo di propagazione della rete. I messaggi vengono organizzati secondo filoni di discussione: viene evidenziato la dipendenza fra i messaggi in termini di botta e risposta. Possono essere fruiti tramite programmi dedicati (Fortè Agent) o tramite servizi di un browser o interfacce web. Vengono prevaricati dai forum sul web, bacheche elettroniche dove gli utenti affiggono i messaggi. È legato ad un sito web. Più difficile da trovare. I sistemi di comunicazione sincrona permettono ddi mettere in contatto utenti in tempo reale. La chat è un canale di comunicazione diretta (instant messaging). Può avvenire tra persone sconosciute. Skype è un ostrumento per la comunicazione sincrona che sfruttando un protocollo VOIP (voice over internet protocol) permette la comunicazione telefonica e videochiamate gratuite. L’attuale disponibilità di banda su internet ha stimolato la nascita di servizi esternalizzati (outsourcing) di salvataggio via internet (online backup). Questi servizi prevedono l’installazione di un client sul calcolatore dell’utente che periodicamente potrà collegarsi ad un server remoto per trasferire al server tutti i materiali desiderati dall’utente. In caso di bisogno di ripristino, l’utente potrà recuperare i propri dati. Tra i più popolari: Mozy, Dropbox, google drive. I salvataggi si distinguono in: - (^) backup : file e cartelle vengono copiati fedelmente in remoto. Alla modifica, il file salvato verrà modificato. - (^) Archiviazione : strategie di versioning mantengono in vita incrementalmente più versioni successive degli stessi dati. - (^) Condivisione : l’utente puo mettere in condivisione comune con altri i propri materiali. File system remoto nel quale caricare ed elaborare i propri documenti, accessibili da qualunque calcolatore connesso al web. Cloud computing : servizi di archiviazione ed elaborazione dati salvati su un server remoto, del quale si ignora la collocazione fisica.

  1. IL WORLD WIDE WEB Gli ipertesti hypertext : coniato negli anni 70, documenti implementati con sistemi informatici. Negli anni 80 prime realizzazioni non prototipali. Con la nascita del World wide web negli anni 90 il modello si afferma. Con il termine iper testo si intende un documento informatizzato costituito da diverse porzioni di testo, collegate fra loro da nessi logici implementati tramite collegamenti. Il documento assume una struttura reticolare : l’utente può attuare una navigazione o scansione non lineare. L’ipertesto è la struttura d molti software e del Web. È un testo digitale , non svincolato dal supporto fisico. È composto da più parti, chiamati nodi o blocchi di testo; le parti sono in relazioni tramite collegamenti/ link ; la struttura ne determina la navigazione ed è legata ad un autore/ gruppo di autori. È però una struttura aperta che può essere percepita come rete unica. Le strutture più comuni di iperteso (data dal collegamento fra nodi) sono quella lineare, circolare, a stella, gerarchica e grafo completo (tutti i nodi collegati tra loro). I collegamenti non sono per forza bidirezionali: è definita la stella uscente da un nodo (insieme di link che partono dal nodo), mentre difficilmente lo è la stella entrante , (insieme di link che puntano al nodo). I nodi sono come le unità minimali di informazione, autonomi e completi. I link implementano le connessioni fra parti del documento tematicamente affini o logicamente correlate. I link hanno sede in porzioni del testo evocative, dette hotwords.
  • (^) Siti personali : singoli individui che comunicano con altri utenti via web. I blog rientrano nella categoria, ma la trasformano in strumento di discussione. Un sito web puo essere inteso come luogo di negoziazione di significati tra emittente e fruitori di tipo direzionale (presentazione di contenuti) e circolare (partecipazione). Le funzioni di un sito sono:
  • (^) funzione informativa : mettere a disposizione dati (siti giornalistici es.). centro di comunicazione è il contesto.
  • (^) Funzione conativa (persuasiva): convincere il fruitore, ne condiziona le scelte. Siti aziendali votati all’e-commerce. Centro di comunicazione è il destinatario
  • (^) Funzione emotiva : strumento per mettere in luce il punto di vista di chi comunica (blog). centro di comunicazione è l’emittente. Una pagina web è detta statica quando esiste una descrizione completa redatta dal suo autore (homepage personale biografica, corrispondenza tra testo superficiale e unità di testo profondo memorizzate in remoto). È detta dinamica quando viene generata da un programma a partire da descrizioni parziali disponibili sul server e archivi (ad ogni ricerca si modificherà, file temporaneo, sprovvisto di copia remota). Anche le pagine statiche possono essere dotate di elementi dinamici (accessi giornalieri al sito). Un sito statico : è costituito da un numero definibile di pagine. Siti artigianali, di privati, ridotte dimensioni. L’indirizzo web si conclude con html. un sito dinamico: è costituito da un numero non precisate di pagine. Siti di grandi dimensioni, grandi aziende. Necessitano di dinamicità che va a scapito della flessibilità di gestire i contenuti in maniera creativa. Offrono però la possibilità di una costruzione corale del sito (anche chi non è esperto). L’indirizzo web è più complicato. Il successo dei blog è legato al fatto che anche un utente con scarse competenze informatiche riesce a creare e mantenere il proprio blog grande a funzioni offerte da una buona piattaforma di gestione di blog (come Wordpress). L’organizzazione delle pagine è basata su uno spazio per i contenuti e sulla cornice ipertestuale, costituita a sua volta da:
  • (^) strutture di navigazione: collegamenti organizzati nel menù che orientano l’utente nella struttura del sito.
  • (^) Strutture di identificazione e contatto : oggetti testuali e grafici (intestazione banner logo, calophon, indirizzo) che permettono di identificare emittente e di contattarlo. Protocolli linguaggi e indirizzi Il web si basa su tre standard principali, gestiti da W3C:
  • (^) HTTP: protocollo di rete su cui si fonda lo scambio di informazioni sul web. Prevede scambi basati su comunicazioni client/server
  • (^) HTML: markup language con il quale si compongono le pagine web. È un formalismo che permette di arricchire i testi delle pagine web.
  • (^) URL: schema di identificazione dei contenuti del web Con protocollo http si intende l’insieme di regole che vanno rispettate nella comunicazione tra server e cliente per uno scambio di comunicazione nel web. Il cliente si riferisce al calcolatore dell’utente ma anche al browser usato. L’interazione fra cliente e server parte da una richiesta dell’utente. Il browser instrada la richiesta sfruttando il servizio DNS e la suite di protocolli TCP/IP. Il server decodifica la richiesta e cerca di soddisfarla, generando in tempo reale un file ex novo a partire da dati grezzi estratti da archivio. Il file viene pacchettizzato e spedito al client. Il browser si trova il testo profondo della pagina e inizia l’interpretazione del file e la restituzione nell’interfaccia utente (visualizzazione). La fase di interpretazione e visualizzazione che il browser fa è composta da formattazione della pagina, ipertestualizzazione tramite inserimenti di link e restituzione multimediale. Una pagina web è costituita da un file principale che può necessitare una serie di documenti ancillari, tipicamente multimediali, che possono richiedere al browser un’ulteriore interazione con il server, man mano che il browser riscontra indicazioni relative a nuovi file da recuperare. Mentre è in attesa di risposta dal server, procede con l’interpretazione del resto del documento. Nel corso del processo, anche il client cede informazioni: il server conosce l’indirizzo IP di provenienza, il SO, il browser usato, risoluzione schermo, profondità di colore, query di ricerca, e informazioni locale legate alle pagine visitate e il tempo di permanenza. Queste informazioni vengono archiviate in un file di log. Può essere elaborato per estrarne indicatori di sintesi utili per la gestione di un sito ( statistiche di un sito ). Le tecnologie push non necessitano una richiesta diretta da parte dell’utente, vanno incontro all’utente. Esemplari sono le feed RSS, usati per la diffusione di brevi notizie. Usa un metalinguaggio di marcatura XML e la sua fruizione avviene tramite i programmi aggregatori , disponibili anche all’interno di un browser. Si tratta di un segnale che aggiorna l'utente rispetto alla pubblicazione di un contenuto online, grazie ad un abbonamento. I servizi di podcasting usufruiscono del feed RSS per far scaricare all’utente materiali audiovideo senza che questi frequenti il sito.

Un documento per il web è scritto con linguaggio HTML : markup Language che prevede l’esistenza di tag per suggerire al browser comportamenti di adottare. Le marche permettono di definire le caratteristiche di formattazione; impostare struttura del documento; specificare i link ipertestuali; incorporare oggetti multimediali. Le marche vengono chiuse tra > e <. Esistono marche doppie (porzione di testo modificate dalla marca;

indica paragrafo

fine paragrafo) e marche singole (non necessitano di marca di chiusa,
—> riga orizzontale). Il successo di HTML è dovuto alla sua semplicità, rapidità nella costruzione di un sito. La stessa semplicità costituisce un limite per la povertà espressiva. Per ovviare sono stati proposti:

  • (^) JavaScript: linguaggio di scripting, che possono essere incorporati dentro una pagina HTML, interpretati ed eseguiti dal browser. Serve per aumentare le funzionalità di eventi sulle pagine web.
  • (^) Java: linguaggio di programmazione potente, usato anche indipendentemente dal web. Consente di incorporare nelle pagine web un oggetto intermedio (applet) che permette di aggiungere animazioni e giochi.
  • (^) Flash: orientato all’animazione multimediale
  • (^) XML: metalinguaggio di marcature, possibile descrivere markup Language più espressivi. L’URL indica il formalismo che consente di identificare univocamente i contenuti del web, e la insila stringa (indirizzo web) che agisce da identificatore univoco. protocollo://hostname:porta/pathname?query#frammento
  • (^) Protocollo: indica quale protocollo di sta impiegando. Di solito è http o ftp o https.
  • (^) hostname: identificatore di un nodo di rete.
  • (^) Porta: indicatore numerico che permette di distinguere fra più porte di comunicazione
  • (^) Pathname: percroso all’interno del file system del server, identifica in modo univoco un certo file
  • (^) Query: preceduta da? Trasmette sottoforma di coppie nome=valore separate da &
  • (^) Frammento: stringa che specifica un preciso punto della pagina. http://dinamico2.unibh.it/lazzari/1314_fondamenti_di_informatica/index.htm#Programma
  • (^) http indica il protocollo di comunicazione
  • (^) Dinamico 2: il nome del server, definito dal gestore del dominio di secondo livello
  • (^) Unbid: nome del dominio di 2 livello
  • (^) It: dominio di primo livello
  • (^) lazzari: nome di una cartella contenuta nella radice del file system del server dinamico 2
  • (^) 1314_fondamenti_di_informatica: nome di una cartella all’interno della cartella Lazzari
  • (^) index.htm: nome di file html all’interno della precedente cartella
  • (^) programma: identificatore di un punto preciso nella pagina index Tende a generare identificatori lunghi ma univoci. Per ovviare:
  • (^) Aliasing a livello del server: l’amministratore del server puòcreare un alias per un url. Viene poi sostituto a tempo di esecuzione dell’indirizzo.
  • (^) Refresh: a livello di codice HTML, usando il metatag META e le proprietà HTTP-EQUIV
  • (^) URL shortener: diversi servizi web che permettono di generare url brevi. I PURLs servono a ovviare al problema dell’instabilità degli URL. Purl mette a disposizione indirizzi persistenti, cui legare gli URL delle proprie pagine. Quando l’URL verrà modificato, basta cambiare url nel purl. La ricerca nel web Tripartizione delle modalità di entrata in una pagina web:
  • (^) l’utente puo entrare direttamente digitando l’indirizzo nel browser
  • (^) L’utente puo arrivare indirettamente, seguendo un link in un altro sito
  • (^) L’utente puo arrivare perchè spinto dal motore di ricerca, circa la metà delle visite in un sito. Un motore di ricerca è un servizio del web che a partire da un input costituito da una richiesta di un utente espressa sotto forma di lista di parole chiave, restituisce come output una lista di collegamenti a risorse del web rilevanti alle chiavi di ricerca. I motori di ricerca generalisti (Google, Bing, Yahoo) effettuano ricerche puramente testuali. Legando le parole chiave con operatori logici (and, or, not) il motore restituirà risultati coerenti con la richiesta. Se si legano due parole con and il motore fornirà collegamenti a pagine che contengono entrambe le parole chiave. Operano in modalità case insensitive : non fanno distinzione fra maiuscole e minuscole. Ogni motore offre opzioni avanzate di ricerca per raffinare i risultati. Nessun motore di ricerca è in grado di trovare risultati in tutto il web. Quando un utente interroga un motore di ricerca, questo lo indirizza immediatamente a pagine web di suo interesse. Quindi non ha esplorato il web in seguito alla richiesta dell’utente. Non esiste un catalogo generale di tutte le pagine del web, ma il motore i ricerca effettua una query ad un database nel quale sono immagazzinate le informazioni relative ad un certo numero di pagine web catalogate in precedenza. Attiva un programma di gestione di un archivio nel momento in cui effettuiamo una richiesta che contiene descrizione e