Professional Documents
Culture Documents
Fondamenti di Informatica
Roberto Tedesco
1. Dati e Codifiche
Informatica: Tecnologia che consente il trattamento automatico dellinformazione e dei dati
con elaboratori.
Byte - 8 Bit
Segnale Analogico: Segnale continuo nel tempo che pu assumere tutti gli infiniti valori
delle grandezza fisica osservabile che rappresenta. Varia allinterno di un ben definito Range. I
valori utili che lo rappresentano sono continui (infiniti) e non numerabili.
Segnale Digitale: Segnale discreto nel tempo che in un determinato range di tempo pu
assumere solo un numero discreto (numerabile e finito) di valori. I vantaggi che esso presenta
sono:
Impiego unico linguaggio binario
Qualit costante nel tempo
Possibilit di compressione (vantaggio economico)
Teorema di Nyquist-Shannon
Dato un segnale con lungezza donda B, finita e nota, la frequenza minima di
campionamento per la corretta ricostruzione del segnale deve essere pari almeno a 2B.
Ci implica che un segnale campionato con frequenza fc avr massima frequenza risolubile
pari a (fc)/2
Ogni carattere occupa un byte, composto da 8 Bit. Di questi 8, uno utilizzato per controlli
ed quindi indisponibile, gli altri sono usati per la rappresentazione. La codifica ASCII
concede quindi di rappresentare un numero di caratteri pari a 27=128. Successivamente alla
codifica ASCII stata introdotta la codifica UNICODE, basata su una rappresentazione a 16
bit.
0 0 0 0 1 1 0
0 1 1 0 0 1 1
1 0 1 0 0 1 1
1 1 1 1 0 0 0
A NOT
0 1
1 0
Funzione Logica
Una variabile y una funzione se esiste un criterio che alle x variabili associa uno ed un solo
valore
DISTRIBUTIVA A+(BC)=(A+B)(A //
+C)
Leggi di De Morgan
(A+B)!=A!+B!
(AB)!=A!B!
Half Adder
A B CARRY SUM
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Full Adder
3. Architettura del Calcolatore
Distinzioni
PC - Personal Computer, usati per lelaborazione di testi, navigazione su internet, musica
Workstation - Computer usati per il calcolo e la programmazione
Mainframe - Computer usato per la gestione di grandi reti di apparecchiature
Network Computer - Anche chiamati Server, rete di computer che condividono dati,
risorse e dischi
Bus Dati
Bus Indirizzi
Altri Bus sono il Bus Indirizzi e le Linee di Controllo (Linee su cui viaggiano segnali che
mettono in comunicazione la CPU coi vari componenti)
Architettura e Bit
Esistono Architetture a 64 bit o a 32 bit. Lunica differenza sta nel numero di linee
microscopiche che formano i bus dati. E importante che larchitettura del calcolatore sia tutta
a 32 o a 64 bit.
Schematizzazione della memoria RAM di una macchina a 32 bit
32 Colonne
Ogni riga invece rappresenta le Locazioni di Memoria. Il Bus Indirizzi ha un singolo verso,
che va dalla CPU ai Componenti in quanto essa lunica che ha accesso alla scrittura dei
bus indirizzi. Di conseguenza, solo la CPU pu assegnare bus indirizzi.
CPU
REGISTRI ALU CU
(controll unit)
Locazione di (aritmetic control unit)
Detiene il controllo di
memoria interna,
tutte le operazione
memorizzano i
che avvengono nella
dati temporanei
CPU e Controlla
che tutt venga svolto
correttamente
A e B Registri
R Risultato
Registri
Esistono due tipologie di registri, quelle visibili allutente (il programmatore) o quelli non visibili
allutente. Ad esempio, la PSW (Process Status Word) un registro che interviene quando il
processore esegue delle operazioni mascherando il bus di controllo (ignora fino al termine
delle operazioni i segnali delle componenti).
Abbiamo inoltre una serie di Registri di Scambio dati tra CPU e Memoria:
Memory Data Register (MDR) - Contiene i dati da inviare o inviati dalla RAM
Memory Address Register (MAR) - Contiene gli indirizzi di memoria
La Controll Unit prende i dati dalla MDR e gli indirizzi dalla MAR trascrivendoli rispettivamente
sul Bus Dati e sul Bus Indirizzi
Esistono anche dei Registri che svolgono funzioni analoghe a quelle svolte dalle MDR e MAR
ma lavorando su dispositivi I/O
I/O Data Register (IODR) - Contiene i dati da inviare o inviati dalla RAM
I/O Address Register (IOAR) - Contiene gli indirizzi di memoria
MAR MDR
Registri Generali IR PC
CONTROLL
UNIT
Registri Generali
ALU
PSW
Internal Bus
Istruzioni
I programmi sono sequenze di istruzioni, comandi che possono eventualmente operare su
dei dati. Ci sono pi tipi di comandi:
Trasferimento - Dal processore alla memoria e viceversa, dal processore alle periferiche
Input/Output e viceversa
Elaborazione Dati - Operazioni logico-aritmetiche
Controllo - Modifica la sequenza in esecuzione
Il set di istruzioni dipende dal processore e prende il nome di RISC (Redacter Instrucion Set
Computer)
Ad ogni istruzione assegnato un codice binario. Prende il nome di Dump della Memoria la
stampa o la visualizzazione a video del contenuto della memoria.
Formati
0 3 4 15
OP. CODE ADDRESS INSTRUCTION FORMAT
0 1
S MAGNITUDE INTEGER FORMAT
Interrupt e Trap
Sebbene lesecuzione delle istruzioni sia sequenziale, la realizzazione di un simile
comportamento del tutto ideale in quanto possono verificarsi degli eventi inattesi detti
Interrupt. Ne esistono di due tipi:
Interrupt - Interrupt propriamente detto, causato da dispositivi esterni. E un segnale
asincrono, che pu quindi arrivare in qualsiasi momento
Trap - Causati a livello software, molto spesso dovuti agli stessi programmi in esecuzione
Sono usati per migliorare lefficienza dellelaborazione dati, tuttavia linterruzione non pu
essere gestita in qualsiasi momento in quanto se questa si verificasse durante lInstruction
Fetch o durante lInstruction Decode si perderebbero dati irrecuperabili. E necessario quindi
un organo che provveda al mascheramento dellinterrupt quando opportuno
Gli interrupt possono essere cos classificati:
Programma (Errore di esecuzione, overflow)
Timer (Operazione pianificata, Timer Shot)
I/O (Interruzione dovuta a dispositivi I/O)
Errore Hardware
Problemi Fisici (Caduta di tensione)
Lunico momento in cui possibile gestire linterrupt quindi tra lInstruction Execute di una
operazione e lInstruction Fetch della successiva.
Linguaggi di Programmazione
Linguaggio Assembly - Linguaggio che ha una corrispondenza di 1 a 1 col linguaggio
macchina
Linguaggio C - Linguaggio di pi alto livello rispetto al linguaggio macchina che prescinde
dal tipo di macchina in quanto usa un linguaggio simbolico
N.B. non esistono memorie in grado di operare alla stessa velocit del processore
(Fenomeno del Collo di Bottiglia)
ROM
Contiene informazioni di base tra cui il BIOS (Basic Input Output System) che esegue la
ricognizione degli hardware connessi al pc. Verifica anche la presenza del S.O. Esistono
anche le memorie EPROM, che sono programmabili.
RAM
Nella RAM vengono memorizzati i programmi in esecuzione ed i dati su cui essi lavorano. I
principali parametri di una RAM sono:
Capacit di memoria (in GB)
Frequenza di lavoro (In MT/s, Milioni di Trasferimenti al Secondo)
Dimensione della parola
Frequenza del Front Side Bus
Numero di Trasferimenti per Ciclo
Moltiplicando gli ultimi tre parametri, si ha il Troughput, che consente una comparazione con
la CPU.
REGISTRI
CACHE
CD-ROM
NASTRI
VELOCITA DIMENSIONE
Memoria CACHE $
Tipo di memoria molto costosa e per questo in genere molto piccola. Si usa per tentare di
compensare la differenza di velocit tra il processore e la RAM. Ci sono due criteri con i quali
scegliere quali risorse allocare nella CACHE:
Principio di Localit Spaziale - E probabile che lindirizzo di memoria successivo sia
allocato nei pressi di quello appena preso in considerazione
Principio di Localit Temporale - E probabile che in un certo istante il programma in
esecuzione sia lo stesso che era in esecuzione allistante precedente
Se un dato presente nella memoria centrale piuttosto che nella memoria CACHE, si perde
tempo a cercarlo in questultima, senza trovarlo: si verificato un Miss e la presenza della
CACHE risultata inutile. In caso contrario si verifica un Hit con notevole risparmio in termini
di tempo.
Affinch la CACHE non risulti mai piena, necessario scegliere un Blocco Vittima da
Scartare. Esistono diverse modalit per la scelta del blocco vittima, lalgoritmo ideale ed
irrealizzabile quello detto di Belady che consiste nello scartare i blocchi che serviranno il pi
in l possibile; ma ci richiederebbe di sapere a priori le operazioni che si compiranno. Un
efficiente algoritmo quello detto LEAST RECENTLY USED che consiste nelleliminare il
blocco pi vecchio, ossia quello che nella sequenza posto ad un maggior numero di step
dal blocco che vogliamo inserire. Tuttavia, possono insorgere dei problemi se il blocco vittima
prescelto contiene un blocco non ancora salvato e quindi presente nella sola CACHE.
Esistono due politiche attuabili:
Whrite Back - Al decorrere di un determinato lasso temporale il contenuto della RAM viene
aggiornato a quello della CACHE. Ladozione di tale politica pu portare al fenomeno della
Perdita di aggiornamento
Whrite Through - Ad ogni modifica della CACHE da parte della CPU anche la RAM viene
aggiornata. Tali scritture avvengono alla velocit della RAM sebbene le letture avvengano
alla velocit della CACHE.
$ L2 SUDDIVISIONE $L1
IL1: Parte di $L1 dedicata agli
indirizzi
ID1: Parte di $L1 dedicata ai
dati
$ L2
RAM
Il dato viene prima cercato nella CACHE di livello 1, se assente la ricerca prosegue nella
CACHE di livello 2, se non viene ancora trovato si cerca nella CACHE di livello 3, e se ancora
il dato risulta assente lo si cerca nella RAM.
Tassonomia di Flynn
Single Instruction Single Data (SISD) - Rappresentativa dellarchitettura di Von
Neumann, macchine di tale tipologia possono svolgere una sola operazione alla volta su un
solo gruppo di dati
Single Instruction Multiple Data (SIMD) - In ogni istante svolge una singola istruzione su
gruppi di dati multipli
Multiple Instruction Single Data (MISD) - In ogni istante svolge istruzioni multiple su un
solo gruppo di dati. Attualmente macchine di questo tipo non hanno alcuna applicazione
pratica
Multiple Instruction Multiple Data (MIMD) - In ogni istante svolge istruzioni multiple su
gruppi di dati multipli. Possono essere formate da pi SISD Fortemente Accoppiate (Pi
CPU collegate ad una stessa RAM) o Debolmente Accoppiate (Ogni RAM ha la sua CPU
dedicata)
Dispositivi di Input/Output
Dispositivi esterni che vengono collegati tramite Porte di Comunicazione oppure
Direttamente sulla Scheda Madre. Le tecniche di gestione dellInput/Output sono:
Programmato (Busy Wait): Il dispositivo di I/O interpellato in maniera continuativa sino a
quando non disponibile. Tale tecnica da evitare in quanto impedisce alla RAM lo
svolgimento di altre operazioni
Interrupt Driven: Il dispositivo viene interpellato e gli viene chiesto di avvisare quando
risulta pronto. I Bus risultano in questo modo ancora occupati
Direct Memory Access (DMA) - Il dispositivo di I/O accede direttamente alla RAM senza
passare dalla CPU. Tale tecnica consente di lasciare liberi i Bus in quanto la periferica
montata direttamente sui Bus. E assimilabile alla presenza di un processore dedicato alla
periferica. Il DMA pu essere configurato in modalit Single Bus, in cui i bus vengono usati
due volte poich linformazione viaggia dellI/O al DMA e poi dal DMA alla RAM (il DMA
opera il furto dei cicli alla CPU); in modalit Single Bus con Controller, in modo da
riuscire a gestire pi periferiche I/O in modo che le informazioni viaggiono direttamente
dallI/O al DMA e poi sui Bus per raggiungere la memoria; o in modalit Doppio Bus, che
prevede un Bus dedicato ai dispositivi di I/O.
Scheda Video
Ha il compito di visualizzare i dati in memoria sullo schermo. Pu essere Integrata ossia fissa
sulla scheda madre in modo che sia la CPU a svolgere i compiti assegnati alla scheda
grafica; oppure Dedicata ossia dotata di una memoria video che immagazzina informazioni
relative alla visualizzazione grafica del dato elaborato.
Scheda Audio
Valgono le stesse considerazioni esposte per la Scheda Video
Monitor
Parametri Fondamentali:
Contrasto: Rapporto tra la luminosit del bianco e la oscurit del nero. Maggiore il
contrasto e migliore la visualizzazione
Linearit dei Grigi: Legge di variazione di tonalit dal bianco al nero
Angolo di visualizzazione
Tempo di Risposta: Tempo necessario al passaggio da un fotogramma allaltro. Tanto pi
maggiore, maggiori dettagli si coglieranno.
Hard Disk
Numero variabile di piatti di materiale ferromagnetico o vetro, i cui parametri fondamentali
sono:
Dimensioni Fisiche: 2,5 Per pc portatili, 3,5 per desktop
Capacit in GB
Velocit di Rotazione: in Rotazioni Per Minuto (RPM). Influisce sul Seek Time e sul
Rotational Delay (vedi dopo)
Seek Time: Tempo impiegato dalla testina per raggiungere, a partire dalla posizione di
riposo, la traccia di interesse
Rotational Delay: Tempo in cui la testina si posiziona sul settore di interesse
Transfer Time: Tempo necessario al trasferimento dati
Access Time: Somma di Seek Time e Rotational Delay
Stampanti
Inkjet - Getto ad inchiostro realizzato con dispositivo termico (pi preciso, ma crea
londulazione del foglio) o dispositivo piezoelettrico (meno preciso ma non crea
londulazione del foglio)
Laserjet - Rullo di vetro caricato elettricamente e ricoperto di polvere magnetica la quale
rimane impressa sul foglio in seguito della pressione del rullo sul foglio stesso. Stampanti di
questo tipo sono pi costose ma hanno uno costo duso inferiore ed una vita pi lunga.
4. Sistemi Operativi
I Sistemi Operativi
Le funzioni svolte dai sistemi operativi sono :
Gestione delle periferiche I/O
Gestione della memoria
Gestione delle risorse hardware di un calcolatore
Il Kernel
Moduli del sistema operativo il cui utilizzo di maggiore importanza. Vengono caricati nella
memoria centrale all'avvio del computer
Il Sistema operativo dirige la CPU nell'utilizzo di risorse del sistema e nella temporizzatore
dell'esecuzione dei programmi; decide quando un programma pu usare una risorsa,
sebbene il processore stesso sia una risorsa!
Multi-Tasking
Capacit della RAM di svolgere pi operazioni contemporaneamente. La gestione
dell'esecuzione affidata al Sistema Operativo, che opera tramite i WAIT, momenti durante i
quali i programmi sono in fase di attesa.
Processo
Un processo un programma in esecuzione. composto da:
Codici di Istruzioni
Dati (Variabili, Spazio di lavoro, Buffer)
Contesto di esecuzione (informazioni necessarie al sistema operativo per gestire il
processo. composto dal contenuto dei registri della CPU, dalle priorit, dallo stato di
esecuzione e dallo stato di attesa di un dispositivo I/O
Struttura di un Sistema Operativo
Abbandonato l'ormai obsoleto Schema a Cipolla, i moderni sistemi operativi adottano uno
Schema Modulare, ossia composto da moduli l'uno indipendente dall'altro (ma in costante
comunicazione) ognuno dei quali chiamato a svolgere una particolare funzione.
Event Open
t
ai
tW
en
Ev
Blocked
Context Switch
Operazione svolta dal Dispatcher, riguarda il passaggio dell'utilizzo della CPU da un
processo ad un altro. Di seguito la lista delle operazioni da svolgere:
Salvare il contesto del processo che abbandona la CPU
Cambio del valore di stato nel Programm Controll Block del processo che abbandona la
CPU
Spostare il PCB in una nuova coda oppure deallocare le sue risorse
Aggiornamento delle strutture dati della gestione della memoria
Selezione di un nuovo processo per lo stato di Running
Aggiornamento del suo stato nel PCB
-Ripristino del contesto
Il tempo necessario per effettuare il Controll Switch, detto Controll Switch Time definito
come Overhead, in quanto il sistema non svolge alcuna operazione utile all'avanzamento del
programma. Esso dipende dalla complessit del sistema operativo e dall'hardware, nostro
obbiettivo tentare di ridurlo.
Poich l'operazione di Context Switch svolta dal sistema operativo, si dice che esso
eseguito da Supervisore mentre i processi sono eseguiti in modalit Utente. Durante il
Controll Switch nessun processo in esecuzione. Il Controll Switch parte del kernel.
Scheduling
Lo scheduling a breve termine, operato dal dispatcher, eseguito molto frequentemente ed
invocato ogniqualvolta si verificano eventi quali:
Clock Interrupt
I/O Interrupt
O.S. Calls
Esistono varie tecniche di gestione del passaggio dallo stato di Ready a quello di Running:
Non Preemptive - Senza prelazione, strutturato in modo che un processo abbandoni la
CPU solo nel momento in cui ha terminato la sua operazione o se si verifica uninterruzione
da parte di periferiche I/O
Preemptive - Con prelazione, strutturato in maniera tale che un processo in running
possa essere interrotto o spostato nello stato di ready dal sistema operativo. La gestione
con prelazione se da un lato impedisce la monopolizzazione della CPU da parte di un
processo, dallaltro implica la necessit di una sincronizzazione tra processi che
condividano dei dati.
Nello Scheduling della CPU con Priorit un Numero di Priorit viene associato a ciascun
processo e la CPU viene allocata al processo che ha il numero pi basso. Se la gestione
poi preemptive, pu succedere che la CPU venga requisita per lazione di un processo con
numero di priorit pi basso. Le priorit possono essere definite internamente al SO facendo
riferimento a dati numerici oppure esternamente al SO in base alla rilevanza del processo o
alla sua criticit.
Tipologie di Scheduling
First Come First Served (FCFS) - Scheduling senza prelazione strutturato in maniera tale
che ogni processo che entra in coda in ready, e che quando la CPU cessa di essere usata
da un processo essa si allocata a quello che da pi tempo in coda. Questo genere di
scheduling favorisce i processi CPU Bound sfavorendo quelli I/O Bound o che comunque
usano poca CPU causando anche un pi elevato tempo media di attesa in coda. Adottare
una simile tipologia di scheduling comporta il cosiddetto Effetto Convoglio, ossia che tutti
i processi in coda attendano che il processo CPU Bound cessi. La resa del sistema
diminuita, inoltre lo sfruttamento dei componenti minore
Round Robin (Time Slice) - Scheduling con prelazione strutturato in modo che luso della
CPU venga requisito in base al superamento di un quanto prestabilito in clock (clock
interrupt). Al verificarsi dellinterrupt il processo in esecuzione viene spostato in ready
(gestita FIFO). Il tempo medio di attesa in coda definito dalla relazione (n-1)q dove q
rappresenta il quanto ed n il numero di processi. Va da se che per q troppo grandi si
degenera in FCFS, mentre per q troppo piccoli si verificano troppo context switch:
necessario trovare un compromesso.
A Code Multiple - La coda viene suddivisa in Foreground (Interactive), gestita in Round
Robin, e Background (Batch), gestita in FCFS. Anche alle code si applica il time slice (ad
esempio 80% del tempo va al foreground e il 20% del tempo a background)
Thread
I thread, anche chiamati Light Weight Process, sono dei processi che non possiedono
risorse, e lelemento che viene allocato solo una sequenza di istruzioni. E una traccia in
esecuzione di uno o pi programmi. I processi vengono solitamente suddivisi in thread (linee
di esecuzione) eseguibili separatamente. E detta Multi-Threading la capacit di un
processore di eseguire pi thread contemporaneamente.
Singolo processo, singolo thread - (MS-DOS)
Processi multipli, singolo thread - (UNIX)
Multi-Thread - (Windows, Mac)
I file, oltre al loro contenuto, sono correlati di informazioni complementari che il File System
gestisce:
Struttura
Nome
Tipo di accesso
Protezione
I nomi dei file hanno due parti, il Nome vero e proprio e lEstensione. Ogni file composto
da un Header, che comprende dimensione, codifica del file e data; e della Informazioni che
costituiscono i dati veri e propri.
I file possono avere Path Relativi allambiente in cui si trovano, o Path Assoluti ossia legati
alla Root.
5. Analisi e Programmazione
Algoritmo: Elenco finito di istruzioni seguendo le quali possibile risolvere dei problemi. Un
algoritmo non pu essere compreso dal calcolatore. Un Programma un insieme di
istruzioni comprensibili dal calcolatore; un Linguaggio di Programmazione ci che
permette di rendere comprensibile un algoritmo ad un calcolatore.
Problema--->Analisi--->Algoritmo--->Programmazione--->Programma--->Elaborazione(<---Dati)--->Risultati
Istruzioni
Le istruzioni si suddividono in:
Istruzioni Operative - Producono un risultato
Istruzioni di Controllo - Controllano il verificarsi di determinate condizioni che
determinano il flusso di istruzioni da eseguire. Il controllo pu essere Condizionato, ossia
che avviene solo al verificarsi di determinate situazioni, Non Condizionato, ossia che
avviene a prescindere
Istruzioni di Ingresso ed Uscita - Istruzioni volte alla comunicazione con lesterno;
Istruzioni di Inizio e Fine esecuzione
Vettori
Un vettore, o Array, un insieme finito di elementi omogenei tra loro. La sua dimensione
costituisce un limite invalicabile
Funzioni e Procedure
Funzione
TIPO NOMEFUNZIONE(lista dei parametri formali)
Procedura:Funzione che non restituisce alcun valore.
void NOMEFUNZIONE (lista dei parametri formali)
I File - Struttura di Record Sequenziale(per leggere un record devo leggere prima tutti gli
altri )
Di Testo: Contengono testo con codifica ASCII
Binari: Sequenze di bit con codifica da specificare
PRO:
Economicit: pochi calcolatori di grande potenza svolgono le funzioni di server e i singoli
calcolatori individuali quello di client
Aumento delle performance dei singoli calcolatori individuali
Client/Server
Laccesso da porta di un client ai servizi di un server pu essere libero o controllato dal
server. Un nodo pu essere contemporaneamente sia client che server
Internet Work: Connessione tra le diverse reti. Spesso abbreviato in internet; Internet
una delle tante reti internet esistenti ed a diffusione mondiale.
Modulazione
Le seuqunze di bit vengono convertite in segnale analogico (e quindi continuo) di
trasmissione. Si utilizzano segnali periodici detti portanti e i bit vengono codificati variando
ampiezza, frequenza o fase dei segnali portanti.
Demodulazione
Conversione opposta alla modulazione, avviene in ricezione.
Il dispositivo che opera la modulazione e la demodulazione prende il nome di modem.
Cavo Coassiale: Cavo in rame portante centrale,isolato e dotato di una calza per
lisolamento da interferenze esterne ed isolato esternamente. Impiega come segnale unonda
elettromagnetica e raggiunge velocit di 10-12 Mbps.
Fibra Ottica: Fasci di fibre ottiche allinterno di materiale riflettente. Il segnale utilizzato , in
questo caso unonda elettromagnetica nello spettro del visibile (luce) emessa da dispositivi in
grado di produrre segnali ottici (diodi fotoelettrici). La propagazione di un segnale ottico pu
avvenire in maniera Monomodale, in cui presente un solo raggio ottico; e Multimodale in
cui molti raggi ottici sono posti allinterno dello stesso filo. Tra i vantaggi della fibra ottica
abbiamo la velocit, dellordine dei Gbps, unattenuazione del segnale quasi nulla,
immunit ai disturbi elettromagnetici, sicurezza della rete, la quale non trasporta
energia, e sicurezza dal punto di vista della privacy. Tra gli svantaggi abbiamo il costo, e
la difficolt di messa in posa.
Il Modem ADSL
Il doppino telefonico stato progettato per la comunicazione vocale che utilizza frequenza
fino ai 4000 Hz. I vecchi modem, sfruttando la stessa banda di frequenza della trasmissione
vocale, inpedivano limpiego simultaneo di Internet e Telefono. In seguito si comprese che era
possibile sfruttare frequenze di trasmissioni pi alte, rendendo possibile tale utilizzo
simultaneo. Ci per garantito solo allinterno dellUltimo miglio, ossia la distanza che va
dal domicilio dellutente fino alla centrale telefonica. Le prestazioni ottenibili sono legate alla
distanza dalla centrale, dalla presenza di interferenze e dal numero di utenti connessi. In
questo modo viaggiano segnali digitali
Sistemi Wireless
Infrarossi: Necessita che i calcolatori siano in vista luno con laltro. Molto usato in ambito
militare poich difficilmente intercettabile.
Wireless-Fidelity (Wi-Fi): Wireless LAN, con una portata di 35/100 metri. Per aumentare il
range di connettivit di un singolo Access Point va aumentata la potenza dello stesso;
tuttavia essa non pu superare dei ben delimitati valori imposti dalla legge (100 mW) per
ragioni di sicurezza legati al rischio elettromagnetico quindi si procede ad inserire pi
access point connessi tra loro.
Wi-Max: Estensione metropolitana del Wi-Fi, raggiunge i 70 Mbps.
Reti Cellulari: GSM, GPRS, UMTS
Topologia a Bus
Il problema : come collegare tra loro le diverse reti, le quali differiscono per mezzo e
topologia? Si fa ricorso ad un Hub, un nodo che smista i dati tra le diverse reti. Ne esistono
di due tipi, Attivi, che amplificano il segnale; e Passivi, che non lo fanno.
Protocolli
Insieme di regole che controlla lo scambio di dati. Ci sono diversi tipi ISO-OSI
di protocolli, ma tutti fanno riferimento allo Standard ISO-OSI
(International System Organization Open System Interconnection, 7 APPLICAZIONE
interconnessione tra sistemi aperti e quindi non-proprietari) che 6 PRESENTAZIONE
5 SESSIONE
organizzato su 7 livelli e che definisce per ognuno di essi degli
4 TRASPORTO
standard e delle funzioni. Lo scopo di ogni livello quello di fornire al
3 NETWORK
livello superiore dei servizi mascherando la maniera in cui essi sono 2 DATA LINK
stati ottenuti ma passando dei dati ai livelli sottostanti fino al 1 FISICO
raggiungimento del livello fisico che effettua la trasmissione.
Livello 1 - Fisico
Costituito dal Canale di Comunicazione, si occupa del trasferimento di sequenze di bit sul
mezzo stesso.
Livello 2 - Datalink
Livello Hardware, si occupa della trasmissione di pacchetti, di cui deve identificare inizio e
fine. Gestisce il controllo del flusso e gli eventuali errori di trasmissioni effettuando, se
necessario, la ritrasmissione dei pacchetti.
Livello 3 - Network
Si occupa dellinstradamento dei pacchetti. Ha il compito di conoscere la topologia della rete
(sino al server del provider) in modo da poter individuare il cammino migliore per ogni
pacchetto.
Il Relayng, linoltramento effettuato ad opera delle Entit di Relayng, i quali sono in grado
di inoltrare i dati ad altre entit, le quali a loro volta o conoscono il percorso che i dati devono
seguire o sono a loro volta entit di relayng. Il Relayng pu avvenire a diversi livelli del
protocollo ISO-OSI, ed in base ad esso lentit che lo opera acquista nomi diversi:
Repeater se il relayng avviene al livello Fisico
Bridge se il relayng avviene al livello Datalink
Router se il relayng avviene al livello Network
Gateway se il relayng avviene al livello Applicazione
Il router inteso come oggetto fisico, anchesso un nodo, ma dispone dei soli primi 3 livelli.
Esso opera per mezzo di tabelle che descrivono la topologia della rete e che in base alla loro
natura statica o dinamica ne prende il nome:
un Router Statico un router la cui tabella invariabile nel tempo. Qualora sulla rete si
dovesse verificare un guasto, esso non in grado di rendersene conto e continuer ad
inviare pacchetti senza che questi giungano a destinazione.
un Router Dinamico un router la cui tabella cambia in maniera periodica e in base a
degli algoritmi di routing viene sempre cercata la strada pi efficiente.
Livello 4 - Trasporto
Fornisce un canale sicuro per il trasferimento dei dati end to end, svincolando tutti gli strati
superiori dai problemi di rete. Una tipica funzione adattare la dimensione dei frammenti
forniti dagli strati superiori (FILES) a quella richiesta dalla rete (PACCHETTI). Le due operazioni
mutue si chiamano Frammentazione e Riassemblamento. I pacchetti possono non
rispettare lordine di invio.
Livello 5 - Sessione
Si occupa dellorganizzazione del dialogo e della sincronizzazione tra due programmi e del
conseguente scambio di dati. Una sessione deve essere individuata, eventualmente
interrotta, e ripresa per far fronte a vari eventi catastrofici. Permette la chiusura ordinata
(SOFT) della conversazione, garantendo che tutti i dati inviati siano giunti a destinazione.
Individua punti di sincronizzazione e sottopone a turno (tokon) il diritto.
Livello 6 - Presentazione
Adotta il formato dei dati usato dai due calcolatori preservandone il significato. Ogni
interlocutore ha una sua sintassi locale e durante il dialogo bisogna concordare una sintassi
di trasferimento. Gestisce la sintassi dellinformazione da trasferire. Abbiamo tre diverse
sintassi:
A strato - Definizione formale dei dati che gli applicativi si scambiano
Concreta Locale - Si occupa di come i dati sono rappresentati localmente
Di trasferimento - Si occupa di come i dati sono codificati durante il trasferimento
Qual la parte pi significativa della parola? A seconda di questa definizione capiamo in che
modo dobbiamo leggere la parola (Sistemi di Griglia).
Livello 7 - Applicazione
Rappresenta il programma applicativo che per svolgere i suoi compiti ha bisogno di
comunicare con le altre applicazioni.
Ogni livello del modello ISO-OSI ha limpressione di dialogare con il corrispondente livello del
destinatario tramite linterfaccia fornita dal livello sottostante. (Macchina Astratta).
Messaggi e Pacchetti
La comunicazione tra nodi avviene mediante lo scambio di messaggi, secondo protocolli
comuni. I messaggi vengono suddivisi in pacchetti, sequenza di byte, in genere di lunghezza
fissa e composti da byte di controllo allinizio (header), byte di controllo alla fine (tail) e dati al
centro. I Byte di Controllo contengono dati circa:
Inizio del pacchetto
Mittente
Destinatario
Controllo di Correttezza
Fine del pacchetto
Controllo di Correttezza: Meccanismi che consentono di rilevare se uno o pi bit sono stati
alterati durante la trasmissione
Tipologie di Protocolli
Per tutti i livelli superiori al livello fisico sono definite due modalit operative:
Connessa (Connession Orientated) - Costituita da tre momenti principali, ossia creazione
della connessione (si concorda lo scambio dei dati e vengono definiti gli indirizzi delle
Entit); trasferimento dei dati (i pacchetti inviati sono ricevuti nello stesso ordine. In caso
di errore la connessione pu essere riavviata o terminata. Per verificare che tutti i pacchetti
giungano a destinazione correttamente, un servizio utilizza degli schemi di numerazione dei
pacchetti e di verifica dellavvenuta corretta ricezione, gli ACK, acknowledgment); chiusura
della connessione
Non Connessa (Connessionless) - La spedizione di un pacchetto non seguita da alcun
riscontro diretto. Il pacchetto deve contenere lindirizzo completo del destinatario e non pu
fare riferimento a pacchetti precedenti o successivi.
IP (Internet Protocol) - Livello 3, rete. Gestisce il routing dei singoli pacchetti (dinamico). Pu
modificare una route se una connessione viene interrotta oppure in base alle condizioni di
traffico. E molto affidabile ed ogni nodo ha un suo indirizzo IP a 4 byte. E quindi composto
da 4 numeri, ognuno dei quali compreso tra 0 e 255. I primi due numeri indicano una rete, il
terzo numero una sottorete ed il quarto numero identifica la posizione del calcolatore
allinterno della rete stessa.
Router: Dispositivo che si occupa di instradare i pacchetti tra due o pi sottoreti limitrofe con
rispettivo indirizzo oppure a sottoreti non limitrofe tramite tabelle di instradamento.
TCP (Transfer Control Protocol) - Livello 4, trasporto. I dati sono suddivisi in pacchetti di
identica dimensione. Si tratta di un protocollo orientato alla connessione ed ogni pacchetto
inviato separatamente: i pacchetti di uno stesso messaggio possono seguire percorsi diversi.
Il controllo degli errori avviene tramite Checksum. I Numeri di porta permettono
lidentificazione allinterno dellindirizzo IP dellapplicazione di livello superiore che deve
interagire. Un Host ha di solito diverse porte attive:
Crittografia Asimmetrica
Ogni titolare dispone di due chiavi, una privata, custodita sulla smartcard (o USB) il cui
accesso possibile solo con il PIN ed usata per la generazione della firma; una pubblica,
custodita e pubblicata dallente certificatore, viene usata per verificare la firma. Le due chiavi
sono correlate in maniera univoca e dalla chiave pubblica non possibile risalire alla chiave
privata.
Processo di Firma
Viene calcolata limpronta digitale del documento con un algoritmo di Hash che
restituisce una stringa funzione del documento.
La Stringa viene cifrata usando lalgoritmo a chiave asimmetrica usando la chiave privata. Il
risultato la firma digitale del documento.
La firma viene allegata al documento
Al documento allegato il certificato e la chiave pubblica
Il documento trasmesso al destinatario
Posta Elettronica Certificata (PEC) - Permette di dare ad un messaggio di posta
elettronicalo stesso valore legale di una raccomandata AR. La PEC pu aggiungere la
certificazione del contenuto del mittente solo se in combinazione con la firma elettronica
certificata. Al momento dellinvio di una mail PEC il gestore PEC del mittente invia a
questultimo una ricevuta che costituir la prova dellavvenuta (o mancata) trasmissione del
messaggio con la precisa indicazione temporale del momento in cui la mail srara inviata. Il
gestore del destinatario, dopo aver depositato il messaggio PEC nella casella, fornir al
mittente una ricevuta di avvenuta consegna con lindicazione temporale di quando la
consegna avvenuta. Se il destinatario non dispone di una casella PEC il mittente non
ricever alcuna documentazione circa lavvenuta ricezione. Questo servizio pu essere
erogato solo da gestori accreditati presso il CNIPA e tramite domini dedicati. La PEC
garantisce i livelli minimi di sicurezza stabiliti dalla legge e lopponibilit a terzi delle operazioni
di invio e ricezione. Non garantisce circa lavvenuta lettura