Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2. Concetti di base
Informatica: il termine fu introdotto nel 1968 come traduzione di informazione-automatica. L’obiettivo
principale dell’informatica quindi è il trattamento dell’informazione e la possibilità di compiere le
operazioni necessarie al suo trattamento in modo automatico.
1. È necessario che il sistema sia in grado di capire il linguaggio in cui l’info viene espressa;
2. È altrettanto importante il contesto (un dato acquista valore solo se posto in relazione ad altre info
che definiscono un determinato ambito).
L’informatica è una disciplina sia scientifica che tecnologica che riguarda: progettazione,
costruzione, programmazione e utilizzo dei calcolatori elettronici (tecnologia) – in inglese
“computer science” = scienza che usa i calcolatori elettronici // “computing science” = scienza che
fa si che i calcolatori svolgano operazioni di calcolo i calcolatori hanno permesso l’automazione
di processi per il trattamento dell’informazione aspetto tecnologico (non è sufficiente)
È quel settore scientifico disciplinare che si occupa della rappresentazione e dell’elaborazione
dell’informazione è una SCIENZA che si occupa di costruire modelli per rappresentare aspetti
del mondo reale per poterli poi studiare meglio. Si basa sull’osservazione e formulazione leggi che
descrivono i fenomeni analizzati.
Campo di indagine scientifica: modo in cui l’info può essere rappresentata ed elaborata.
Sono necessari modelli che rappresentino i dati per permettere l’elaborazione dell’informazione.
L’insieme di rappresentazione ed elaborazione è anche detto “trattamento (automatico)
dell’informazione”.
Il rapporto tra informatica e tecnologia è ambivalente: si servono l’una dell’altra.
La misura dell’informazione
È molto difficile quantificare un concetto astratto come l’informazione. Claude Shannon (padre della
moderna teoria dell’informazione) presentò il nuovo approccio al concetto di informazione (articolo del
1948). A lui si deve la definizione formale di bit: misurare la quantità permette di valutare risultati e
prestazione. La definizione data di bit come unità di informazione assume che l’informazione possa
essere misurata – la quantità di informazione è quindi in qualche modo legata al numero di bit necessari
per la sua rappresentazione. La lunghezza della sequenza è un indice della quantità.
Il byte
Anche in informatica vengono introdotte delle nuove unità di misura che sono basate su multipli di bit, un
multiplo molto usato è quello di 8 bit.
Una sequenza di 8 bit viene definita byte. La posizione di ogni bit all’interno della sequenza è significativa.
In un byte esistono al massimo 28 = 256 sequenze (8 termini che possono assumere solo 2 valori diversi).
I testi vengono rappresentati proprio utilizzando un byte per ogni segno grafico.
• Una successione di 4 bit si chiama nybble;
• Word: indica la dimensione dei dati trattati e dipende dal tipo di calcolatore di riferimento.
Una successione di 2 o 16 byte si chiama word per i piccoli calcolatori, 4 o 32 byte per i grandi calcolatori.
Il byte e il word rappresentano comunque una quantità di info troppo piccola per poter rappresentare le
grandezze utilizzate in informatica per questo sono stati introdotti ulteriori multipli (che vengono calcolati
sulle potenze di 210).
Kilo K Migliaio 2^10
Mega M Milione 2^20
Giga G Miliardo 2^30
Tera T Migliaia di miliardi 2^40
Peta P Milioni di miliardi 2^50
Exa E Miliardi di miliardi 2^60
Il file
Esistono molti casi per i quali è conveniente organizzare informazioni di contenuto simile,
rappresentandole all’interno di una stessa struttura sequenza di bit. Viene introdotto il file (archivio o
schedario): struttura informativa che contiene un insieme di informazioni omogenee, organizzate in
forma sequenziale e trattate come unità. Il file è quindi un meccanismo di strutturazione delle
informazioni che permette di aggregare informazioni in strutture più complesse – così che esse non
perdano di significato e da poter intervenire sull’insieme di dati. L’organizzazione dei dati e il nome dei
file dipendono da chi li crea – si consiglia di evitare gli spazi o sostituirli con altri caratteri.
N.B.= i file vengono però considerati come formati da byte (unità di misura) e non da bit. Ad ogni file
viene associato il suo nome, il nome è anche il modo in cui il calcolatore elettronico fa riferimento ad
un’aggregazione di dati.
In informatica si presuppone che sia una macchina, l’automa, a mettere in pratica nel giusto ordine e in
maniera automatica le regole che costituiscono l’algoritmo stesso. L’automa deve conoscere il linguaggio in
cui sono descritte le operazioni per interpretarle e svolgerle automaticamente. L’informatica si occupa quindi
non solo di ideare algoritmi ma anche di ideare macchine in grado di interpretarli.
A queste due componenti teoriche (gli automi riconoscono determinati linguaggi e svolgono automaticamente
le operazioni / gli algoritmi servono a risolvere i problemi e svolgere determinati compiti) corrispondono due
componenti reali dei calcolatori elettronici:
1. Software: insieme delle istruzioni e dei programmi utilizzati per determinare le operazioni di un
calcolatore elettronico (tutto ciò che non è fisico ma che ne consente l’effettivo utilizzo – i programmi
che formano il software contengono le sequenze di istruzioni che descrivono come il calcolatore
debba svolgere un determinato compito e come l’informazione va trattata);
2. Hardware: insieme dei dispositivi meccanici, magnetici, elettronici ed ottici che costituiscono un
calcolatore elettronico (tutto ciò che è fisico).
Hardware
1945, John von Neumann schematizzò in un modello astratto, l’architettura e le caratteristiche per una
macchina per il calcolo automatico, cioè del calcolatore moderno. Un calcolatore elettronico può essere
pensato come uno strumento unitario costituito da un insieme di parti interconnesse tra loro:
• Periferiche o dispositivi di input che acquisiscono i dati dall’esterno, normalmente dall’utente (sistema
interfaccia);
• Processore indicato con la sigla CPU che esegue le elaborazioni sui dati, la sigla CPU indica l’elemento
fisico (sistema di elaborazione);
• Memoria principale/centrale che contiene le istruzioni necessarie per il processore per funzionare e i
dati sui quali effettuare le elaborazioni;
• Memoria secondaria/di massa che contiene dati e programmi memorizzati all’interno di file in modo
permanente (info mantenute anche a calcolatore spento);
• Periferiche o dispositivi di output che restituiscono all’esterno i dati elaborati dall’utente (sistema
interfaccia).
Le componenti del calcolatore sono collegate tra loro tramite delle linee di comunicazione chiamate bus,
che consentono il trasferimento dei dati dalla memoria principale al CPU e viceversa: sono delle linee
elettriche nelle quali i bit viaggiano sotto forma di impulsi elettrici.
Il processore: è la componente principale del calcolatore; tutte le operazioni eseguite sono svolte dallo
stesso. Il termine processore indica il componente funzionale all’interno del calcolatore, mentre CPU indica
l’elemento fisico. Il processore è in grado di eseguire delle operazioni elementari:
• Lettura, modifica, cancellazione di dati dalla memoria principale;
• Calcoli aritmetici sui dati;
• Confronto tra valori dei dati o analisi;
• Scelta della prossima operazione in base al risultato.
Il processore accede continuamente alla memoria centrale per le istruzioni e per reperire i dati. Il processore
ha delle zone di memoria interna chiamate registri per memorizzare temporaneamente i dati che sta
elaborando. Il processore implementa un automa e comprende un linguaggio molto semplice che combina le
operazioni elementari.
Le operazioni elementari sono organizzate in programmi che a loro volta implementano un determinato
algoritmo. I programmi vengono scritti utilizzando linguaggi articolati e tradotti automaticamente in assembly
da altri appositi programmi.
Ogni processore ha al suo interno una sorta di orologio che sincronizza le operazioni: clock. Con il termine
frequenza di clock che si misura in Hz, si indica il numero di operazioni elementari che un processore può
svolgere in un secondo (2GHz: due miliardi di operazioni in un secondo).
La potenza di un calcolatore elettronico dipende dal suo processore (più alta è la frequenza di clock più il
calcolatore è potente MA ricorda che incide sulla quantità di operazioni e non sulla qualità di esse). Il dover
dedicare tempo alle singole attività rallenta lo svolgimento dei compiti. Un approccio per aumentare la
potenza consiste nell’installare più di un processore (2 o 4 processori – i compiti vengono automaticamente
suddivisi tra di essi).
Memoria principale: ha un ruolo fondamentale, senza la memoria principale il processore non saprebbe
quali operazioni svolgere, ne avrebbe accesso ai dati. Contiene:
• La sequenza delle istruzioni elementari;
• I dati sui quali vanno fatte le elaborazioni.
Il suo ruolo è quindi quello di contenere le informazioni (bit) necessarie al processore per funzionare – a cui
accede in continuazione per svolgere i compiti per leggerne il contenuto e per modificarlo e salvare i dati
elaborati.
È composta da un numero elevatissimo di celle che contengono i valori del bit. Ognuna di queste celle da un
byte viene identificata in modo univoco grazie al suo indirizzo (rappresentato da un n. intero).
La memoria principale è denominata dalla sigla RAM (memoria ad accesso casuale, ossia il processore
può accedere in qualsiasi momento in qualsiasi cella – per questo motivo deve essere molto veloce).
La dimensione della memoria centrale coincide con il numero di celle che la costituiscono, e si calcola in
byte (misurate in gigabyte). Il costo dipende anche dalla sua dimensione.
Una caratteristica del RAM è che il suo contenuto è volatile: non viene mantenuto quando il calcolatore è
spento. Per questo esistono memorie di sola lettura (quindi non modificabili) chiamate ROM che hanno la
caratteristica di mantenere le info anche a calcolatore spento. Il contenuto viene stabilito dal costruttore, che
scrive il valore del byte contenuto in ogni singola cella. Il ROM contiene delle istruzioni principali dalle quali il
processore inizia a lavorare dati che non verranno persi o modificati nel tempo: utile quando il calcolatore
viene acceso.
Le periferiche: Il calcolatore deve essere in grado di ricevere i dati dall’utente e quindi di essere munito di
periferiche di ingresso (periferiche di input: forniscono dati – tastiera e mouse) e di uscita (periferiche di output
– monitor e stampante). Il loro compito è quello di trasformare l’informazione da una forma comprensibile per
il calcolatore ad una forma comprensibile per l’utente (tasti, suoni, numeri etc.).
La comunicazione tra processore e periferiche è asincrona, ovvero il processore e le periferiche non sono
sincronizzati quando inviano e ricevono dati. Inoltre hanno velocità diverse nella produzione e nell’utilizzo dei
dati. Queste due caratteristiche possono creare problemi di funzionamento e rallentare il sistema.
È necessario organizzare meglio le cose un elemento intermedio tra il processore e le periferiche è la
memoria buffer (memoria tampone o cuscinetto): con una frequenza predeterminata il processore legge la
memoria buffer, questo permette al processore di non restare in costante attesa di dati dalle periferiche (sia
input, sia output – risolve il problema dell’asincronia e delle velocità diverse).
È possibile che al momento della progettazione di un calcolatore non siano disponibili tutte le info possibili
sulle periferiche (perché queste ultime possono essere prodotte da ditte diverse o entrare in commercio in
un momento successivo = per questo tutte le periferiche vengono vendute corredate di file che contengono
info per il processore su come avverrà la comunicazione – i file si chiamano driver).
In alcuni casi le periferiche (come la tastiera e il mouse) si adeguano ad uno standard quindi il processore
potrà fare riferimento ai driver generici.
Plug and Play (PnP) “connetti e gioca”: periferiche che al momento della prima connessione con un sistema
comunicano direttamente al processore le info necessarie per la corretta comunicazione – fornisce il driver
senza bisogno di supporti esterni.
Software
L’insieme dei programmi che vengono eseguiti da un calcolatore e necessari per il suo
funzionamento. Senza il software un calcolatore non potrebbe essere usato.
Tipologie: monoutente (un solo utente alla volta può accedere alle informazioni) o multiutente
(informazioni disponibili per più utenti).
Software di base: insieme di programmi di cui deve essere dotato un calcolatore per poter essere utilizzabile
– insieme di programmi che l’utente dovrebbe trovare già installati.
Opera direttamente con la macchina fisica, interagisce con i dispositivi del calcolatore e nasconde le
complessità di funzionamento; una componente essenziale è il sistema operativo (insieme di programmi che
gestiscono e mettono a disposizione dell’utente le memorie e le diverse periferiche del calcolatore) –
Windows della Microsoft e Linux per il personal computer – MAC OS della Apple – Unix per i calcolatori di
grandi dimensioni. I calcolatori sono venduti già muniti di sistema operativo.
Complessità molto elevata – per questo c’è un numero limitato di sistemi operativi. Per rendere trattabile la
complessità è necessario suddividere il problema in una serie di problemi più piccoli e quindi più semplici.
Questo approccio viene seguito anche nella progettazione e realizzazione dei sistemi operativi, applicando il
concetto di macchina virtuale racchiude le funzionalità iniziali dell’hardware e quelle aggiuntive del
software. I sistemi operativi hanno una struttura a strati (onion skin) progettati indipendentemente,
realizzando ogni volta una nuova macchina virtuale che serve per gli strati superiori.
Gli utenti esperti fanno spesso uso di una interfaccia a caratteri attraverso la quale interagiscono direttamente
con il sistema operativo (interfaccia a linea di comando).
La maggior parte degli utenti utilizza invece delle interfacce utente grafiche (GUI – Graphical User Interface)
che rendono più semplice e interessante l’interazione con il sistema informatico, in quanto forniscono agli
utenti un contesto nel quale i dati acquistano significato – avviene tipicamente con il mouse.
Uno dei compiti dell’interfaccia è quello di fornire un contesto nel quale i dati assumono un significato.
Il file system
Un altro strato del sistema con cui l’utente interagisce è il sistema di gestione file o file system. Questo strato
ha il compito di gestire i file (un file è una sequenza di bit che deve essere memorizzata a lungo termine nella
memoria secondaria, recuperata su richiesta dell’utente e caricata in memoria centrale per essere eseguita).
È necessario che il file system identifichi in modo univoco ogni singolo file, in modo che sia sempre chiaro a
quale file l’utente si sta riferendo. Il suo compiti viene svolo in modo totalmente trasparente.
Meccanismo virtuale di organizzazione file: si realizzano dei contenitori virtuali chiamati directory (cartelle –
folder) = struttura gestita dal file system che contenere file o altre directory (subdirectory) e che può essere
vuota. C’è una sola directory che non viene contenuta in nessun’altra e viene chiamata radice/root. N.B. 1)
ogni directory non può contenere due oggetti con lo stesso nome;
2) non esistono due oggetti con lo stesso pathname (percorso necessario per raggiungere il file
partendo dalla radice).
Software applicativo: programmi che utilizzano le funzionalità dei software di base e consentono all’utente
di svolgere specifiche attività – programmi che l’utente deve aggiungere. Questi programmi specializzano un
sistema informatico affinché possa risolvere particolari problemi degli utenti.
Tutti i programmi applicativi si basano sulle funzionalità del sistema operativo per operare. Tutti i sistemi
operativi sono già corredati di un numero di programmi applicativi che contribuiscono al costo complessivo
del sistema operativo si possono installare programmi con funzionalità più specifiche = plug-in.
Plug-in: software che viene innestato in un programma applicativo già installato per svolgere compiti
aggiuntivi (per trattare formati aggiuntivi, visualizzare informazioni in modo più efficiente).
Installazione dei programmi applicativi: operazione complessa
1. Creazione di una o più directory nell’hard disk del sistema (in una posizione indicata dall’utente –
servono ad organizzare le informazioni);
2. Copia dei file all’interno delle directory (i file contengono le istruzioni per il processore, ma anche
informazioni supplementari);
3. Notifica al sistema operativo della presenza di una nuova app;
4. Creazione di una o più icone associate all’applicazione.
Esecuzione dei programmi applicativi: le applicazioni vengono eseguite su esplicita richiesta dell’utente. Nei
sistemi grafici la richiesta dell’utente può essere esplicita o implicita, mentre nei sistemi ad interazione
testuale la richiesta è sempre esplicita. In ogni caso la richiesta corrisponde ad alcune operazioni:
Reperisce il file contenente le istruzioni per il processore (lo prende dalla memoria di massa);
Trasferisce il file in memoria centrale;
Inizia ad eseguire le istruzioni contenute nei file.
N.B.= tutte queste operazioni sono svolte dal processore. Inoltre, l’utente non può sapere l’effetto delle
istruzioni sul funzionamento del sistema stesso (mai installare cose di cui non si è sicuri, potrebbero essere
virus o malware).
4. Codifica dell’informazione
L’informazione può avere forme diverse e quindi dev’essere rappresentata affinché il calcolatore possa
trattarla = codifica.
Codifica = rappresentazione dell’informazione.
Codifica di grandezze numeriche
Il caso più semplice di rappresentazione riguarda la codifica dei dati quantitativi di alcune grandezze, ovvero
il loro valore numerico. I numeri sono stati i primi ad avere una rappresentazione in informatica. Il termine
digitale indica la tecnologia alla base del funzionamento delle apparecchiature, dette anche apparecchiature
numeriche. Si ha una rappresentazione digitale quando si definisce l’informazione in termini numerici.
Le apparecchiature non digitali sono dette analogiche: si ha una rappresentazione analogica quando si
definisce l’informazione per comparazione di grandezze. Il termine deriva dal concetto di analogia tra
l’andamento di grandezze fisiche.
I numeri che si possono rappresentare all’interno di un calcolatore si riducono in due classi: numeri interi e
numeri con virgola.
È possibile trasformare una cifra binaria in decimale, mentre il procedimento inverso è molto più complicato.
Per risalire al contenuto informativo di una sequenza di bit associata ad una serie di numeri è necessario
conoscere il modo in cui questi sono stati codificati.
È tuttavia necessario (e molto utile) introdurre degli standard per la codifica dei numeri, ovvero dei formati
che siano universalmente riconosciuti e applicati per rappresentare le grandezze numeriche.
Quella più semplice per i numeri interi consiste nell’assegnare ad ogni numero una sequenza di bit di
lunghezza costante – in questo modo non sono necessari dei separatori (è noto a quale numero appartiene
ciascun bit e la posizione di ogni bit) MA ci sono dei limiti:
• Non è possibile rappresentare numeri di valore troppo elevato;
• A molti numeri viene associato un numero di bit superiore al necessario, sprecando così risorse.
Un buon compromesso è stato quello di utilizzare sequenze di 8 bit (ossia un byte). Con un byte sono
rappresentabili in un intervallo di 256 valori.
Caratteri alfanumerici: lettere dell’alfabeto inglese (26 maiuscole e 26 minuscole), spazio che separa le
parole, 10 cifre di notazione decimale, segni di interpunzione e di delimitazione, operatori aritmetici, alcuni
segni specifici.
A questi si aggiungono i caratteri speciali (vocali accentati, umlaut, cediglia, ecc.).
L’informazione deve essere condivisa da tutti gli utenti e i sistemi che accedono ai dati testuali codificati non
esiste un modo naturale ed universalmente accettato per associare un simbolo ad un particolare codice
binario. Sono quindi necessari degli standard di codifica che fungono da modelli di riferimento e consentano
lo scambio di informazioni senza incorrere in errori di interpretazione.
Lo standard ASCII (American Standard Code for Information Interchange) proposto nel 1963
dall’ANSI (American National Standard Institute).
È stato creato per rappresentare l’alfabeto inglese: non comprende le vocali accentate né alcune lettere
dell’alfabeto francese, spagnolo, tedesco.
La prima versione prevedeva l’uso di 7 bit per la codifica del testo, con i quali sono rappresentabili 128 simboli
diversi – numeri da 0 a 127 (scelti per evitare di sprecare bit). Sono compresi tutti i caratteri alfanumerici +
alcuni codici per il controllo delle stampanti e l’impaginazione del documento.
La diffusione dello standard ha spinto l’ISO ha recepire la codifica a 7 bi come standard internazionale (codice
ISO646-1973 più brevemente ISO-7).
Lo standard ASCII esteso ha permesso di aumentare il numero dei simboli rappresentabili (necessità di
includere anche i caratteri speciali). Vengono usati 8 bit (1 byte) che permettono di rappresentare 256 simboli
suddivisi in due gruppi (per evitare problemi di compatibilità): i primi 128 sono identici all’ASCII a 7 bit; i
successivi 128 sono dedicati ai simboli addizionali.
Compatibilità all’indietro: ASCII a 8 bit può decodificare un testo ASCII a 7 bit, ma non è detto che possa
sempre avvenire il contrario.
Esistono diverse estensioni dell’ASCII a 8 bit a cui corrispondono diversi standard recepiti dall’ISO che fanno
parte della serie ISO-8859 (si differenziano per i simboli rappresentati) consentono un’adeguata
rappresentazione di ogni singola lingua. MA inadeguato per quelle lingue che non si basano su di un alfabeto
(es. cinese o giapponese) + è di difficile estensione (non si può andare oltre i 256 caratteri).
Lo standard Unicode (nome del consorzio che lo ha proposto – collabora con l’ISO) fornisce un numero
unico ad ogni carattere e ad ogni simbolo, indipendentemente dal sistema informatico, indipendentemente
dall’applicazione, indipendentemente dalla lingua. Il progetto parte dal presupposto di rappresentare in
maniera univoca ogni possibile simbolo. Il numero totale dei simboli delle lingue parlate è molto elevato,
perché è necessario considerare tutte le varianti grafiche il numero di codici necessari è elevatissimo e in
continua crescita (continua ad arrivare richieste per nuovi caratteri).
È una codifica a 16 bit (65536 simboli) – i primi 128 sono gli stessi di ISO-7. Questa versione è stata estesa
a 32 bit (più di 4 miliardi di simboli differenti). Dato che questi equivalgono a 4 byte, il testo richiederà il
quadruplo dello spazio. Per questo motivo non ci si riferisce a tutti e 32 i simboli ma a dei sottoinsiemi.
La rappresentazione del formato dei documenti testuali
Gli standard riguardano principalmente il contenuto, tralasciando il formato (che oggi sta assumendo sempre
più importanza – migliora la leggibilità e rende il testo più attraente e accattivante).
Livelli di strutturazione del testo: informazioni che definiscono il modo in cui il documento viene presentato
(documento completo o alcune sue parti/livelli).
4 livelli:
- Carattere: livello più basso (testo = successione i caratteri) il formato indica come vengono
presentati (font, dimensione, corsivo, ecc.)
- Capoverso (paragraph): serie di parole che formano una parte coerente che tratta un concetto. È
indicato graficamente andando a capo o iniziando la riga un po’ più a destra. MA non è un paragrafo
(= suddivisione in parti di un capitolo) modo in cui le linee dei capoversi sono presentate (interlinea,
allineamento, ecc.)
- Sezione: capitolo, paragrafo o sotto paragrafo in cui i capoversi sono organizzati colonne, titoli,
numerazione pagine, ecc.
- Documento: livello più alto dimensione spazio di stampa, intestazioni, orientamento, ecc.
Il formato può riguardare una parte o tutte e i livelli inferiori generalmente prendono quello del livello
superiore.
Campionamento: suddivisione in parti più piccole (rappresentanti) nel tempo o nello spazio, per rendere i
risultati più attendibili (si presume non vi siano brusche variazioni). La densità dei campioni è detta frequenza
di campionamento – alta frequenza: campioni più fitti. Utilizzato per le analisi statistiche. In informatica è
usato per rappresentare l’informazione presente nel mondo reale.
5. Internet e web
Inserimento del calcolatore in una rete globale. Una rete di calcolatori elettronici è un insieme di calcolatori
elettronici automatici interconnessi fra loro in grado di scambiare informazioni rappresentate in forma digitale
tramite lo scambio di flussi di dati in forma binaria.
La connessione può basarsi su cavi, fibra ottica, ponti radio, trasmissione satellitare.
La velocità di trasmissione si misura in bit al secondo (bps = bit per second). I dati vengono trasmessi raccolti
in pacchetti (sottoinsieme logici). Lo scambio tra calcolatori può avvenire se almeno uno dei due ha i
programmi adibiti alla condivisione di file, su richiesta e previa autenticazione è detto calcolatore servente
(file server o solo server).
Modello cliente servente: quando almeno un calcolatore della rete può svolgere la funzione servente, gli altri
lo possono usare per acquisire file, ognuno in qualità di cliente (o client) client server model.
Il server contiene file che vengono usati in modo condiviso da più utenti (pochi server, tanti client). Se vi è
un solo server, nel momento in cui si guasta, tutta la rete è inutilizzabile. È comunque possibile aggiungere
nel tempo più serventi scalabilità della rete.
Architettura peer to peer: architettura dove tutti i calcolatori possono fornire servizi, comportandosi quindi
come server, e al tempo stesso richiedere servizi, comportandosi quindi da client, ad altri calcolatori “peer”
significa in pari, si tratta di un’architettura da pari a pari. Non è una struttura centralizzata, i singoli possono
connettersi / disconnettersi – molto dinamica (numero variabile di utenti, file disponibili, file che non lo sono
più, ecc.).
File sharing = possibilità di scambiare file tra calcolatori.
Caratteristiche fisiche delle reti di trasmissioni di dati: vengono classificate in base alla tecnologia di
trasmissione dati e in base alle loro dimensioni o distanza tra i diversi calcolatori.
- LAN (local area network): rete di dimensioni contenute – limitata o locale, al massimo alcuni chilometri
(di solito usata negli edifici).
- MAN (metropolitan area network): rete più ampia, può coprire diversi edifici o una città.
- WAN (wide area network): può coprire una nazione o un continente. Calcolatori detti “hosts” che
eseguono programmi di interesse per gli utenti, sono collegati da sottoreti in cui sono inseriti apparecchi
adibite allo scambio di dati (router p packet switsching node).
- Wireless network: tecnologia che non richiede fili (il nome non fa riferimento alle dimensioni ma alla
tecnologia)
Nel tempo sono state inserite reti diverse, con la possibilità di connettere reti di diverso tipo tramite gateway
o porte. L’interconnessione è detta internetworking e un insieme di reti è detto internetwork o internet.
Internet con la I maiuscola indica una specifica ree di interconnessione mondiale di università,
organizzazione governative e private sviluppata a partire dalla rete ARPANET.
Il software delle reti di trasmissione dati: le reti si basano su software che rendono possibile lo scambio di
dati (separano e suddividono in pacchetti i dati, ricevono, ricompongono). Il software di rete è strutturato in
strati o livelli, il cui scopo è quello di essere specializzato per offrire servizi specifici al livello superiore. Ogni
strato parla con il livello corrispondente del software del calcolatore con cui si comunica: è necessario un
protocollo (insieme di regole e convenzioni che devono essere state concordate precedentemente per
capirsi). Se le regole vengono infrante la trasmissione diventa difficile o impossibile.
La struttura del software è decisa dai progettisti. Un insieme di livelli e protocolli costituisce un’architettura di
rete.
Modello di riferimento TCP/IP: nuova architettura adottata come modello. TCP – protocollo di trasferimento
dati (transfer control protocol), IP – protocollo che definisce il formato ufficiale del pacchetto dati da
trasmettere e le indicazioni di indirizzamento (internet protocol). Ha 4 livelli: applicazione (protocollo
applicativo), trasporto (protocollo TCP), rete (protocollo IP), Host-Rete (Protocollo Host-Rete).
All’utente interessa il livello più lontano dal mezzo fisico perché è dove operano i software applicativi che
permettono lo scambio di informazioni.
WEB – WORLD WIDE WEB: insieme di strumenti che permette di accedere a documenti collegati fra loro
ma distribuiti sulle migliaia di calcolatori che attualmente sono inseriti nella rete Internet. Progetto avviato al
CERN nel 1989. 1994: CERN e MIT fanno un accordo per creare il consorzio del web, con il compito di
sviluppare il web, standardizzare i protocolli e favorire l’interoperabilità fra siti.
Il WWW è un sistema servente (calcolatore che fa da archivio – software che gestisce le pagine web e invia
la pagina richiesta dal browser tra quelle che gestisce) e client (utenti browser web: usato per navigare e
scorrere le informazioni disponibili tramite il web).
Il browser web: il primo è stato Mosic (1993). Netscape (1995). Poi Internet Explorer, Opera, Mozilla, ecc.
WEB: vasta collezione di documenti distribuiti su diversi calcolatori della rete internet, identificati come
pagine.
Il browser acquisisce la pagina richiesta dall’utente, la analizza per distinguere il testo dai comandi (scritti nel
linguaggio HTML) e interpretarli, presenta la pagina sullo schermo.
Server web: connessione – il cliente invia una richiesta e il servente una risposta – connessione rilasciata.
Comunicazione con protocollo http – prevede che si instauri un colloquio senza il mantenimento di
informazioni di stato. Ad ogni pagina si associa un nome detto URL, composto da nome del protocollo (http),
del dominio del computer dove è mantenuta la pagina (www.unipd.it), nome del file o pathname (index.html).
Un URL con meno parole al centro (nel dominio) è di gerarchia superiore.
Una pagina o nodo del web è costituita da testo (ASCII) preparato con un linguaggio di markup (di solito
HTML o XML).
Posta elettronica: servizio di trasferimento del messaggio dal mittente alla casella del destinatario e
mantenimento del messaggio. Server di posta in uscita, trasferisce i messaggi (server SMTP – simple mail
transfer protocol). Server di posta in entrata: accetta i messaggi, li mantiene e li consegna (server POP –
post office protocol). Per accedere a questi servizi, l’utente ha bisogno di un programma client (che fornisce
l’interfaccia grafica che permette di svolgere tutte le funzioni).
Caratteristiche:
- Il protocollo SMTP non prevede che il mittente si debba autenticare per accedere al messaggio (non c’è
controllo sulla sua identità – è semplice inviare pubblicità, catene o messaggi di frode)
- I server possono notificare problemi nella consegna – possono essere permanenti (indirizzo del mittente
incorretto) o temporanei (il server MSTP non riesce a contattare il POP).
- Sistema non sicuro: a volte la notifica non viene fatta e il messaggio non viene consegnato, ci
possono essere ritardi, ecc.
- Uno stesso messaggio può essere recapitato a più utenti (si può indicare il grado di interesse verso il
messaggio da parte dei destinatari)
- TO: destinatari principali
- CC: copia per conoscenza – destinatari coinvolti indirettamente (non necessariamente rispondono)
- BCC: destinatari il cui indirizzo non appare in modo esplicito
- Possibilità di allegare file
6. Il reperimento dell’informazione
Grazie a internet gli utenti hanno accesso ad una quantità infinita di informazioni metodi per reperire solo
ciò che risulta interessante Reperimento dell’informazione: settore dell’informatica che si occupa delle
attività / metodologie che permettono di ideare sistemi (di software) in grado di gestire, rappresentare,
ritrovare, scegliere, da una data collezione di documenti (digitali), quelli di interesse in relazione ad una
specifica esigenza informativa di una persona.
Obiettivo: aiutare a scegliere / selezionare.
Metodi di classificazione e soggettazione: permettono di descrivere il contenuto informativo dei documenti
della collezione – l’utente consulta solo la descrizione (non il documento) risparmia tempo.
Elementi e metodi
Esistono diversi metodi a servizio dell’utente.
La catalogazione e la gestione possono essere automatizzate, con la progettazione di uno strumento di
reperimento dell’informazione denominato catalogo in linea per l’utenza finale (OPAC – online public access
catalogue).
Informazione = ciò che forma la conoscenza per risolvere i problemi degli utenti – non è misurabile, dipende
dall’utente, il suo valore è dato dalla sua utilità. Calcolatori usati come memorie di archiviazione in formato
digitale sono stati sviluppati software che permettono la gestione delle rappresentazioni del contenuto.
L’utente deve quindi esprimere la sua esigenza informativa in modo comprensibile per il sistema: è
necessaria la rappresentazione dell’interrogazione (così che venga trattata in modo uniforme ai documenti
a cui viene associata).
Nel momento in cui è necessario un sistema automatico diventa necessario un sistema informatico: motore
di ricerca (sistema di reperimento nelle pagine web).
L’informazione viene rappresentata come documento = qualsiasi oggetto informativo che è individuabile
mediante un identificatore univoco (ossia che consente l’accesso al documento indipendentemente dal suo
contenuto) e che contiene dei dati che forniscono informazione (testi ma anche immagini e audio). Insieme
di documenti: collezione di documenti.
Rilevanza = proprietà di un documento di contenere dell’informazione importante, utile o necessaria a
soddisfare una specifica esigenza informativa di un utente. Essa non può essere determinata da una
macchina e dipende dal contesto, dall’utente e dal momento in cui essa viene giudicata.
Descrittori = dati che esprimono gli aspetti salienti del contenuto informativo del documento e
dell’interrogazione e che devono essere gestibili automaticamente da un sistema informatico – vengono
assegnati ad ogni documento e ad ogni interrogazione. Per i documenti testuali sono parole, per immagini o
suoni sono frammenti.
Indicizzazione = processo di descrizione e rappresentazione del contenuto informativo dei documenti della
collezione di interesse e delle interrogazioni.
I descrittori rappresentano l’informazione in modo automatico ma incompleto sono dei surrogati. Errori
dovuti ad ambiguità terminologica: sinonimie (sostituibilità di un elemento linguistico senza che il significato
cambi) e polisemie (significati diversi per la stessa parola).
Più precisamente: il reperimento dell’informazione si occupa ella descrizione e del reperimento di documenti
che apportano informazioni rilevanti a qualsiasi esigenza informativa espressa in un’interrogazione da
qualsiasi persona. Se svolto in automatico è necessario un sistema che svolga queste attività.
Un sistema di reperimento è un sistema informatico progettato per svolgere compiti di reperimento in modo
efficace ed efficiente, anche per collezioni di grandi dimensioni, assicurando la descrizione dei documenti e
il reperimento di quelli ritenuti rilevanti alle esigenze informative espresse da interrogazioni poste dagli utenti
finali che lo utilizzano.
Efficacia: quantità di documenti rilevanti e non // Efficienza: velocità di funzionamento, quantità di risorse
usate e funzionalità di sistema. Esse dipendono dagli algoritmi usati si lavora a livello di ideazione del
modello di reperimento dell’informazione (l’efficacia dipende dalla qualità del modello).
Componenti del reperimento dell’informazione
Collezione: insieme di documenti che costituisce una raccolta logicamente omogenea, gestito da un
sistema di reperimento. La sua dislocazione fisica è irrilevante (su uno o più calcolatori). Il contenuto
informativo al suo interno deve essere rappresentato.
PROCESSO: inserimento dei documenti (raccolta, costituzione collezione, rappresentazione contenuto,
costituzione archivio digitale) + fase di interrogazione dell’utente al sistema (uso di query).
Forma ad U: in un ramo l’inserimento, nell’altro l’interrogazione.
* fase di inserimento: processo di indicizzazione per rappresentare i documenti. Nell’interrogazione
l’utente rappresenta le proprie esigenze viene fatto un confronto tra la richiesta e il contenuto dei
documenti.
COMPONENTI DI UNO STRUMENTO DI RICERCA: componente di indicizzazione, di gestione (gestione
complessiva) e di interazione utente-sistema.
Componente di indicizzazione: effettua la rappresentazione del contenuto informatico, permettendo una
risposta all’utente più rapida ed efficiente. Lo scopo è quello di produrre per ogni documento originale un
surrogato che ne rappresenti il suo contenuto informativo (si trattano documenti testuali).
Metodi di tipo statistico e linguistico (meno diffuso) per l’analisi del testo. Statistico assunzioni di base: la
frequenza di una parola indica la sua capacità di rappresentarne il contenuto; la posizione relativa all’interno
di una frase delle parole fornisce una misura utile nel determinare l’importanza della frase.
I surrogati generati tramite processi di indicizzazione automatica sono detti indici – vengono preparati dal
software per descrivere i documenti, poi vengono confrontati con la frase dell’utente e viene fornita una
risposta. Devono permettere esaustività e specificità affinché il sistema di reperimento venga valutato in
modo più positivo dall’utente.
I surrogati vengono aggregati per creare gruppi di descrittori o parole chiave collegati tra loro e costituire
gruppi affini (per rendere il reperimento più efficiente).
Se si tratta di documenti testuali, il procedimento può essere svolto in automatico: l’indicizzazione automatica
di un documento è il processo che esamina automaticamente gli oggetti informativi che compongono il
documento e, utilizzando degli algoritmi appositi, produce un elenco di termini indici che può essere utilizzata
per la rappresentazione del contenuto informativo del documento di partenza.
Fasi:
1) Analisi lessicale: trasformazione di un flusso di caratteri in un flusso di parole (token = sistema di
caratteri che veicola uno specifico significato).
2) Rimozione delle parole comuni: eliminazione di quelle parole che servono poco nell’identificazione
del significato del documento e di quelle a basso potere discriminante.
3) Riduzione parole originali alle radici: riduzione delle parole alla loro radice per identificare la parte
comune delle parole (rimozione delle parti varianti). Il termine indice che viene mantenuto è quello
usato nel confronto tra interrogazioni e documenti.
4) Creazione dell’indice: viene preparato l’elenco dei termini indice che serve a mettere in relazione ogni
radice comune con i documenti all’interno.
5) Pesatura (automatica) dei termini indice. Essi possono essere assegnati ai documenti con un peso
(processo binario: 1 o 2 – presenza o meno del termine // determinazione esplicita della frequenza
del termine) o senza.
Componente di gestione: trasforma l’indice in una struttura dati che può essere mantenuta in modo
permanente su di un supporto e usata da un software nel reperimento di informazioni, mantiene i
collegamenti fra le radici.
L’insieme delle descrizioni dei documenti è una vera e propria base di dati, costituita da indici e documenti,
denominate base di dati degli indici e base di dati dei documenti banca dati.
Caratteristiche: struttura complessiva degli archivi estremamente semplice, la rappresentazione di dati
testuali si può fare solo per le applicazioni di gestione di soli dati strutturati, l’utente finale usa la base dati
per estrarre informazioni, le ricerche dati sono sempre di un unico tipo (estrarre documenti che sono
pertinenti ad una certa esigenza informativa).
Componente di interazione utente-sistema: si occupa dell’interazione dell’utente, effettua il reperimento
dell’informazione, dispone strumenti per realizzare l’interfaccia di interrogazione (usata per porre le
domande) e la presentazione all’utente dei risultati.
Se i documenti non soddisfano l’utente: meccanismo di retroazione – continua ricerca di documenti: frase di
richiesta riformulata. Al termine il sistema deve poter offrire l’elenco completo dei documenti e la
visualizzazione di un qualunque documento dell’elenco.
Modello di reperimento dell’informazione: insieme di costrutti che sono formalizzati allo scopo di rendere
possibile la rappresentazione del contenuto informativo di documenti e interrogazioni, nonché definire
l’algoritmo di reperimento dei documenti (uno fra i primi modelli: modello booleano).
Modello: strumento concettuale per astrarre il funzionamento di un sistema di reperimento dell’informazione,
il contenuto dei documenti e l’esigenza informativa (non fornisce dati implementativi sul software).
Alcuni modelli, come quello booleano, suggeriscono come implementarlo.
Nella ricerca questi modelli si basano su parole metafora. Nella metafora del modello booleano i descrittori
individuano insiemi di documenti e le interrogazioni sono preposizioni logiche i cui operandi sono i descrittori
(insiemi di documenti) e gli operatori sono gli operatori della teoria degli insiemi.
La funzione di reperimento associa l’interrogazione al sottoinsieme di documenti che la rendono vera.
Il modello si basa su operazioni logiche tra proposizioni che possono essere vere o false.
Operatori usati:
- Somma logica (oppure / o – or): almeno una delle parole presenti nell’interrogazione e collegate
dall’operatore O deve essere presente nei documenti selezionati
- Moltiplicazione logica (e – and): entrambe le parole presenti nell’interrogazione collegate da E devono
essere presenti nei documenti
- Differenza logica (non – not): le parole non devono essere presenti nei documenti
Si aggiungono gli operatori di adiacenza (specifica parola adiacente ad un’altra), di relazione (=,<,>,ecc.),
che delimitano una sequenza.
7. Informatica e sicurezza
Il calcolatore è diventato uno strumento insostituibile in quasi tutti i campi.
- Necessità che i pc siano dotati di hardware e software e che le persone abbiano la giusta conoscenza.
Gli schedari stanno facendo sempre più posto agli archivi informatici e la comunicazione aziendale può
essere sostituita dall’uso di messaggi in formato digitale. La facilità con cui l’informazione può essere
memorizzata e trasferita presenta degli aspetti rischiosi, visto che anche persone terze possono accedere ai
dati.
- È importante cautelarsi da malfunzionamenti, occasionali o indotti dall’esterno (VIRUS).
Salvaguardia da malfunzionamenti
Quando il sistema non risponde più ai comandi ed è quindi necessario spegnere / riaccendere il calcolatore,
si sa che l’informazione che non è stata salvata in memoria secondaria andrà persa (poiché la memoria
primaria è volatile).
Inoltre, i file potrebbero risultare illeggibili al momento dell’apertura se si verifica un malfunzionamento delle
unità di memorizzazione.
Le copie di salvaguardia
Da queste problematiche è possibile dedurre che è necessario che ogni sistema informatico sia fornito di un
insieme di procedure software ed apparecchiature hardware per limitare al massimo i danni causati dalla
perdita accidentale di dati.
Il primo approccio consiste nel creare una copia di salvaguardia BACKUP = consiste nel salvare una
copia identica in uno o più supporti di memorizzazione alternativi, come precauzione nel caso il supporto di
memorizzazione principale avesse malfunzionamenti – salvataggio su di un supporto diverso dall’originale.
La scelta di quante volte fare il backup dipende dall’importanza dei dati da salvaguardare, oltre che alla
frequenza con cui i dati vengono modificati.
Le procedure di backup vengono effettuate comprimendo (reversibilmente) contestualmente l’informazione
(trasformando le sequenze di bit in sequenze più corte, occupano così meno spazio).
DATA RECOVERY: esiste la possibilità di svolgere le procedure di ripristino dei dati danneggiati utilizzando
delle apparecchiature apposite che leggono la superficie dei dischi danneggiati; molto costose e non
garantiscono il ripristino.
Esempio del codice di cesare Frase originale Chiave selezionata: 7 VENI VIDI VICI
Trascrizione numerica: ogni lettera del messaggio viene sostituita con il
codice numerico corrispondente 22-05-14-09 22-09-04-09 22-09-03-09
Somma della chiave: ai numeri che costituiscono la successione di codici
viene sommato il valore della chiave (es.22+7) 29-12-21-16 29-16-11-
16 22-16-10-16
Frase cifrata: i numeri nuovi vengono trascritti sostituendoli con le lettere
corrispondenti CLUP CPKP CPJP
Sottrazione della chiave: ai numeri che costituiscono la successione di
codici viene sottratto il valore della chiave (es.29-7) 29-12-21-16 29-16-
11-16 22-16-10-16
Frase originale: VENI VIDI VICI
Il difetto di questi sistemi è che prima di iniziare la comunicazione, la chiave deve essere comunicata tra
mittente e destinatario – per arrivare deve “viaggiare in chiaro”, ovvero non deve essere a sua volta cifrata.
MALWARE: programma spesso creato per danneggiare il sistema in cui si installa, in grado di diffondersi,
installarsi ed eseguirsi all’insaputa dell’utente. Si tratta di un insieme di istruzioni, un software che è stato
scritto da un programmatore con intenti maligni o illeciti.
Come altri programmi, anche le istruzioni che costituiscono il funzionamento del malware vengono caricate
in memoria principale; queste vengono lette dal processore che esegue quanto scritto nelle istruzioni.
* Problemi come fughe di informazioni o accessi a zone private e apparentemente protette di sistemi
informatici sono spesso dovute a SPYWARE.
Le operazioni che esegue il malware sono:
Ha uno scopo maligno e quindi con effetti negativi nel sistema informatico nel quale opera
Si installa all’insaputa dell’utente
Si replica automaticamente all’interno del sistema informatico, spesso con l’ignara complicità
dell’utente
Prima di effettuare danni il malware cerca di raggiungere la massima diffusione all’interno del sistema
informatico
Chi scrive questi programmi viene definito pirata informatico o hacker.
I malware furono inizialmente inventati per punire chi copiava programmi con licenze a pagamento e li
passava ad altri utenti, ma può avere anche motivazioni di piacere vandalico / gusto della sfida / dimostrare
la propria bravura.
Tipologie di malware:
- Trojan horse: si presenta come un software innocuo, normalmente creato ad uso ricreativo o per
svolgere compiti d’utilità, che però nasconde poi lati del programma dannosissimi (istruzioni svolte di
nascosto) che possono arrivare anche alla completa distruzione di tutti i dati presenti nella memoria
di masso dopo alcuni giorni. Generalmente vengono utilizzati per analizzare i dati sul computer o per
abbassare le sue difese in modo che il creatore del malware possa accedere alle risorse / inserirsi
nel sistema. Il trojan è in grado di calcolare il lasso di tempo di installazione per garantirsi la massima
diffusione (di solito 30 giorni) prima di sferrare il suo attacco.
- Virus: piccoli programmi che si attaccano autonomamente ad altri programmi residenti nel sistema
dell’utente; le informazioni del virus sono sempre anteposte a quelle del programma, per cui passa
sempre di nascosto – le istruzioni del virus vengono eseguite per prime ogni volta che si avvia il
programma a cui esso si è attaccato.
A differenza del cavallo di troia però, il virus ha bisogno di garantire la propria diffusione poiché non
è un programma autonomo e per fare ciò cerca all’interno del sistema tutti i programmi già installati
e li attacca tutti. In questo modo “infetta” i programmi e si garantisce la massima diffusione. Anche il
virus è in grado di calcolare il lasso di tempo di installazione per garantirsi la massima diffusione (di
solito 30 giorni) prima di sferrare il suo attacco, che può essere un danno al computer, invio di dati.
Differenza trojan e virus: i primi sono legati al programma ospitante, i secondi si legano a qualsiasi
programma (si diffondono più rapidamente).
- Worm: forse la più pericolosa forma di malware, si diffonde attraverso i canali di comunicazione
internet, muovendosi da un calcolatore all’altro con modalità del tutto anonime, in molti casi senza
l’inconsapevole aiuto dell’utente.
Il più diffuso solitamente viaggia tramite posta elettronica, in particolare come allegato. Per non
essere riconosciuto si presenta come immagine, clip video o file di testo. Quando l’allegato viene
aperto, il worm controllo gli indirizzi di corrispondenza dell’utente e invia lo stesso messaggio a tutti,
garantendosi la massima diffusione.
In alternativa, i worm possono sfruttare gli errori nei programmi per la gestione dei sistemi operativi,
insediandosi nel sistema con la sola attivazione della rete internet.
Cosa più pericolosa: furto di identità furto di dati o Phishing = invio di una mail a nome di un servizio online
per truffare l’utente richiedendo pagamenti.
Protezione
- Evitare comportamenti a rischio: non scaricare programmi da siti non affidabili, non scambiarli con
altri utenti, fare attenzione agli allegati, evitare di visitare siti poco affidabili, aggiornare il software e
sfruttare le correzioni degli errori.
- Uso di antivirus (o antimalware / antispyware): ha lo scopo di riconoscere e cancellare i malware.
L’operazione di controllo è detta scansione del sistema e viene svolta con cadenza scelta dall’utente.
Gli antivirus scansionano le sequenze di bit e per riconoscere un malware devono conoscerlo. Per
questo è necessario continuare ad aggiornare l’antivirus.
- Uso di firewall: componente hardware utilizzato nella connessione di una rete locale per la quale
vengono applicate delle restrizioni accesso controllato ad internet. Si comporta come un filtro:
blocca l’accesso ai siti non autorizzati.