Sei sulla pagina 1di 110

Corso Informatica di Base

Definizioni, Classificazioni e componentistica Hardware

Alcune Definizioni
INFORMATICA: scienza e tecnica che tratta l'elaborazione automatica dei dati e dei
procedimenti di calcolo

CALCOLATORE O ELABORATORE ELETTRONICO: macchina elettronica in grado di


manipolare automaticamente informazioni, eseguendo operazioni su dati forniti in ingresso
(input), per ottenere dei risultati emessi come dati in uscita (output)

PROGRAMMA: insieme di istruzioni che possono essere eseguite da un elaboratore elettronico.

PROGRAMMATORE: Si occupa di realizzare operativamente le applicazioni, scrivendo le


istruzioni sotto forma di linee di codice basate su specifici linguaggi di programmazione.

SOFTWARE: è un programma o un insieme di programmi in grado di funzionare su un computer


o qualsiasi altro apparato con capacità di elaborazione

Viene in generale suddiviso in:

• software di base o di sistema: Indispensabile al funzionamento del computer.

• software applicativo: Programma, scritto in qualsiasi linguaggio di programmazione, predisposto


per risolvere problemi specifici.

FIRMWARE:Software registrato in una memoria particolare del computer, o di una periferica, e


che comprende le istruzioni basilari per la "vita" della stessa. L'esempio più noto è il BIOS, che il

computer esegue al proprio avvio.

HARDWARE: Dall'inglese hard (solido) e ware(componente). Tutto ciò che in un computer si

riconosce fisicamente e quindi tutte le periferiche, le parti elettriche, meccaniche, elettroniche ed


ottiche.

Hardware interno dell’elaboratore

–Unità centrale di elaborazione (CPU)

–Memoria

–Disco Fisso (HDD)

–Scheda madre

Hardware esterno dell’elaboratore

–Tastiera

–Mouse

–Monitor

–Stampante

Multitasking
Il multitasking informatico è il processo in cui più di un programma viene eseguito
contemporaneamente da un computer.

All'inizio della storia dell'informatica, il multitasking era quasi sconosciuto e per decenni è stato
relegato in mainframe di fascia alta e non disponibile nel personal computer.

Con l'avanzare della tecnologia, il multitasking è diventato disponibile e si è rapidamente evoluto

nello standard di settore per i personal computer. A partire dal 2011, anche dispositivi come gli

smartphone sono spesso in grado di eseguire il multitasking, consentendo agli utenti di navigare
in Internet e ascoltare musica in streaming allo stesso tempo, ad esempio..

Quando il multitasking era nelle prime fasi di sviluppo, si chiamava time-sharing, un termine che
faceva riferimento al modo in cui più programmi o processi condividevano la potenza della CPU.
Abbastanza presto, questo termine è stato soppiantato dal termine contemporaneo multitasking,
sebbene nelle sue prime versioni il multitasking non fosse un vero multitasking ma un rapido
passaggio tra applicazioni che sembravano simultanee.
• I computer moderni con un solo processore sono in grado di far sembrare di essere in grado
di eseguire più attività contemporaneamente utilizzando questa tecnica.

• I computer con più processori hanno due o più processori separati collegati tra loro.

Questi sistemi, che sono diventati più comuni e più avanzati all'inizio del XXI secolo, sono capaci
di un vero multitasking, sebbene in pratica non vi siano differenze osservabili, a parte il

miglioramento delle prestazioni, nel modo in cui questi sistemi funzionano rispetto ai sistemi a
singolo processore. Tuttavia, i processori multipli consentono l'esecuzione simultanea di molti
programmi diversi.

La memoria di sistema limita ancora il multitasking del computer.

Le prestazioni del computer sono dettate dalla velocità del processore, ma il numero di
programmi che un determinato processore può eseguire contemporaneamente è anche limitato
dalla quantità di memoria di sistema occupata da questi programmi.

Multithreading
Che cos'è il sistema operativo Multithreading? Un flusso di controllo è chiamato thread.

Un programma è un insieme di istruzioni che costituiscono parti diverse di un singolo programma.

Ogni parte diversa del programma viene definita thread del programma. Un processo che ha
un solo flusso di controllo è indicato come un singolo thread.

Un processo che ha più flussi di controllo è indicato come multithread singolo

Esempio di Multithread in un programma:


in un word processor, un thread(t1) serve per visualizzare la grafica, il secondo thread (t2) per
leggere le sequenze di tasti dell'utente e un terzo thread (t3) per eseguire il controllo ortografico e
grammaticale in background

Multithreading nel sistema operativo


I Thread vengono visti come processi figli che utilizzano le risorse del processo padre ma
vengono eseguiti da soli. Ma nel caso di una GUI, se stiamo eseguendo un calcolo sulla GUI (che
sta impiegando molto tempo per terminare) non possiamo interagire con il resto della GUI fino a
quando questo comando non termina la sua esecuzione. Per poter interagire con il resto della
GUI, questo comando deve essere assegnato a un altro thread separato.

Quindi, in questo momento, verranno eseguiti due thread, ovvero uno per il calcolo e uno per il
resto della GUI. Quindi per un singolo processo, utilizziamo più thread per più funzionalità.

Vantaggi del sistema operativo multithreading


Reattività: consente a un programma di continuare la sua esecuzione anche se parte di esso è
bloccata o sta eseguendo un'operazione prolungata aumentando così la capacità di risposta
dell'utente.

Condivisione delle risorse: la memoria e le risorse del processo condivise dai thread a cui
appartengono. Utilizzo dell'architettura multiprocessore -Nell'architettura multiprocessore

ogni thread può essere eseguito in parallelo su un diverso processore. Il multithreading su una

macchina multi-CPU aumenta la concorrenza.

Differenze chiave tra multitasking e multithreading nel sistema operativo


•La differenza fondamentale tra multitasking e multithreading è che nel multitasking, il sistema
consente di eseguire più programmi e attività contemporaneamente, mentre, nel multithreading, il
sistema esegue più thread dello stesso o di diversi processi allo stesso tempo.

•Nel multitasking, la CPU deve passare da più programmi in modo che appaia che più programmi
sono in esecuzione contemporaneamente. Nel multithreading la CPU deve passare tra più thread
per far sembrare che tutti i thread siano eseguiti contemporaneamente.

•Nel multitasking alloca memoria e risorse separate per ogni processo / programma mentre, nei

thread multithreading appartenenti allo stesso processo,condivide la stessa memoria e le stesse


risorse del processo.

Grafico comparativo
Multitasking Multithreading

Di base Il multitasking consente alla CPU Il multithreading consente alla


di eseguire più attività CPU di eseguire più threaddi un
contemporaneamente. processo contemporaneamente.
commutazione Nella CPU multitasking si passa Nella CPU multithreading passa
frequentemente da un frequentemente tra i thread.
programma all'altro.

Memoria e risorse Nel sistema multitasking è Nel sistema di multithreading è


necessario allocare memoria e necessario allocare memoria a un
risorse separate per ogni processo, più threaddi quel
programma che la CPU sta processo condividono la stessa
eseguendo. memoria e le risorse allocate al
processo.

Multiutenza
Multiutenza:Modalità in base alla quale più utenti collegati possono contemporaneamente

contendersi l’uso delle risorse del sistema

Struttura di un calcolatore
Un calcolatore digitale è un sistema composto da processori, memorie e dispositivi di input/
output (I/O) collegati tra loro.

Questa organizzazione (con l’unica differenza del bus) è uguale a quella della macchina di Von
Neumann.

Questa organizzazione è detta “bus oriented”. Un bus è un insieme di connessioni elettriche (fili)
parallele utilizzate per trasportare tutte le informazioni da un componente all’altro.

Il numero di bus, di processori e di memorie può variare.

ATTENZIONE: questa organizzazione è la più utilizzata ma non l’unica

TIPI DI ELABORATORI
Gli elaboratori si differenziano in base alla velocità di elaborazione, alla capacità di memoria,
alla tipologia dei processori, al costo e agli impieghi tipici
•Supercomputer

•Mainframe

•Minicomputer

•Workstation

•Personal Pc

Supercalcolatori: elaboratori progettati per ottenere potenze di calcolo estremamente elevate,


dedicati ad eseguire calcoli particolarmente onerosi. Sono dotati di più unita centrali e si basano
su particolari architetture parallele. Trovano utilizzo nei campi della meteorologia, della

fisica della chimica e militare

Mainframe:
•computer utilizzati per applicazioni critiche soprattutto da grandi aziende e istituzioni,
tipicamente per elaborare con alte prestazioni ed alta affidabilità grandi moli di dati, come ad
esempio nelle transizioni finanziarie, nei censimenti e nelle statistiche.

•in grado di servire contemporaneamente migliaia di utenti connessi ad esso attraverso dei

terminali.

Minicomputer
•elaboratore strutturalmente analogo al mainframe. È composto da un computer centrale con
terminali e dispositivi collegati tra loro. Differisce dal mainframe, nella potenza di calcolo, nel
numero di processori e nella capacità di memoria.

•Utilizzato dalle piccole e medie imprese

Network computer
•Sviluppato per essere utilizzato esclusivamente in congiunzione con una connessione a una rete

telematica.

•Elaboratore che funziona in simbiosi con un elaboratore centrale, detto server, da cui preleva le
applicazioni.

•Le applicazioni, contenute in un unico cervello centrale, vengono sempre eseguite sui computer

locali.

•I terminali locali possono anche non avere capacità autonome di elaborazione e sono spesso

costituiti solamente da una tastiera e uno schermo.

Elaboratori Monoutente
Pc (personal computer)
• Elaboratori di uso generale.

• Costo medio basso

• Elaboratore da scrivania spesso non spostabile

Laptop: elaboratore leggero, manegevole spostabile.PDA (personal digital assistant)


• Dispositivo di dimensioni ridotte, con risorse limitate, tipicamente touchscreen e dotato di un
SO apposito

• Possono connettersi ad internet

• Hanno funzione di PIM fornendo funzioni di agenda lista task, calcolatrice e sveglia/allarme

La CPU
L'unità centrale di elaborazione (CPU) è costituita dal microprocessore, l'elemento che
caratterizza le prestazioni dell'intero PC.

Il suo scopo è quello di eseguire i programmi e gestire gli altri componenti del computer.

Il microprocessore è un componente integrato di transistor e di altri elementi atti a costituire i


circuiti logici che presiedono al funzionamento dell’intero elaboratore.

Organizzazione di un Processore
Un processore, CPU, esegue una sequenza di istruzioni (programma) prelevate da una memoria.

La memoria è esterna alla CPU.

La sequenza di operazioni per elaborare una singola istruzione prende il nome di instruction
cycle.

Instruction Cycle
È suddiviso in due cicli:

•fetch cycle: la CPU legge dalla memoria l’istruzione che deve essere eseguita

•execution cycle consiste in:

–decodifica dell’istruzione da eseguire.

–lettura degli operandi dell’istruzione.

–esecuzione dell’operazione.

Componenti della Cpu


ALU

–Svolge le operazioni aritmetiche, logiche

Registri
–Più veloci della memoria principale

–registro contatore (PC = programcounter)

–registro accumulatore (A)

–registro istruzione (IR)

–Un registro è in grado di contenere un numero di bit diverso a seconda del tipo di CPU.

–Registri a 8, 16, 32, 64 bit

Unità di controllo (Control Unit)


–Esegue le istruzioni secondo il ciclo: prelievo, decodifica, esecuzione (fetch, decode, execute)

Registri
Il registro più importante è il Program Counter (PC) che indica la prossima istruzione da eseguire.

L’Instruction Register (IR) è il registro che memorizza l’Registri

Esecuzione di una Istruzione

1) la CPU mette il valore di PC (indirizzo della prossima istruzione da leggere dalla memoria) su
MAR e attiva la linea Leggi;

2) la memoria attraverso il bus indirizzi accede a MAR e, una volta reperito quanto richiesto, lo
scrive su MDR attraverso il bus dati;

3) la CPU copia su IR il valore di MDR e decodifica l'istruzione;

4) l'istruzione passa in esecuzione sulla ALU;

5) se l'istruzione prevede la lettura di operandi dalla memoria, questi devono essere caricati sui
registri; per ciascun operando da reperire:

• la CPU mette l'indirizzo dell'operando su MAR e attiva la linea Leggi;

• la memoria attraverso il bus indirizzi accede a MAR e, una volta reperito quanto richiesto, lo
scrive su MDR attraverso il bus dati;

• la CPU copia sul registro destinazione il valore dell'operando che è in MDR;

6) terminata l'esecuzione la CPU copia sul registro destinazione il valore prodotto dalla ALU; se è
prevista scrittura in memoria del valore calcolato:

• la CPU mette l'indirizzo della cella di destinazione su MAR e il risultato su MDR e attiva la linea
Scrivi;

• la memoria attraverso il bus indirizzi accede a MAR, attraverso il bus dati a MDR e, una volta
reperito il valore in MDR, lo scrive sulla propria cella interna indicata da MAR;

7) Si ritorna al punto 1 dopo aver aggiornato il valore di PC (prossima istruzione da eseguire).

Control Unit
Set di istruzioni: insieme di istruzioni binarie che una CPU sa eseguire.

Le istruzioni sono riconosciute dall’unità di controllo.

Le istruzioni e la loro complessità variano in base all’architettura della cpu.

Tipologie CPU
•CISC: Un'architettura cisc (Complex Instruction Set Computer) è dotata di un set di istruzioni
che consentono di eseguire operazioni complesse. I microprocessori con questa architettura
erano pensati per essere programmati in assembler e quindi il progettista metteva a disposizione
del programmatore istruzioni anche molto complesse.

•RISC: RISC, acronimo dell‘inglese Reduced Instruction Set Computer, indica una filosofia di
progettazione di architetture per microprocessori formate da un set di instruzioni contenente
istruzioni in grado di eseguire operazioni semplici che possono essere eseguite in

tempi simili.

Interrupt
È un evento che interrompe il normale funzionamento della CPU

In risposta ad un interrupt, la CPU sospende l’esecuzione del programma corrente ed esegue il


programma di gestione dell’interrupt: interrupt handler

Al termine dell’interrupt handler, la CPU riprende l’esecuzione del programma interrotto.

La presenza di un interrupt viene identificata alla fine di ogni instruction cycle

Evoluzione CPU
Nome Data Transistor Micron ClockSpeed Data width MIPS

8080 1974 6.0006 6 2Mhz 8 bits 0.64

8088 1979 29.000 3 5Mhz 16 bits


0.33
8-bit bus

80286 1982 134.000 1.5 6Mhz 16 bits 1

80386 1985 275.000 1.5 16Mhz 32 bits 5

80486 1989 1.200.000 1 25Mhz 32 bits 20

Pentium1 1993 3.100.000 0.8 60Mhz 32 bits 100

Pentium II 1997 7.500.000 0.35 233Mhz 32 bits


-300
64 –bit bus

Evoluzione CPU
Nome Data Transistor Micron ClockSpeed Datawidth MIPS

Pentium III 1999 9.500.000 0.25 450 Mhz 32 bits64-bit ~510


bus

Pentium 4 2000 42.000.000 0.18 1.5 Ghz 32 bits64-bit ~1.700


bus

Core 2 Duo 2006/2008 410.000.000 0 . 045 3.3 GHz 32/64 bits ~22.305

Core 2 Quad 2008/2009 820.000.000 0 . 045 2.6 / 3 Ghz 32/64 bits

Core i5 2009/2010 774.000.000 0 . 045 2.6/3.2 GHz

Core i3 2009/2010 774.000.000 0 . 035 3.2 GHz


Parallelismo
Per migliorare le prestazioni di un calcolatore si possono seguire più strade:

Nel parallelismo a livello di istruzione più istruzioni vengono eseguite

contemporaneamente all’interno della stessa CPU tramite tecniche di pipelining e processori


superscalari

Nel parallelismo a livello di core o di processore più core/CPU cooperano per la soluzione dello

stesso problema.

Aumento frequenza di clock


Nel 2004 con il Pentium 4 sono state raggiunte frequenze di circa 3.8 GHz, che negli anni
successivi sono state superate solo di poco.

Nel futuro la frequenza di clock non potrà aumentare

significativamente (a meno di scoperte scientifiche straordinarie); infatti siamo oramai giunti nei
pressi dei limiti fisici:

•le alte frequenze creano disturbi e aumentano il calore da dissipare

•ci sono ritardi nella propagazione del segnale

•bus skew(i segnali su linee diverse viaggiano a velocità diverse): problemi di sincronizzazioni.

Pipelining
Con la tecnica del pipelining l’esecuzione di ogni istruzione viene suddivisa in più fasi (chiamate

stadi) ognuna delle quali viene gestita da un hardware dedicato.

Se il ciclo di clock della macchina è di 2 nsecsono necessari 10 nsec per completare


l’esecuzionedella prima istruzione (nessun risparmio rispetto all’assenza di pipelining), ma una
volta riempita la pipeline, si completerà una istruzione ogni 2 nsec. È necessario garantire che le
istruzioni non siano in conflitto ossia che non dipendano l’una dall’altra. In caso contrario sarà
necessario attendere il completamento dell’istruzione precedente prima di avviare la successiva.

È anche possibile avere più di una pipeline:

Vengono lette due istruzioni alla volta che vengono eseguite su pipeline diverse. Anche in questo
caso è necessario gestire eventuali conflitti tra le istruzioni.

Evoluzione CPU
In origine le CPU avevano un singolo core (l’unità di elaborazione presente in ogni CPU), ma
grazie alla miniaturizzazione dei transistor, dal 2005 in poi “avanzò” abbastanza spazio nelle
CPU per integrare un nuovo core oltre a quello già presente:

erano nate le CPU multi-core, che avrebbero davvero rivoluzionato le performance delle CPU
sia su PC sia, dopo alcuni anni, su smartphone e tablet.

Evoluzione CPU Core i3 i5 i7


L’appartenenza a una famiglia anziché all’altra è data dall’insieme di molti elementi:

il numero di core, la loro velocità massima, la presenza o meno dell’hyper threading, la


presenza e velocità del Turbo Boost, e la dimensione della cache.

Nota bene quanto detto è solo indicativo.

Il numero di core: Un core si può definire come un “cervello”, e più “core” sono disponibili,
maggiori sono le prestazioni. I processori Core i7 sono dotati di quattro core, così come i Core i5.
I Core i3 ne hanno invece 2, così come i Pentium. I processori Core i7 e i Core i3 hanno però
l’HyperThreading, che non presente sui Core i5 e i Pentium.

L’Hyper Threading è una tecnologia in grado di “raddoppiare”

il numero dei core disponibili, ma lo fa in maniera “virtuale”.

Non è indispensabile e non regala mai più del 10% di potenza, ma può essere utile in alcuni
scenari in cui è richiesto un uso elevato di

thread (macchine virtuali, NAS, CAD, elaborazione video etc.) ed è di solito presente solo nelle
CPU Intel Core i7 di fascia alta

Il Turbo Boost, è quella funzione che permette, in condizioni di operazioni poco complicate, di
aumentare la velocità della CPU per un determinato periodo di tempo. Possiamo però dire che,
tendenzialmente, i processori di fascia più alta di ogni famiglia tendono a raggiungere velocità
nominali e in Turbo Boost superiori, anche se di poco, rispetto alle famiglie minori.

Nuove CPU I9
Nome Stato Data di Numero di Frequenza Frequenza Cache
prodotto lancio core turbo base del
massima processore

Processore Launched Q2’19 8 5,00 GHz 2,40 GHz 16 MB intel


intel Core
smart Cache
i9-998OHK
Processore Launched Q2’19 8 4,80 GHz 2,30 GHz 16 MB intel
intel core
smart Cache
i9-98BOH

Processore Launched Q2’19 8 4,40 GHz 2,10 GHz 16 MB intel


intel core
smart Cache
i9-9900T
Intel Core
Launched Q4’19 8 5,00 GHz 4,00 GHz 16 MB intel
I9-99O0KS
smart Cache
Processor

processore Launched Q1’19 8 5,00 GHz 3,60 GHz 16 MB intel


intel core
smart Cache
i9-9900KF
Processore Launched Q4’18 8 5,00 GHz 3,60 GHz 16 MB intel
intel core smart Cache
i9-990OK

processore Launched Q2’19 8 5,00 GHz 3,10 GHz 16 MB intel


intel core smart Cache
i9-9900

Prestazioni Microprocessore
Le unità di misura per valutare le prestazioni di un microprocessore sono:

•MHz (megahertz) non rappresentano un parametro molto significativo in quanto indicano


solamente il ritmo interno di lavoro del microprocessore e non specificano quanti cicli occorrono
per eseguire le varie istruzioni.

•MIPS (Million Instructions Per Second) indicano il numero di istruzioni al secondo che il
microprocessore è in grado di eseguire;

MIPS = numero istruzioni / tempo di esecuzione * 106 anche questo non è un parametro molto
attendibile in quanto non specifica il tipo di istruzioni che vengono eseguite. Infatti il tempo
impiegato per eseguire le istruzioni dipende dal tipo di istruzione: per eseguire una somma serve
meno tempo che per una divisione

Benchmark (banco di lavoro): per avere una valutazione attendibile. Programmi che fanno
eseguire al sistema tutti i tipi di istruzioni del set: meno tempo un sistema impiega a eseguire il
banchmark, migliore è la prestazione. Quindi con il banchmark si misurano le prestazioni di un
sistema, mentre gli altri parametri misurano le prestazioni del solo microprocessore.

Riepilogo Cpu

• Gestione della memoria


1. La CPU preleva i dati da elaborare

• CU Control Unit
2. Esamina il contenuto dei registri e determina l’istruzione da eseguire

• ALU Aritmetic Logic Unit


3. Eseguite le istruzioni determinate da CU

Bus
•è un canale che permette a periferiche e componenti del sistema di "dialogare" tra loro.

•Esistono diversi tipi di bus, classificati in funzione del tipo di dati che trasportano: bus dati, bus di
indirizzi, bus di controllo

•Un solo bus può collegare tra loro più dispositivi.

•Bus Parallelo (ISA, PCI e AGP)

•Bus Seriale (SATA, PCI Express)

Motherboard
Scheda elettronica principale che raccoglie in sé tutta la circuiteria elettronica e i collegamenti di
interfaccia tra i vari componenti interni principali del PC (CPU, memoria e le altre schede
elettroniche montate o alloggiate sopra) comprendendo quindi anche i bus di espansione e le
interfacce verso le periferiche esterne.

È responsabile dunque della trasmissione e temporizzazione corretta di molte centinaia di segnali


diversi, tutti ad alta frequenza e sensibili ai disturbi, tra processore e periferiche interne e
viceversa.

Vediamola dal Vivo

Connettori MotherBoard
Interfacce
•Interfaccia Seriale: consente il trasferimento dei dati tra il dispositivo di ingresso/ uscita al
computer un bit alla volta

•Interfaccia Parallela: il trasferimento dei dati avviene un byte alla volta (vengono trasmessi
contemporaneamente in parallelo, su otto fili diversi, otto bit)

•Interfaccia usb (universal serial bus): e’il nuovo standard di interfaccia seriale che ha una
maggiore velocità di trasferimento (fino a 16.000 bit al secondo USB 1.1,40 volte più veloce USB

2.0), consente di collegare più dispositivi a cascata, e consente la connessione e configurazione


di nuove periferiche anche a computer funzionante (plug & play)

Interfaccia USB 3.1Lo standardUSB 3.1 Super-Speed+ è stato introdotto nel 2013 ed è in
grado di raggiungere una velocità reale di 7,2 Gbps, pari a 900 MB/s, mentre quella teoria si
attesta sui10 Gbps.

La nuova versione supporta cinque profili diversi:

•Profilo 1: 5 V a 2,0 A (10 W);

•Profilo 2: 5 V a 2,0 A (10 W), 12 V a 1,5 A (18 W);

•Profilo 3: 5 V a 2,0 A (10 W), 12 V a 3 A (36 W);

•Profilo 4: 5 V a 2,0 A (10 W), 12 V, 20 V a 3 A (36 W, 60 W);

•Profilo 5: 5 a 2,0 A (10 W), 12 V, 20 V a 5 A (60 W, 10

Lo standard USB 3.1 viene diviso in due “Generazioni”, dette “Gen”, chiamate semplicemente 1 e
2 ed indicate come Gen1 e Gen2. Si tratta di una divisione basata sulle differenti velocità di
trasferimento teoriche:

l’USB 3.1 Gen1 raggiunge una velocità di 5 Gbps, mentre l’USB 3.1 Gen2 arriva ai 10 Gbps.

Le Memorie
•Con il termine memoria si intende generalmente la memoria centrale di un elaboratore dove
risiedono i dati ed i programmi del calcolatore

•La memoria di un calcolatore è raffigurabile ad un enorme casellario, ove ciascuna casella


contiene un’informazione e ove ciascuna casella è referenziabile mediante la sua posizione nel
casellario, ovvero mediante il suo indirizzo.

•Una casella di memoria, detta in genere “cella”, è la più piccola unità indirizzabile ed è costituita
da un insieme di bit (8-16-32-64 -unit digit).

•Il contenuto di una cella di 8 bit viene normalmente detto byte.

Unità di misura della Memoria


•Il byte viene usato come unità di misura della memoria,

•il bit viene usato come unità di misura nella trasmissione delle informazioni

•Multipli del Byte

8 cifre binarie sono pari ad un BYTE (B)

1024 BYTE sono pari ad 1 KiloByte (KB)


1024 KB sono pari ad 1 MegaByte (MB)
1024 MB sono pari ad 1 GigaByte (GB)
1024 GB sono pari ad 1 TeraByte (TB)

Tipologie di Memorie
•RAM (Random Access Memory) memoria ad accesso casuale, memoria di lettura/scrittura
usata nei calcolatori per contenere istruzioni e dati da elaborare; a seconda dell'architettura può
essere "statica" (SRAM) o "dinamica" (DRAM).

•ROM (Read-Only Memory)memoria a sola lettura che contiene, generalmente, le

istruzioni necessarie per avviare il computer(ROM, EPROM, EEPROM)

• I moduli SIMM (Single In-Line-Memory Module) sono stati utilizzati a partire dalle motherboard
per processore 80386, originariamente a 30 contatti. Successivamente sono stati costruiti
anche in moduli a 72 contatti, ovviamente più lunghi. I moduli a 72 contatti sono stati impiegati
negli ultimi sistemi con processore 80486 e sui primi Pentium. Devono essere sempre montati in
numero pari (a coppie). Attualmente i moduli SIMM non sono più prodotti.

•I moduli DIMM (Dual In-Line Memory Module) sono stati utilizzati per la prima volta sulle
motherboard Pentium. Possono essere installati anche in numero dispari e possono convivere
due moduli di capacità (in Mbyte) differente. Per esempio, è possibile installare un modulo da 32
MB ed uno da 64 MB per ottenere una capacità totale pari a 96 MB. Questo non era possibile con
le vecchie memorie SIMM.

Gerarchie di memorie

Tempi di accesso
RAM
•E’ la memoria principale del computer

•Usata per immagazzinare programmi e dati durante l’esecuzione

•Volatile

•Memoria Virtuale per poter simulare una quantità di RAM maggiore

• La memoria montata sugli attuali moduli DIMM è di tipo SDRAM (Syncronous Dynamic Random
Access Memory), molto veloce e affidabile. Nelle ultime settimane del 2014

per il mondo delle RAM è iniziata una nuova era: alcuni produttori hanno iniziato a distribuire i
primo modelli di DDR4 SDRAM (acronimo di “Double Data Rate fourth generation Synchronous
DynamicRandom-Access Memory”) a oltre sette anni dal lancio delle memorie DDR
3.ne esistono due versioni, una a 100 MHz Ultima evoluzione tecnologica delle memorie di lavoro
ad accesso casuale, le RAM DDR4 sono in grado di far segnare prestazioni migliori garantendo
una maggiore efficienza energetica

• Un modulo di RAM DDR4 ha una frequenza di trasferimento di almeno 2133 mtps (acronimo
di milliontransfer per second, milioni di trasferimenti al secondo), una frequenza operativa del
bus di input e outputdi 1066 MHz (dal momento che le RAM DDR danno la possibilità di
compiere trasferimenti simultaneamente su due canali, il valore della frequenza di lavoro
equivale alla metà del valore dei trasferimenti possibili nell'unità di tempo, quindi 1066 in luogo
di 2133 MHz), richiedendo 1,2 volt di corrente per funzionare (contro i circa 1,5 V della
generazione precedente). Le memorie DDR4, inoltre, hanno 288 pin e una maggiore densità di
chip (che si traduce in banchi di RAM più capienti, anche sino a 128 gigabyte).

Cache
•La cache è un tipo di memoria piccola, ma molto veloce.

•Mantiene copie dei dati ai quali si fa più frequentemente accesso in memoria principale.

•Regola dell’80/20, il 20% delle locazioni viene adoperato l’80% del tempo

Gli ultimi processori quad-core integrano cache L1 e L2 dedicate per ogni core e un'ampia,
condivisa, cache L3 disponibile per tutti i core. Questa cache L3 condivisa è anche in grado di
scambiare dati sui quali i core potrebbero lavorare in parallelo.

BIOS (Firmware)
il programma che il microprocessore usa per inizializzare il computer.

Il BIOS ha tre funzioni principali:

• Eseguire una serie di test diagnostici sull'hardware e segnalare eventuali guasti

• Localizzare il sistema operativo e caricarlo nella RAM;

• Fornire una interfaccia software a basso livello per l'accesso alle periferiche e all'hardware del
PC.

viene salvato su una EPROM.

E' necessaria la modifica/aggiornamento del firmware BIOS quando si debbano collegare


schede o periferiche particolari; il produttore deve fornire un programma che effettui la modifica.

Memorie di Massa
•La caratteristica principale della memoria di massa è la "non volatilità", ovvero la possibilità

di memorizzare permanentemente i dati

•Hanno un costo inferiore rispetto alla memoria principale

•Necessitano di tempi di accesso maggiori di ben 5 ordini di grandezza. (millisec vs nanosec)

•i maggiori rappresentanti sono gli hard disk, ma anche supporti rimovibili come dischi floppy,
CD, DVD, nastri magnetici, memorie flash

Hard Disk
I dati sono generalmente memorizzati su disco seguendo uno schema di allocazione fisica ben
definito

Entità Fisiche:

• Piatto: superficie destinata alla memorizzazione dei dati.

• Traccia: ogni piatto si compone di numerosi anelli concentrici numerati, detti tracce, ciascuna
identificata da un numero univoco.

• Cilindro: l'insieme di tracce alla stessa distanza dal centro presenti su tutti i dischi

• Settore: ogni piatto è suddiviso in settori circolari, ovvero in "spicchi" radiali uguali

• Testina: Su ogni piatto è presente una testina per accedere in scrittura o in lettura ai dati
memorizzati sul piatto; la posizione di tale testina è solidale con tutte le altre sugli altri piatti

Dischi SSD
Sono una tipologia di dispositivi di memoria di massa basata su semiconduttore, che utilizza

memoria allo stato solido (in particolare memoria flash di tipo NAND) per l'archiviazione dei dati,
anziché supporti di tipo magnetico come nel caso dell'hard disk classico.

Vantaggi:
•La totale assenza di parti meccaniche in Svantaggi:
movimento.
•Calo delle prestazioni generali nel tempo

•tempi di accesso e archiviazione ridotti: si lavora •Ridotta capacità di archiviazione

nell'ordine dei decimi di millisecondo; il tempo


•Costo più elevato

di accesso dei dischi magnetici è oltre 50 volte •Necessitano di aggiornamenti Firmware

maggiore

•non necessitano inoltre di deframmentazione

•maggior velocità di trasferimento dati

•minori consumi durante le operazioni di lettura e


scrittura

Dischi Magnetici Rimuovibili


•Floppy disk, può contenere al massimo 1.4MB

•Iomega ZIP fino a 250MB

•Iomega Jaz fino a 2GB

•Tempo di accesso superiore rispetto all’hard disk

•Pro: economicità –diffusione


•Contro: bassa capacità - deteriorabilità

CD-ROM DVD BLU-RAY


•Sono memorie di tipo ottico che vengono incise da un laser

•una sola traccia a forma di spirale, la lettura dei dati avviene in modo sequenziale

•i lettori di CD-ROM imprimono con velocità di rotazione diverse a seconda della tecnologia
costruttiva (2X, 4X, ...... 52X);

•i lettori dvd (1x,16x)

•esistono anche supporti scrivibili (CD-R) mediante appositi apparecchi detti masterizzatori o CD-

Writer, esistono anche CD riscrivibili più volte (CD-RW).

•Analogo discorso per i DVD

•Formao DVD +/-

•Capacità:

–650-900Mb CD

–4,7

-18Gb DVD

–fino a 56GB BLU-RAY

•Pro: diffusione -economicità

Dispositivi di Input
I dispositivi di input sono tutti quei dispositivi che l’utente usa per immettere i dati nel computer,
che possono essere dati, testi o immagini.

Esempi:

•Tastiera

•Mouse

•TouchPad

•Scanner

•Tavoletta Grafica

Ve ne vengono in mente altri ?????????

Dispositivi di Output
I dispositivi di output sono tutte quelle periferiche mediante le quali il pc comunica all’esterno i
risultati delle proprie elaborazioni.

Esempio:

•Monitor

•Stampanti

•Plotter

•ecc

I Monitor
Il componente principale di un monitor è il display, cioè il dispositivo elettronico per la
visualizzazione. In base alla tecnologia usata si distinguono le seguenti tipologie di display:

•Display CRT ( a raggi catodici)

•Display LCD (a Cristalli Liquidi)

•La definizione: è il numero di pixel che lo schermo può visualizzare.

•La dimensione: Essa si calcola misurando la diagonale dello schermo e si esprime in pollici (un
pollice equivale a 2,54 cm).

•Il passo della griglia (in inglese dot pitch): E' la distanza che separa due luminosfere (pixel); più
questa è piccola più l'immagine sarà precisa.

•La risoluzione: Determina il numero di pixel per unità di superficie pixel per pollice lineare (in
inglese DPI: Dots Per Inch, tradotto punti per pollice).

•Refresh: indica il numero di volte che l’immagine sullo schermo viene ridisegnata in un secondo
(si misura in Hz)

• Tempo di risposta: Indica il tempo impiegato da un pixel per passare da nero a bianco e

ritornare nero.

•Angolo di visuale: Variando l'angolo di visualizzazione, la luminosità, i colori ed il contrasto


variano e pertanto l'immagine risulta più scura e sbiadita.

I monitor LCD
I monitor LCD (Liquid Crystal Display) hanno orami quasi completamente soppiantato la
tecnologia precedente dei monitor a tubo catodico (CRT). Infatti gli LCD (rispetto ai CRT)
forniscono una qualità grafica migliore e hanno un ingombro e un peso nettamente inferiori.

I cristalli liquidi sono molecole organiche vischiose che scorrono in un liquido, ma, come i cristalli,
sono anche dotate di una struttura spaziale.

Utilizzando un campo elettrico per modificare l’orientamento delle molecole si variano le proprietà
ottiche dei cristalli e quindi l’angolo di polarizzazione della luce che li attraversa.

Uno schermo LCD è composto da numerose celle (talvolta corrispondenti ai pixel) nelle quali
sono intrappolati i cristalli liquidi:

•Ogni cella è provvista di contatti elettrici in modo da poter applicare un campo elettrico al liquido
che contiene.

•Le celle stesse sono contenute all'interno di due schermi polarizzatori lungo assi perpendicolari
tra loro.

•Una luce situata dietro la lastra posteriore

•Se i cristalli non sono polarizzati la luce attraversa (con minima attenuazione) il polarizzatore
frontale (pixel chiari), se invece sono polarizzati con direzione ortogonale a quella del polarizzatore
frontale questo blocca completamente la luce (pixel scuri).

•In uno schermo LCD a colori ogni cella viene divisa in tre sezioni, una con un filtro rosso, una con
un filtro verde e una con un filtro blu.

Monitor IPS, TN e VA
•I monitor IPS, acronimo di “In Plane Switching” hanno come peculiarità quella di fornire ampi
angoli di visuale e di riprodurrei colori di elevata qualità. Questi due fattori dipendono dal fatto che
essendo i cristalli liquidi paralleli ai pannelli, invece che perpendicolari, lo saranno anche i pixel

dell’immagine, che risulterà di maggiore qualità. I tablet e gli smartphone prediligono la tecnologia
IPS perché è la migliore per la riproduzione di foto e video.

•Lo schermo TN, in esteso “TwistedNematic”venne sviluppato a partire dalla fine degli anni ‘8o,
quindi si tratta di una tecnologia più obsoleta di quella Ips. Infatti questi modelli sono più limitati
dal punto di vista dell’angolo di visione ed i colori risultano di qualità molto più inferiore.Ciò
dipende dal fatto che in uno schermo TN, i cristalli liquidi sono perpendicolari al pannello,

determinando la creazione di immagini di più scarsa qualità.

Lo schermo TN, hanno solitamente una frequenza di aggiornamento alta ed un tempo di risposta

minore, rendendoli perfetti soprattutto per il gaming. Questa tecnologia di pannello però produce
molto calore, hanno una angolo visivo più ristretto rispetto a quelli IPS, e possono mostrare difetti
di brillantezza agli angoli anche se minimi.

• I monitor VA, ovvero “Vertical Alignment” rappresentano la via di mezzo tra i modelli IPS e TN.
Infatti presentano sia un discretoangolo di visione che un buon contrasto visivo, ma i colori sono
riprodotti in modo meno perfetto rispetto agli IPS.

I Monitor VA, sono divisi inMVA (multi-domain vertical alignment),PVA (patterned vertical
alignment), e ASV (advanced super view). La differenza principale rispetto alle altre tecnologie è
che un pannello VA ha la capacità di spegnere completamente la luce proveniente dalla
retroilluminazione quando questa non è voluta, permettendo così di ottenere dei rapporti di
contrasto più elevati assieme a dei neri più profondi.

Le modalità grafiche
•Monitor Full HD possiedono una risoluzione di 1920 x 1080 pixel, caratteristica ideale per le
attività di gioco. Per questa tipologia di risoluzione si consiglia uno schermo di dimensioni
comprese tra 21 e i 27 pollici, così da non creare problemi agli occhi. Questa tipologia di
prodotto

generalmente si trova sul mercato a buon prezzo.

•Monitor 2K hanno solitamente una risoluzione di 2560 x 1440 pixel e vengono consigliati per
lavori di grafica su immagini e video. Anche in questo caso vi è una dimensione standard che
andrebbe rispettata, cioè dai 27 pollici in poi.

•Monitor 4K sono conosciuti anche come schermi “ultra HD” e possiamo definirli i più moderni in
commercio. La loro risoluzione è di 3840 ×2160 pixel e si rivelano un prodotto ideale sia per
attività lavorative di grafica che per giocare. Un appunto che va fatto è che uno schermo 4K
deve

essere sempre associato ad un computer dotato di un processore e di una scheda video di un


certo livello, altrimenti non sarà possibile sfruttarne appieno le caratteristiche. Le dimensioni
consigliate per questo tipo di prodotto devono partire da almeno 28 pollici.
Monitor: Ingressi -VGA

VGA sta per “Video Graphics Array“.La storia di questo connettore parte addirittura nel lontano
1987, introdotto da IBM, si diffonde in maniera massiccia nel 1995 quando viene implementato
anche nelle normali Mainboard. Questo tipo di connessione veicola un segnale di tipo analogico,
soggetto in maniera piuttosto marcata a disturbi e interferenze e con una pulizia dell'immagine
non ottimale. La risoluzione massima su LCD è di 1600x1200,

anche se alcuni produttori di monitor hanno spinto l'interfaccia anche alla risoluzione Full HD.
Altra limitazione di questa connessione è data dal fatto che veicola solo e unicamente segnale
video, in nessun modo audio. Ha basse frequenze di aggiornamento, il che lo rende del tutto
inadatto a chi usa il computer per gaming. Nelle nuove schede video dedicata non viene più
implementata.

Monitor: Ingressi -DVI

DVI, o “Digital Visual Interface” Questo tipo di connessione è stata introdotta nel 1999 e ad oggi è
presente praticamente su qualunque nuovo computer. Ne esistono diversi tipi, ognuno con

caratteristiche specifiche

DVI-A trasporta esclusivamente segnali analogici compatibili con lo standard VGA con cui
condivide in sostanza caratteristiche e limitazioni. Non si è particolarmente diffuso, ad oggi è
davvero molto complicato incontrarlo.

DVI-D veicola unicamente segnali di tipo digitale. Il segnale essendo digitale è più pulito e stabile,
meno soggetto ad interferenze. Può essere Single o Dual Link.

DVI-I unisce nello stesso connettore la possibilità di veicolare il segnale analogico tipico del DVI-A
che quello digitale del connettore DVI-D. In informatica è stato inizialmente il tipo di connessione
DVI più utilizzato, salvo poi essere negli ultimi anni scalzato dal DVI-D.

Single Link trasporta un massimo di 165 milioni di pixel al secondo utilizzando tre segnali digitali
(RGB) a 1,65 Gb/s(10 bit per pixel) permettendo così una risoluzione max a 60 Hz di 2098 ×1311
con un aspectratio di 16:10 o di 1915 ×1436 con un aspectratio di 4:3. La risoluzione standard più
alta che può essere visualizzata con questa interfaccia è 1920 ×1200 16:10.

Dual Link affianca al canale utilizzato dall'interfaccia Single Link un secondo canale dati. Questo
nuovo canale è implementato sempre con tre segnali digitali (RGB) a 1,65 Gb/s(10 bit per pixel)
che operano su 6 pin separati del connettore. In questo modo è possibile trasportare il doppio dei
dati dell'interfaccia Single Link. Questo canale aggiuntivo può essere utilizzato in una di queste
due modalità:

• Portare un secondo pixel in modo da raddoppiare la risoluzione 2895 ×1882 con un aspectratio
di 16:10 a 60 Hz o 2707 ×2030 con un aspectratio di 4:3. La risoluzione standard più alta che
può essere visualizzata con questa interfaccia è 2560 ×1600 16:10.

• Aumentare la profondità di colore, che nell'interfaccia Single Link è di 8 bpp, portandola fino a
16 bpp(in questo caso il secondo canale porta i bit meno significativi).

Monitor: Ingressi -HDMI

HDMI è l’acronimo di “High Definition Multimedia Interface”

HDMI è uno standard commerciale completamente digitale per l'interfaccia dei segnali audio e
video, creato nel 2002 dai principali produttori di elettronica, tra cui Hitachi, Panasonic, Philips,
Sony, Thomson, Toshiba e Silicon Image.

La connessione hdmipuò trasportare solo ed esclusivamente un segnale digitale, sia video che
audio.

A differenza di quanto è avvenuto in passato con le interfacce di collegamento che abbiamo


spiegato prima, lo sviluppo dell'interfaccia HDMI è tutt'altro che completato: uno dei principi base
della nuova interfaccia, fortemente voluto dai produttori, è proprio la sua caratteristica di essere in
costante evoluzione, con ogni nuova versione identificata con un numero univoco.

Stampanti
Periferica capace di trasferire su carta i dati forniti da un pc.

Caratteristiche:

•Interfaccia: il tipo di collegamento al computer

•Formato carta: la dimensione, lo spessore, il tipo di supporti di stampa.

•Numero di colori primari: ovvero quanti inchiostri sono utilizzati e quindi quanti colori può
riprodurre (monocromatica, tricromica, quadricromica)

•Risoluzione massima: il numero di punti stampabili sulla carta per unità di lunghezza("dot per
inch" DPI).

•Velocità: il numero di pagine (normalmente A4) che può essere prodotta per unità di tempo (sec)

Tipologie di stampa
•Ad impatto: il carattere viene stampato mediante la pressione di aghi su nastri inchiostrati
interposti fra questi e la carta (lente e rumorose utili per fogli carbonati e moduli continui)

•A getto d’inchiostro: Una schiera di centinaia di microscopici ugelli spruzzano minuscole gocce
di inchiostro sulla carta durante lo spostamento del carrello (a colori, silenziose ed abbastanza
veloci)

•Laser: Mediante un raggio laser viene creata l’immagine da stampare e poi attraverso del toner
(inchiostro in polvere) viene stampata la pagina Sono caratterizzate da altissima velocità ottima
definizione e silenziosità.

Plotter
è una periferica specializzata nella stampa di supporti di grande formato. È il dispositivo di output
ideale per i sistemi CAD, dove è impiegato per la stampa di prospetti e progetti architettonici,
meccanici, elettrici, mappe topografiche, curve geometriche, viene anche utilizzato nell'ambito
della grafica e della pubblicità.

Modem
ll modem è un dispositivo elettronico che rende possibile la comunicazione di più sistemi

informatici (ad esempio dei computer) utilizzando un canale di comunicazione composto


tipicamente da un doppino telefonico.

Ha funzione di modulazione/demodulazione per consentire il trasferimento di informazioni digitali


su mezzi di comunicazione analogici

Scheda di Rete
La scheda di rete è un'interfaccia digitale che viene inserita solitamente all'interno di un Personal
Computer, Server, Stampante, Router ecc., che svolge tutte le elaborazioni o funzioni necessarie a
consentire la connessione ad una rete informatica.

Sistemi Audio
Sistemi di Numerazione Binario Codifica Immagini –Suoni e Video

Numeri e Numerali
•Numero: entità astratta

•Numerale: stringa di caratteri che rappresenta un numero in un dato sistema di numerazione

•Lo stesso numero è rappresentato da numerali diversi in diversi sistemiEsempio:

156 nel sistema decimale

CLVI in numeri romani

Sistemi Di Numerazione
Un sistema di numerazione è un modo per rappresentare dei valori numerici. Un numero si
compone di cifre, cioè di simboli ad ognuno dei quali viene associato univocamente un valore
diverso dagli altri.

I sistemi di numerazione moderni sono sistemi di numerazione posizionali, ovvero una stessa
cifra ha un “peso”diverso dipendentemente dalla posizione che essa occupa all’interno del
numero in questione. Per esempio nel numero 44, la cifra 4 che si trova a sinistra vale 10 volte di
più di quella che le sta immediatamente a destra.

Base Numerica
la base indica il numero di cifre a disposizione del sistema di numerazione e, di conseguenza,
quante volte di più vale la stessa cifra man mano che questa occupa una posizione sempre più a
sinistra all’interno di un numero. Il sistema di numerazione decimale, o a base 10, con il quale si
ha a che fare quotidianamente, ha dieci cifre diverse (da “0”a “9”) ed ogni cifra assume un
significato 10 volte maggiore per ogni posizione che essa occupa spostandosi verso sinistra
all’interno di un numero.

Sistemi Posizionali
•Ciascuna cifra rappresenta il coefficiente di una potenza della base

•L’esponente è dato dalla posizione della cifra

•Se la base è b occorrono b simboli:

b = 10 {0,9}

b = 2 {0,1}

b = 8 {0,1, ... 7} –

b = 16 {0,1, ... 9,A,B,C,D,E,F}

Numerazione Decimale
Il Sistema numerico decimale è un sistema di numerazione posizionale che, per rappresentare i
numeri, utilizza dieci cifre da 0 a 9.

Valore assoluto e relativo di una cifra


•Il valore assoluto di una cifra è la quantità indicata dalla cifra

•Il valore relativo è la quantità della cifra che dipende dalla posizione occupata dalla cifra nel
numero

Ad esempio consideriamo il numero: 347

Cifra 3 Cifra 4 Cifra 7

Valore assoluto 3 centinaia


4 decine
7 unità

(300) (40) (7)


Valore relativo 3 4 7

Scrittura polinomiale
•Consideriamo a titolo di esempio il numero 3547. Esso è formato da

3 migliaia = 3 X 1000

5 centinaia =5 X 100

4 decine = 4 X 10

7 unità = 7 X1

•Il numero allora si potrà scrivere come:

•3*103+ 5*102+ 4*101+ 7*100

Sistema decimale-binario
•L’adozione, quasi universale, della base dieci è stata indubbiamente imposta dall’anatomia delle
mani, perché sulle dieci dita l’uomo ha imparato a contare.

•Nei calcolatori elettronici e’invece necessario fare uso di elementi a due soli stati dispositivi
bistabili, componenti elettronici che funzionano in on/off, cioè con le condizioni di acceso/
spento oppure di si/no-per questo motivo e’conveniente adottare un sistema con base due
anzichè dieci. Un numerale sarà perciò una successione di zeri e di uni, ciascuno affetto da un
peso che sarà una

potenza intera di due.

•La cifra binaria si chiama “bit “da “binarydigit“appunto cifra binaria.Nella memoria di un
calcolatore si fa riferimento non ad un bit ma ad un ottetto di bit, chiamato byte.

Sistema Binario
•costituito da sole due cifre, 0 e 1

•Il valore posizionale di ogni bit è legato alle potenze di 2.

•i numeri sono ottenuti sommando i prodotti delle cifre 0 e 1 per le potenze decrescenti di 2.

Scrittura Polinomiale

1 0 0 1 = 1 x 23+ 0 x 22+ 0 x 21+ 1 x 20

Numerazione Esadecimale
•è un sistema numerico posizionale in base 16, cioè che utilizza 16 simboli invece dei 10 del

sistema numerico decimale tradizionale.

•Per l'esadecimale si usano in genere simboli da 0 a 9 per le prime dieci cifre, e poi le lettere da A
a F per le successive sei cifre, per un totale di 16 simboli.

•si adopera in informatica il sistema esadecimale è che può essere considerato come una
scrittura più compatta del sistema binario.

Codifica delle Informazioni


•Le informazioni gestite dai sistemi di elaborazione devono essere codificate per essere
memorizzate, elaborate, scambiate,...

•Esistono standard internazionali per risolvere problemi di compatibilità – tra differenti sistemi
software –tra calcolatori di tipo e marca diversi

•Vedremo brevemente:Codifica di numeriCodifica di caratteri Codifica di dati multimediali

Codifica Binaria dell’informazione


BIT (BInary digiT): unità elementare di informazione rappresentabile con dispositivi elettronici-
con 1 bit si possono rappresentare 2 stati:0/1, on/off, si/no Combinando più bit si può codificare
un numero maggiore di stati–con 2 bit possono rappresentare 4 stati–con K bit si possono
rappresentare 2Kstati

Codifica Binaria dell’informazione


Codifica binaria giorni della settimana

Codifica Binaria dell’informazione


•Bit 0/1 (si/no)

•Byte 00010010 (8 bit)

•Kilobyte 210= 1024 byte

•Megabyte 220~ 1.000.000 byte

•Gigabyte 230~ 1.000.000.000 byte

Codifica dei numeri naturali


Sistema di numerazione posizionale con base β
–β simboli (cifre) corrispondono ai numeri da 0 a β-1

i numeri naturali maggiori o uguali a β possono essere rappresentati da una sequenza di cifre

Se un numero naturale N è rappresentato in base βdalla sequenza di n cifre αn-1αn-2αn-3...


Codifica dei numeri naturali
13 può essere espresso in funzione delle potenze di 2:

13= 1x 8 + 1x 4+ 0x 2+ 1x 1 23222120
•Cioè può essere rappresentato dalla sequenza di bit: 1 1 0 1

Codifica dei numeri naturali


Quindi:

•Numero = sequenza di bit (codifica in base 2)

•Con K bit si rappresentano i numeri da 0a 2K-1

Esempi:

2= sequenza 1 0

3= sequenza 1 1

4= sequenza 1 0 0

Codifica di caratteri
Codifica binaria adatta a documenti in linguaggio naturale (italiano o inglese)

a-z A-Z 0-9

•usando 8 bit, cioè un byte (28 = 256)

ESEMPIO

00000101 rappresenta la lettera “c‟

Tabella ASCII
ASCII è l'acronimo di American Standard Code for Information Interchange (ovvero Codice
Standard Americano per lo Scambio di Informazioni).

È un sistema di codifica dei caratteri a 7 bit comunemente utilizzato nei calcolatori.

L’idea è quella di avere una corrispondenza uno a uno tra l’insieme dei 128 caratteri e quello dei
possibili numeri binari a 7 bit

Se si sta usando Windows si può ottenere ogni carattere ASCII tenendo premuto il tasto Alt e
digitando il codice decimale corrispondente col tastierino numerico

Analisi Dimensionale
Come abbiamo detto sopra un carattere occupa 7 bit, in realtà la tabella nella figura precedente
mostra una versione ridotta (mancano tutti i caratteri speciali).

Nella versione completa ogni carattere occupa 8 bit (1 byte)

Quanti Byte occupa?????……

Codifica dei dati multimediali


Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma si
diffondono sempre di più applicazioni che usano ed elaborano anche altri tipi di informazione:

-immagini

-filmati

-suoni

Spesso in questi casi si parla di applicazioni di tipo multimediale

Codifica Delle Immagini


Grafica bitmap o “raster”(a mappa di punti):

Crea le immagini usando punti colorati chiamati pixel, indipendenti gli uni dagli altri, per cui la
composizione avviene come in un mosaico, e la memorizzazione attraverso una sorta di database
dei pixel e dei colori.

Per ogni Pixel vengono memorizzate diverse informazioni : bianco e nero o tipo di colore e
profondità di colore (cioé il numero di tonalità che possono essere visualizzate).

Ad esempio se si fanno corrispondere ad ogni pixel 8bit ciò permetterà di riprodurre in quel punto
256 colori o tonalità di colore (in quanto ci sono 256 possibilità di combinazione dei bit a gruppi di
8).

Codifica delle Immagini


Consideriamo un'immagine in bianco e nero, senza ombreggiature o livelli di chiaroscuro

Suddividiamo l‟immagine mediante una griglia formata da righe orizzontali e verticali a distanza

costante

Codifica delle Immagini


Ogni quadratino derivante da tale suddivisione prende il nome di pixel (picture element) può

essere codificato in binario secondo la seguente convenzione:

-Il simbolo “0”viene utilizzato per la codifica di un pixel corrispondente ad un quadratino bianco(in

cui il bianco è predominante)

-Il simbolo “1”viene utilizzato per la codifica di un pixel corrispondente ad un quadratino nero (in
cui il nero è predominante)

Codifica delle Immagini


Poiché una sequenza di bit è lineare, si deve definire una convenzione per ordinare la griglia dei
pixel in una sequenza

Ipotesi: assumiamo che i pixel siano ordinati dal basso verso l'alto e da sinistra verso destra

La rappresentazione della figura sarà data dalla stringa binaria

0000000 0111100 0110000 0100000

Codifica delle Immagini


Non sempre il contorno della figura coincide con le linee della griglia: nella codifica si ottiene
un'approssimazione della figura originaria.

Se riconvertiamo la stringa in immagine otteniamo:

0000000 0111100 0110000 0100000

Codifica delle Immagini


La rappresentazione sarà più fedele all'aumentare del numero di pixel, ossia al diminuire delle
dimensioni dei quadratini della griglia in cui è suddivisa l'immagine

Codifica delle Immagini –Toni di grigio


Immagini in bianco e nero

sfumature (diversi livelli di intensità di grigio)

Assegnando un bit ad ogni pixel è possibile codificare solo immagini senza livelli di chiaroscuro

Codifica delle Immagini –Toni di grigio

Per ogni pixel si stabilisce il livello medio di grigio cui viene assegnata convenzionalmente una
rappresentazione binaria.

Per memorizzare un pixel non è più sufficiente un solo bit.

Ad esempio,

–con 4 bit possiamo rappresentare 24=16 livelli di grigio

–con 8 bit ne possiamo distinguere 28=256 livelli

Codifica delle Immagini a Colori


1) Individuare un certo numero di sfumature di colore differenti

2) Codificare ogni sfumatura mediante un'opportuna sequenza di bit La rappresentazione di


un'immagine mediante la codifica dei pixel, viene chiamata codifica bitmap

Il numero di byte richiesti dipende dalla risoluzione e dal numero di colori che ogni pixel può
assumere

La risoluzione dell’immagine è il numero di pixel che la costituiscono, espressi in termini di


larghezza x altezza. Ovviamente, aumentando il numero di pixel a disposizione, migliora la qualità
dell’immagine.

La profondità dell’immagine è invece il numero di bit che servono per rappresentare un singolo
pixel dell’immagine.

Il numero di bit richiesti per memorizzare un’immagine dipende dalla risoluzione e dalla profondità

numero di bit per immagine = risoluzione x profondità

Codifica delle Immagini a Colori


Il numero di byte richiesti dipende dalla risoluzione e dal numero di colori che ogni pixel può
assumere

I monitor utilizzano risoluzioni di 800X600, 1024X768, 1280X1024, o superiori, ed un numero di


colori per pixel che va da 256 fino a 16

milioni

Per distinguere 256 colori sono necessari 8 bit per la codifica di ciascun pixel

la codifica di un'immagine formata da 640X480 pixel richiederà 2417600 bit (307200 byte)

Per distinguere 16777216 colori sono necessari 24 bit per la codifica di ciascun pixel: la codifica

di un'immagine formata da640X480 pixel richiederà 7.372.800 bit (921.600 byte)

Rappresentazione dei colori


Base fisiologica:un colore visibile all'occhio umano può essere descritto da una composizione di
luce rossa, verde, blu (colori primari)

Modello additivo di colore RGB(Red Green Blue):un dato colore è descritto dalla combinazione
delle intensità dei tre colori primari associando un numero a ciascun livello di intensità, èpossibile
definire una rappresentazione digitale di un colore

Metodo RGB
E’detto anche metodo additivo, in quanto combina i colori primari (colori primari che riguardano
tutte le sorgenti che producono immagini come monitor, tv, proiettori, pellicole ecc.) per ottenere
tutte le rimanenti sfumature.

Una vasta percentuale dello spettro visibile può essere rappresentata miscelando la luce
colorata rossa, verde e blu in diverse proporzioni e intensità.
Quando questi colori vengono sovrapposti si ottiene il ciano, il magenta e il giallo (colori
complementari).

Poiché i colori primari (RGB) vengono combinati (aggiunti) per creare il bianco, essi vengono
anche chiamati colori additivi.

Unendo insieme tutti i colori si ottiene il bianco, cioè tutta la luce viene riflessa all’occhio.

Rappresentazione dei colori

Metodo RGB
Il modello RGB rappresenta i vari colori utilizzando tre valori numerici che indicano quanto le tre
componenti (rosso, verde, blu) concorrono alla formazione del colore analizzato.

Il valore massimo che una componente può assumere è 255:

per esempio il rosso puro è espresso dalla somma dei valori 255,0,0. In altre parole la
componente rossa è al massimo, 255, mentre le altre due sono a zero.

Quando tutte le componenti sono pari a 255, viene visualizzato il colore bianco, mentre quando
sono tutte pari a 0, viene visualizzato il colore nero.

Sulla diagonale che congiunge il nero e il bianco abbiamo i livelli di grigio

Se quindi voglio visualizzare il rosso primario, devo trovarmi in prossimità della fine dell’asse del
rosso e portare gli altri due canali a 0.

Possiamo quindi già effettuare la differenza tra colori primari e colori secondari.

I colori primari sono quelli che danno il nome allo stesso metodo:

Rosso = 255, 0, 0 (R)

Verde = 0, 255, 0 (G)

Blu = 0, 0, 255 (B)

Se combiniamo questi colori tra loro a due a due otteniamo i colori cd secondari che si trovano in
un punto di intersezione tra i due assi:

Giallo = 255, 255, 0 (Yellow, da cui prende l’iniziale Y)

Magenta = 255, 0, 255 (M)

Ciano = 0, 255, 255 (C)

Come vediamo, questi punti di intersezione creano le basi per uno spazio quasi chiuso che
prende il nome di cubo. Non è ancora chiuso perché ancora, a questi colori, dobbiamo affiancare
il bianco e il nero rispettivamente

Nero = 0, 0, 0

Bianco = 255, 255, 255 (W)che si troveranno rispettivamente all’origine degli assi e in un punto
diametralmente opposto.

A questo punto abbiamo il cubo completo,

Tutti i colori di questo metodo sono quindi contenuti all’interno di questo cubo. Ma quanti colori ci
sono nel cubo?

Per calcolarli si dovrebbe fare il valore massimo elevato al cubo, quindi

256 * 256 * 256=16. 777. 216 colori, circa 16,8 milioni.

A questo punto, individuato il cubo, dobbiamo individuare la diagonale principale, quella che
unisce i due punti diametralmente opposti che indicano i valori massimi e i valori minimi,
rispettivamente il bianco e il nero.

Questa diagonale è importante perchè:

I colori contenuti in questa diagonale hanno i canali con lo stesso valore di intensità, emulando il
nero (0, 0, 0) e il bianco (255, 255, 255). Sono quindi valori che hanno tutti gli stessi limiti.

Questi colori quindi si individuano dando uno stesso valore alle 3 variabili: ad es. 200, 200, 200.
Da questo deriva una conseguenza importantissima: i valori contenuti all’interno della diagonale
sono i GRIGI.

Codifica Esadecimale
I colori esadecimali rappresentano una codifica per la gestione dei colorinelle pagine Web. Il

nome esadecimalista appunto ad indicare che si tratta di una codifica composta da 6 caratteri
alfanumerici in base 16, offrendo la possibilità di usare numeri da 0 a 9 e lettere dalla A alla F.

La codifica esadecimale si basa sulla codifica RGB, acronimo di Red Green Blue(rosso, verde

e blu), ovvero i 3 colori la cui composizione è capace di generare qualsiasi tipo di colore.

Nella codifica di base: FF=255

FF è la rappresentazione esadecimale, mentre 255è la rappresentazione RGB, della base del

bianco.

In esadecimale, il bianco è: FFFFFF ed in RGB è: 255, 255, 255 mentre il nero in esadecimale è:

000000 ed in RGB è: 000, 000, 000 Giocando con tutte le lettere ed i numeri a disposizione, si
possono ottenere fino a 16 milioni di colori, variando tantissime tonalità di colore in base rosso,
gialli, verde, blu, ma anche arancio,

bianco, nero e cosi via.

Il vantaggio rispetto alla scala decimale sta semplicemente nel fatto che tutti i numeri da 0 a 255
(inclusi i primi 16, ai quali viene apposto uno 0 davanti) sono espressi mediante due sole cifre.

Memorizzazione Delle Immagini


Come ogni altra informazione, un raster può essere memorizzato su un file.

Esistono diversi modi di memorizzare un’immagine raster, corrispondenti a diversi formati di file di
tipoImmagine.

BMP, JPEG, GIF, TGA, TIFF, ...In un formato o nell’altro, fatte salve alcune (importanti!)differenze,
si memorizza il colore di ciascun pixel

Differenze tra i formati


• BMP (windows BitMaP) -È il formato standard per le immagini raster di Microsoft Windows.
BMP (bitmap) cioè “mappa di bit”. Il suo vantaggio principale è che memorizza l'immagine con
estrema fedeltà, conservandone tutti i dettagli ed i colori. Lo svantaggio: le immagini salvate in
questo formato occupano molto spazio in termini di byte e, pertanto, non sono adatte alla
pubblicazione su Internet, inoltre potrebbero non essere utilizzabili con altri sistemi operativi
diversi da Windows

• GIF(Graphics Interchange Format) è stato creato nel 1987 memorizzare efficacemente le


immagini raster a colori. All'epoca, tuttavia, la profondità di

colore tipica delle immagini era di soli 8 bit, quindi il GIF fin dall'inizio ebbe questa limitazione e la
conserva tuttora. Non è un formato adatto per le fotografie, ma è molto adatto alle immagini
dotate di un massimo di 256 colori, perché è in grado di memorizzarle con minore occupazione di
byte rispetto al formato BMP. Per questo motivo il GIF si è rapidamente diffuso in Internet. Il
successo di questo formato è poi cresciuto ancor più quando all'iniziale sottoformato GIF 87a è
stato aggiunto successivamente il sottoformato GIF 89a, che supporta le animazionie le
trasparenze.
È spesso in questo modo che molti siti su Internet mostrano immagini animate nelle loro pagine
web.

JPG o JPE o JPEG (Joint Photographic Expert Group) -La pesantezza del formato BMP e la
scarsa

profondità di colore del GIF impedisce l'uso di questi due formati per le fotografie. Il JPG,

contrazione della sigla JPEG è stato creato da un gruppo di esperti per rimediare a questo

problema. In effetti, il JPG è il formato più diffuso in assoluto per le fotografie e, più in

generale, per le immagini raster ricche di colori, tanto da diventare lo standard di memorizzazione
delle foto in Internet e viene ampiamente utilizzato dalle moderne macchine fotografiche digitali
per salvare le foto scattate nelle schedine di memoria.

Con il JPG, talvolta indicato anche con la sigla JPE, le immagini sono memorizzate sempre con
32 bit di profondità di colore. Con un complicato metodo l'immagine viene “compressa”e poi
salvata, ottenendo un notevole risparmio di spazio rispetto al formato BMP. Ma come fa il formato
JPEG a risparmiare molto spazio? Il trucco è in una leggera perdita di dettagli: un'immagine
salvata in JPG contiene meno dettagli rispetto alla medesima immagine salvata in formato BMP,
però quasi sempre la perdita di definizione è così piccola che bisogna osservare con molta
attenzione per riscontrare differenze fra i due formati. In effetti, per limitare la perdita di dettagli,
con alcuni programmi di grafica (non con tutti) è possibile regolare la compressione JPG.
Comprimendo poco si ottiene un'immagine memorizzata molto fedele all'originale, a prezzo però
di una maggiore occupazione di memoria, mentre comprimendo molto si risparmia spazio,
tuttavia nell'immagine potrebbe sparire dettagli e comparire difetti

TIFo TIFF (Tagged Image File Format) -Il formato TIF, indicato spesso con TIFF, è molto usato dai
fotografi che desiderano conservare le loro fotografie con minor occupazione di spazio rispetto al

BMP ma conservando tutti i dettagli ed i colori. Infatti, il TIFF può comprimere (facoltativamente)

le foto con lo stesso metodo usato dal formato GIF, però pure con una profondità di colore di 32

bit (il GIF è limitato a 8 bit).In sintesi, il TIFF è uno dei formati più flessibili per le immagini raster,
tanto che viene adottato pure da apparecchiature come scanner e fax, anche perché possiede la

capacità di salvare più immagini in un unico file (per esempio, le diverse pagine di un fax). Da
sottolineare, tuttavia, che un'immagine TIFF occupa solitamente più spazio della medesima
immagine in formato JPG, e questo spiega la sua minor diffusione come formato di
memorizzazione per le immagini raster. Un altro motivo che ne ha impedito la diffusione è
l'esistenza di alcuni sottoformati che non risultano compatibili con tutti i programmi di grafica, ma

solo con alcuni.

PNG (Portable Network Graphics) -Creato per rimediare agli inconvenienti degli altri formati, il
PNG è il più giovane fra quelli visti e, per tale motivo, ancora poco diffuso ma molto promettente.
Il vantaggio principale del formato PNG è che supporta la compressione senza perdita di dettagli–

non usa però la stessa tecnica di GIF e TIF per comprimere le immagini, bensì una più moderna e

migliore. Supporta anche le trasparenze, ma non le animazioni (per supportare queste ultime è
stato creato un formato molto simile, denominato APNG, ma finora risulta ancor meno diffuso del
PNG).

Memorizzazione Delle Immagini


Esistono delle tecniche di compressione delle informazione che consentono di ridurre
drasticamente lo spazio occupato dalle immagini

codifiche di compressione: le più famose sono la CompuServeGraphicInterface (GIF) e la Joint


PhotographicExperts Group(JPEG).

I file che usano tali codifiche riportano rispettivamente le estensioni .gife .jpg(o anche .jpeg)

Tali formati (detti anche codec:

compression/decompression), usano un sistema per comprimere l’informazione prima di


memorizzarla e per decomprimerla prima di visualizzarla.

Entrambi i formati tendono ad eliminare i pixel ripetitivi,

Entrambe le soluzioni sono compressioni con perdita di informazione. Tale perdita non può
essere recuperata in alcun modo.

La codifica JPEG consente di manipolare tale fattore di compressione

Un’immagine può occupare molto spazio anche se non tutti i 16777216 colori sono
CONTEMPORANEAMENTE usati

• Si può usare un sottoinsieme dei colori

• Si considera una tavolozza (palette) di colori (codificati con il sistema RGB) da codificare

Ad esempio, sono comuni palette a 256 colori, ovvero, con profondità dell’immagine a 8

bit. La palette viene memorizzata insieme al resto dei dati dell’immagine.

Nell’esempio precedente, sarebbero necessari 8 bit per la codifica di ciascun pixel: la codifica
richiederà 2457600 bit (307200 byte) per l’immagine più 256*3=768 byte per la palette.

Quando abbiamo bisogno di colori che non sono presenti in questa tavolozza?

•possiamo sostituire il colore mancante con quello più simile presente nella palette,oppure

• cambiare palette. In questo modo, cambia l’associazione tra sequenze di bit e colori.

• Di conseguenza, quando si usa un programma di elaborazione dell’immagine (es. photoshop,

etc.), bisogna specificare quale palette si sta usando

Compressione delle Immagini

Rappresentazione dei Suoni


•Anche i suoni possono essere rappresentati in formato digitale

•Da un punto di vista fisico un suono è un’alterazione della pressione dell’aria (rispetto alla
pressione atmosferica)

•La durata, l’intensità e la frequenza della variazione nel tempo della pressione dell’aria sono le
quantità fisiche che rendono un suono diverso da ogni altro

Rappresentazione dei Suoni


E’possibile rappresentare in molti modi un’onda sonora, ma la rappresentazione più comoda è
Attraverso una funzione che ne descrive la variazione di pressione dell’area nel tempo

Sull'asse delle ascisse viene rappresentato il tempo e sull’asse delle ordinate viene rappresentata
la variazione di pressione corrispondente al suono stesso

La codifica dei Suoni


L’unico tipo di informazione che i computer “riconoscono”è quella composta di 0 e 1

Il computer utilizza ed elabora i suoni utilizzando dei dispositivi chiamati convertitori analogico-
digitali o brevemente ADC che trasforma i suoni in sequenza di numeri.

Le fasi fondamentali per la digitalizzazione:

•Campionamento

•Quantizzazione di un campione

•Codifica

Si effettuano dei campionamenti sull'onda sonora (cioè si misura il valore dell’ampiezza dell’onda
a intervalli costanti di tempo) e si codificano in forma digitale le informazioni estratte da tali
campionamenti

Quanto più frequentemente il valore di intensità dell’onda viene campionato, tanto più precisa
sarà la sua rappresentazione

Riducendo l’intervallo di tempo tra due campionamenti aumenta l’accuratezza della descrizione
del segnale

Una migliore qualità della descrizione del segnale corrisponde a una maggiore quantità di
informazione, cioè a un maggior numero di campioni nell’unità di tempo;

Un maggior numero di campioni richiede un maggiore spazio in memoria e una superiore velocità
di trasferimento dati. Esiste una frequenza minima per ottenere descrizioni accurate?

Il tasso di campionamento deve essere quindi almeno il doppio della frequenza massima presente
nel segnale in ingresso.

Esempio:4kHz (frequenza massima della voce umana)impongono una frequenza minima di


campionamento di 8000campioni al secondo

Esempio: poiché la percezione dell’uomo arriva a segnali dicirca 20.000 Hz (20kHz), è sufficiente
che il tasso di campionamento sia fissato a oltre 40.000 campioni al secondo. Il tasso di
campionamento dei compact disc è di 44.100 campioni/sec, ed è quindi sufficiente a
rappresentare correttamente il segnale audio di partenza1 minuto audio stero campionato a 44khz
a 16 bit occupa: 44000 campioni /sec *16 bit *2 canali *60 sec 10Mb circa

Rappresentazione Video
Immagini in movimento (video…)

Il movimento è rappresentato con un numero elevato di fotogrammi fissi (24-30 al secondo)


l’occhio umano percepisce il movimento come un continuo

Si potrebbe codificare ogni fotogramma come immagine fissa ma richiederebbe un enorme

spazio di memoria

Sono stati sviluppati metodi di codifica che codificano solo le “differenze tra un

fotogramma e l’altro (MPEG)

Fasi Processo digitalizzazione:

•Cattura Immagini video

•Conversione dell’immagine in digitale

•Compressione dell’immagine

La cattura delle immagini si ottiene collegando fisicamente le sorgenti analogiche (videocamera,


videoregistratore) alla scheda di acquisizione.

Il numero di bit impiegati nell’operazione aumenta in funzione di cinque fattori

•La lunghezza del filmato

•La risoluzione grafica

•L’ampiezza delle “palette”di colori utilizzata (il numero di colori)

•Il numero di fotogrammi (o frame) per secondo (FRAME RATE/FPS)

•La qualità del sonoro (frequenza di campionatura)

Per ridurre l’impiego di bit vengono utilizzate delle tecniche di compressioneViene utilizzato un
codec, compressore- decompressore video che riduce le dimensione dei file.

Ovvero un software che attraverso un procedimento matematico comprime le immagini, i dati


duplicati o superflui vengono eliminati o salvati in formato ridotto

Differenze tra codececontenitori


I codec sono dei software che codificano e decodificano digitalmente i dati, rendendo più

agevole la loro conservazione e la loro riproduzione.

I contenitori contengono i vari componenti di un video: il flusso delle immagini, il suono e


qualsiasi altra cosa che si trova all’interno del

file, hanno il compito di “impacchettare” il flusso audio e video processato dai codec

e renderlo così fruibile per i software media player.

Rappresentazione VideoCompressione Lossless (senza perdita)


•Reversibile

•La qualita del filmato rispecchia l’originale

•Compressione limitata 35% dimensioni originali (troppo poco)Compressione con perdita

•Alcuni dati di rilievo secondario vengono persi in fase di compressione

•Permette di ottenere livelli elevati di compressione 200:1

•Usata per immagini televisive satellitari e videoconferenze

Compressione MPEG
Un filmato compresso con formato MPEG presenta un fotogramma non compresso ogni mezzo

secondo (fotogramma chiave) detto I-Frame mentre gli altri vengono compressi

I fotogrammi intermedi contengono solo le parti dell’immagine diverse rispetto al fotogramma


precedenti

Flow chart
Abbiamo detto Che..
•INFORMATICA: scienza e tecnica che tratta l'elaborazione automatica dei dati e dei
procedimenti di calcolo

•CALCOLATORE O ELABORATORE ELETTRONICO: macchina elettronica in grado di


manipolare

automaticamente informazioni, eseguendo operazioni su dati forniti in ingresso (input), per


ottenere dei risultati emessi come dati in uscita (output)

•PROGRAMMA: insieme di istruzioni che possono essere eseguite da un elaboratore elettronico.

•PROGRAMMATORE: Si occupa di realizzare operativamente le applicazioni, scrivendo le


istruzioni sotto forma di linee di codice basate su specifici linguaggi di programmazione.

Modello di Computer (semplificato)

Informatica
Secondo la ACM (Association for ComputingMachinery)...L’Informatica è lo Studio sistematico
degli algoritmi che descrivono e trasformano l’Informazione: la loro teoria, analisi,progetto,
efficienza, realizzazione e applicazione.

Risoluzione di un Problema

Esempi di Algoritmi
Ricetta per cucinare gli spaghetti

➔Metti l’acqua nella pentola

➔Fai bollire l’acqua

➔Metti la pasta nell’acqua

➔Aggiungi un po’di sale

➔Attendi 6 minuti

➔Scola la pasta

Verifica se un numero è pari o dispari


➔Prendi il numero

➔Calcola il resto della divisione intera del numero per 2

➔Se il resto è zero–Allora il numero è pari–Altrimenti il numero è dispari

Algoritmi
Con il termine algoritmo si intende, in genere, un metodo per la risoluzione di problemi
utilizzando un numero finito di passi.

Da questa definizione si evincono le quattro proprietà fondamentali dell'algoritmo:

•la sequenza di istruzioni deve essere finita (finitezza);

•essa deve portare ad un risultato (effettività);

•le istruzioni devono essere eseguibili materialmente (realizzabilità);

•le istruzioni devono essere espresse in modo non ambiguo (non ambiguità).

Caratteristiche di un algoritmo
•Azioni eseguibili e non ambigue

–Non sono ammessi “un pò”e “a piacere”, che non sono termini adatti ad una macchina

•Deterministico

–Fatto un passo, il successivo è uno ed uno solo, ben determinato. Alternative sono possibili, ma
la scelta deve essere unica

•Numero finito di passi

•Terminazione

–L’esecuzione prima o poi deve finire e produrre un risultato in tempo finito

–Osservazione: la 3 non implica la 4

Esempio di non terminazioneSi consideri il numero N

•Scrivere N

•Scrivere il numero successivo ad N

•Ripetere il passo precedente

Trova il più grande numero primo.

Non esiste un programma che riesce a dare una risposta in tempo finito (Numero finito di passi)

Tutti i problemi sono risolvibili???


No..

Un problema risolvibile con un algoritmo si dice computabile

Risoluzione di un problema Generalmente la risoluzione di un problema consiste nel prendere


alcuni dati iniziali (input) relativi al problema e nel fornire un risultato (output) che risolve
quest’ultimo.

Non è così Facile


Per scrivere la giusta “sequenza di passi”bisogna essere un bravo cuoco!

Preparare gli Spaghetti:

•Ingredienti (acqua, Sale, Spaghetti)

•Eseguire la ricetta

•Servire gli Spaghetti

Codifica dell’Algoritmo

Affinchè una macchina riesca a comprendere ed eseguire i passi specificati da un algoritmo,

quest’ultimo deve essere prima codificato in un opportuno programma scritto in un linguaggio

ad alto livello(che verrà successivamente compilato/interpretato)

Rappresentazione degli algoritmi


E’ necessario far riferimento a dei formalismi che:

•non introducano ambiguità

•siano universalmente riconosciuti ed interpretati allo stesso modo da un generico esecutore

•permettano di rappresentare in modo efficace un algoritmo

•Costituiscano un utile strumento per poi poter passare alla fase di codifica in un linguaggio di

programmazione

1.Rappresentazione grafica
–Diagrammi a blocchi / Flow Chart

2.Rappresentazione testuale
–Notazione Lineare Strutturata / PseudoCodice

Algoritmi: operazioni base


Le operazioni primarie sono:

•Trasferimento di informazioni (istruzioni di I/O)

•lettura dati, scrittura risultati, visualizzazione dati intermedi


•Esecuzione di calcoli (valutazione espressioni)

•Istruzioni di assegnamento

•Strutture di controllo (che modificano il flusso sequenziale di esecuzione delle operazioni)

Diagrammi di Flusso
I diagrammi a blocchi(detti anche diagrammi di flusso)

sono un linguaggio di modellazione grafico per rappresentare algoritmi (in senso lato).

Esso consente di descrivere le differenti operazioni sotto forma di uno schema in cui le diverse
fasi del processo e le differenti condizioni che devono essere rispettate vengono rappresentati da
simboli grafici detti blocchi elementari. I blocchi sono collegati tra loro tramite frecce che indicano
la cronologia.

Ogni azione elementare è rappresentata da un blocco.

Esistono 5 tipi di blocchi elementari:

Istruzioni di I/O
•lettura di dati in input

•scrittura dei risultati in output

Connettori
I singoli diagrammi devono essere uniti tramite i connettori.

L’esecuzione delle istruzioni deve essere fatta sequenzialmente, ovvero seguendo i connettori.

Quando si scrive l’algoritmo bisogna fare molta attenzione alla direzione del flusso di
esecuzione.
Istruzione di Assegnamento

Concetto di variabile

•Identificata da un’etichetta / identificatore simbolico

•Può essere comodo pensare alla variabile come ad un contenitore in cui possiamo memorizzare
o reperire dei dati utilizzati durante il calcolo

•L’istruzione di assegnamento permette di assegnare un valore ad una variabile

Una variabile numericaè una entità caratterizzata da

•Un nome

•Un valore (contenuto)

•Può cambiare nel tempoUna costante numericaè una entità caratterizzata da

•Un nome

•Un valore (contenuto)

•Non può cambiare nel tempo

Istruzione di Assegnamento

Espressione
Un’espressione è una combinazione di operatori aritmetici, costanti e variabili che può essere
calcolata generando un singolo valore numerico

Es: X+1 X+(Y*5)

Istruzione di Assegnamento

•Istruzione di assegnamento: “<——”

•Variabile Espressione

X 5 Y X+4

Assegno alla Variabile x il valore 5

La Variabile Y conterrà il valore della somma tra il numero 4 ed il valore assegnato alla variabile X

Esempio

Descrivere mediante diagrammi di flusso, un algoritmo che calcoli la somma di due numeri

letti in input

Diagramma di flusso: Somma


Esempio 2

Descrivere, mediante diagrammi di flusso, un algoritmo che scambi i valori di due variabili

lette in input.

Diagramma di flusso: Scambio

Flusso di esecuzione
Si possono avere casi in cui nel flusso di esecuzione si deve scegliere tra diverse direzioni

La direzione da scegliere è subordinata al verificarsi di una condizione


La condizione può assumere due stati:

–Vero

–Falso

In questi casi si parla di istruzione condizionale

Strutture di controllo
Tutti gli algoritmi devono adattarsi ad una classe di problemi per essere applicati al mondo reale e
le operazioni da effettuare per raggiungere la soluzione spesso differiscono a seconda dei casi
che si presentano.

Per questo esistono delle particolari strutture del linguaggio che permettono di controllare il flusso
di esecuzione (quindi delle operazioni), ovvero di eseguire una certa serie di istruzioni anche piu'
volte nel momento in cui si verifica di una serie di condizioni.

Queste strutture sono assolutamente indispensabili, infatti non esiste un linguaggio di


programmazione in cui non e' possibile controllare il flusso del processo.

Quasi la totalità dei programmi ha la necessità di svolgere alcune istruzioni o compiere


determinate operazioni (oppure evitare di compiere alcune operazioni) a seconda dei dati di
partenza.

Per esempio un programma che esegue una divisione tra due numeri a / b
dovrà evitare di compiere l'effettiva operazione aritmetica se il dato b = 0.

Per questo in tutti i linguaggi di programmazione esistono dei particolari costrutti che
generalmente permettono di:

-Scegliere se eseguire o meno una certa porzione di codice, oppure

-Eseguire più volte una certa parte di codice.

Strutture di controllo

Istruzioni Condizionali
La selezione (o scelta) permette a un programma di proseguire secondo uno tra due (o più) flussi
di istruzioni alternative, a seconda del risultato di un test o del verificarsi di una condizione.

L’iterazione(o ciclo, o loop) consiste nella ripetizione di una o più istruzioni, e si può ottenere
collegando il flusso in uscita da un blocco con il flusso in entrata nel blocco stesso o in uno

precedente.

In tal modo si possono eseguire compiti ripetitivi senza specificare uno per uno un gran numero di
singoli passi, ma scrivendo per esempio un’istruzione del tipo:

“esegui il prossimo passo 1.000 volte”.

Selezione binaria.

Nella selezione il test o la condizione sono tipicamente costituiti da una variabile logica, scritta
dentro il simbolo di decisione, (blocco controllo)dal quale escono due frecce. Queste indicano le
possibili azioni da compiersi a seconda del valore della variabile, come mostra la figura.

Si può anche volere compiere una certa azione se il test o la condizione hanno un valore vero, e
nessuna azione nel caso contrario.

Esempio

Descrivere mediante diagramma di flusso, un algoritmo che determini il massimo tra due numeri
letti in input

Diagramma di Flusso: Max

Struttura IF-ELSE
L’istruzione condizionale if-else è costruita per scegliere l’esecuzione di un’istruzione in alternativa

a un’altra a seconda del valore assunto da una data condizione.

if (condizione)

{ operazione }

L'operazione può anche non essere racchiusa tra parentesi graffe.

Vediamo un semplice esempio.

if ($a==5)

{ echo "La variabile a vale 5"; }

In questo caso verrà stampata la stringa "La variabile a vale 5" solo quando $a sarà uguale a 5.

Abbiamo introdotto il controllore else: aggiunge la possibilità di eseguire un'istruzione alternativa


nel caso la condizione non sia vera.

if (condizione)

{ operazione1 }

else

{ operazione2 }

Vediamo ora di applicare tutti i casi finora visti, utilizzando l'annidamento di più if: l'importante è
ricordarsi di chiudere sempre una condizione che si è aperta.

if ($a>$b)

{ echo "a è maggiore di b"; }

else

{ if ($a<$b) { echo "a è minore di b"; }

else

{ if ($a == $b) { echo "a è uguale di b"; }

}}

Strutture di Controllo Iterattive


Le strutture di controllo "iterative" consentono di specificare che una data istruzione o un dato
blocco di istruzioni devono essere eseguiti ripetutamente.

Esse vengono anche dette cicli.

Ogni struttura di controllo di questo tipo deve consentire di specificare sotto quali condizioni
l'iterazione (ripetizione) di tali istruzioni debba terminare, ovvero la condizione di terminazione
del ciclo oppure, equivalentemente, la condizione di permanenza nel ciclo.

Struttura While
Il ciclo while(mentre, o fintantoché) è indicato quando la condizione di permanenza in un ciclo è
una generica condizione booleana, indipendente dal numero di iterazioni eseguite. Le forme
tradizionali di ciclo while possono essere parafrasate come "ripeti (il codice controllato)
fintantoché resta vera la condizione

C". Un esempio tipico è la lettura di dati da un file di cui non si conosca a priori la dimensione;
esso potrebbe assumere la forma "leggi il prossimo dato finché non incontri la fine del file".

Vediamo un semplice esempio:

$i=1;

while ($i <= 10)

echo $i;

$i++;

Questo ciclo continua ad incrementare la variabile $i fino a quando non sarà uguale a 10 ed ogni
volta stampa il suo valore. In pratica verrà stampata la stringa "1 2 3 4 5 6 7 8 9 10".

Struttura Do-While
Un modo alternativo per eseguire la stessa cosa sarà ricorrere al ciclo do..while. L'unica
differenza è che il valore della condizione viene controllato alla fine del ciclo e non all'inizio. In
pratica la prima operazione viene sempre eseguita, sia che la condizione sia vera o falsa.

do

{operazione

while ( condizione )

Vediamo l'esempio:

$i=1;

do

echo $i;

$i++;

while ($i <= 10)

Strutture Dati
Una struttura dati è un'entità usata per organizzare un insieme di dati all'interno della memoria
del

computer, ed eventualmente per memorizzarli in una memoria di massa. La scelta delle strutture
dati da utilizzare è strettamente legata a quella degli algoritmi.

La struttura dati è un metodo di organizzazione dei dati, quindi prescinde dai dati
effettivamente contenuti.
Ciascun linguaggio di programmazione offre strumenti, più o meno sofisticati, per definire
strutture dati, ovvero aggregare dati di tipo omogeneo o eterogeneo.

Gli Array
Un array è una struttura dati omogenea, che contiene un numero finito di elementi dello stesso
tipo, ad esempio un vettore di 10 interi. Questi elementi sono individuati attraverso un indice
numerico, che tipicamente va da 0 al numero massimo di elementi meno uno. La dimensione del
vettore deve essere dichiarata al momento della sua creazione. Vettori di dimensione diversa
costituiscono tipi di dati diversi.

Gli elementi dell'array (le variabili che lo costituiscono) sono identificate dallo stesso nome
dell'array e da uno o più indici, che indicano la posizione dell'elemento all'intero del vettore o della
matrice.

Array monodimensionale: Un array ad una dimensione è costituito da un insieme finito di


elementi omogenei in corrispondenza biunivoca con un insieme di indici.

Array bidimensionale può essere considerato un array di array monodimensionali cioè ogni
componente dell’array è esso stesso un array

L’accesso ad ogni componente di un array bidimensionale si ha tramite una coppia di indici (i,j)

Il primo indice si riferisce alla riga ed il secondo alla colonna

Array Monodimensionale

Array Bidimensionale

Essi godono delle seguenti proprietà:

•Gli array sono uno dei tipi di dato strutturato

•Sono composti da elementi omogenei

•Ogni elemento è identificato all’interno del vettore da un numero d’ordine detto anche indice
dell’elemento

•E’possibile riempire o leggere una sola posizione per volta

•Il numero degli elementi è detto dimensione o lunghezzadel vettore

Ad esempio, pensiamo di voler memorizzare i nomi dei giorni della settimana all'interno

dell'array di tipo stringa chiamato giorno;

avremo la seguente struttura:

$giorno[0] = "lunedi'" $giorno[1] = "martedi'"

$giorno[2] = "mercoledi'" $giorno[3] =

"giovedi'" $giorno[4] = "venerdi'" $giorno[5] =

"sabato" $giorno[6] = "domenica"

Esercizi sugli array

Il Sistema Operativo

Riassunto delle Puntate Precedenti


Software:
Il software è un programma o un insieme di programmi in grado di funzionare su un computer o
qualsiasi altro apparato con capacità di elaborazione

Il software può essere distinto in

•software di sistema

•software applicativo

Sistemi Operativi
•Ms-Dos

•Windows (98/Me/2k/Xp/2k3/Vista/7)

•Linux/Unix

•Mac-OS

•ecc...

Un sistema operativo (S.O.)


è un insieme di programmi che devono svolgere funzioni essenziali per l’uso di un sistema di
elaborazione rendendo trasparenti all’utente le risorse Hardware

si occupa di gestire:

•l’unità centrale

•la distribuzione della memoria fra più programmi

•le unità di input/output

•le operazioni di lettura e scrittura sulle memorie di massa (gestione dei file)

•Iterazione con l’utente

sistemi operativi hanno una struttura complessa, che può essere descritta come una gerarchia di
macchine virtuali

–Ciascun livello della gerarchia è relativo a una macchina virtuale del sistema operativo che
gestisce una diversa tipologia di risorse

–le risorse gestite sono i processori, la memoria, le periferiche, le memorie secondarie,


l’interfaccia utente

L’utente del calcolatore interagisce solo con l’interprete comandi del sistema operativo

Architettura Sistema Operativo


Caratteristiche S.O
•Mono/multitasking esecuzione di un solo/più programma/i per volta

•Time sharing tecnica di ripartizione del tempo d'utilizzo della CPU tra tutti i processi in
esecuzione

•Processo= qualsiasi programma in esecuzione gestito dal SO

ogni processo ha un quanto di tempo(qualche millisecondo) della CPU

ciascun processo/programma/utente ha l'illusione di disporre singolarmente della CPU

•Mono/multiutente

una/diverse persona/e possono collegarsi al sistema e gestire le proprie


attività(contemporaneamente)

•Memoria protetta

ogni processo in corso utilizza una determinata area di memoria per il proprio funzionamento
sicurezza di sistema garantendo la sua integrità nonostante il blocco di un processo

Mono programmazione
Nella uni programmazione (ormai in disuso) il processore attende la fine delle operazioni di

I/O per riprendere l’esecuzione dell’unico processo

Il programma viene lanciato, eseguito e terminato

La CPU non e’ utilizzata al meglio ! Si spreca molto tempo

La CPU e’ molto più veloce delle periferiche (dispositivi di I/O e disco) quindi passa molto del
suo tempo in attesa del completamento delle operazioni da parte di questi dispositivi

Durante queste fasi di attesa si dice che la CPU e’ idle

Esempio Mono Programmazione


Un processo e’ costituito da 1000 istruzioni, la CPU ha frequenza di 1MHz, quindi il processo

richiede:

103/106sec = 1msec

A metà esecuzione e’ richiesta la lettura di un dato dal disco.

Il tempo di lettura e’ pari a 1msec:

tempo totale di esecuzione del processo = 2 msec.


Idle time = 1 msec.:

Il 50% del tempo totale di esecuzione e’ tempo sprecato

Multiprogrammazione
Quando un processo si ferma in attesa di operazioni di I/O, la CPU passa ad eseguire un altro
processo

Il SO si occupa dell’alternanza tra i vari processi

Più programmi sembrano così essere eseguiti contemporaneamente

In realtà in ogni istante c’è sempre un solo processo in esecuzione , ma se l’alternanza è molto
frequente si ha un’impressione di simultaneità

Il numero di processi “contemporaneamente” in esecuzione è comunque limitato ed è detto

“grado di multiprogrammazione”

Multiprogrammazione
Nella multiprogrammazione o multitasking il processore salta da un processo all’altro

Architettura Sistema Operativo


Sistema a Livelli

Kernel
è responsabile della gestione del processore generalmente sotto il kernel esiste fisicamente un
solo processore quindi il calcolatore potrebbe svolgere un solo programma alla volta(uni
programmazione)

il Kernel ha il compito di ripartire il tempo di calcolo del processore ai programmi in esecuzione,

realizzando la multiprogrammazione

Ciascun programma ha l’impressione di essere l’unico programma eseguito dal calcolatore

Il Kernel gestisce anche l’eventuale presenza di più processori

Scheduler
Uno scheduler: che scandisce il tempo di esecuzione dei vari processi e assicura che ciascuno

di essi venga eseguito per il tempo richiesto.

Normalmente lo scheduler gestisce anche lo stato dei processi e può sospenderne l’esecuzione
nel caso questi siano in attesa senza fare nulla (esempio classico è la richiesta di dati da disco).

Nei sistemi operativi realtime lo scheduler si occupa anche di garantire una time line, cioè un
tempo massimo di completamento per ciascun task in esecuzione

Gestore della memoria RAM


I programmi per poter essere eseguiti devono essere caricati (almeno in parte) in RAM assieme ai
loro dati.

–caricatore o loader programma del kernelche carica i programmi

Gestore della memoria

suddivide la RAM per assegnarne delle porzioni a ciascun programma in esecuzione

Memoria Virtuale
Un sistema di memoria virtuale:che alloca la memoria richiesta dai programmi e dal sistema
operativo stesso, salva sulla memoria di massa le zone di memoria temporaneamente non usate
dai programmi .

File System
Il gestore di file system: si occupa di esaudire le richieste di accesso alle memorie di massa.

Viene utilizzato ogni volta che si accede a un file su disco, e oltre a fornire i dati richiesti tiene
traccia dei file aperti e dei permessi di accesso ai file.

Compiti:
–fornire programmi per accedere e gestire i file

–rendere trasparente (nascondere) la struttura fisica della memoria di massa

–ottimizzare l’occupazione della memoria di massa

Il file system serve a stabilire in che modo i file vengono salvati e catalogati all’interno di un
qualsiasi supporto di memorizzazione come:

disco fisso, unità SDD, unità flash ecc.

Per prima cosa bisogna sapere che ogni unità contiene una o più partizioni di memoria, nel
secondo caso è possibile formattare ogni partizione di memoria con un file system differente.

Il file system organizza la conservazione delle informazioni relative ad ogni file: nomi, permessi e
tutti gli altri attributi. Tramite la creazione di un indice il file systemè inoltre in grado di indicare al
sistema operativo dove è memorizzato un file in modo che non sia obbligatorio effettuando una
ricerca sull’intero disco.

FAT 32 -NTFS -exFAT: differenze


Il file system FAT32 è il più datato ed a questo è dovuta una delle sue principali limitazioni,
l’impossibilità cioè di gestire file di dimensioni maggiori di 4 Gb.Anche le dimensioni delle

partizioni di default erano limitate a 32 Gb(da cui il nome) ma ad oggi è possibile, utilizzando

utilità esterne, arrivare al limite di 8 TB.

FAT32 può essere ancor’oggi la scelta giusta per formattare un'unità USB che deve essere

leggibile da quanti più dispositivi possibile (è compatibile con tutti i device, con tutte le varie

versioni di Windows, Mac OS X e Linux ed in generale con qualunque dispositivo sia dotato di

una porta USB) a patto ovviamente di non avere file di dimensioni superiori ai 4 GB da
memorizzarvi.

Il file system NTFS è la scelta giusta per formattare hard disk interni ed esterni. Le
"asticelle"poste da NTFS sono talmente elevate, che il file systemnon crea problemi per la
memorizzazione di nessun genere di file.

Rispetto ai precedenti file systemMicrosoft, infatti, NTFS può memorizzare file di dimensioni fino a
16 TB e può supportare partizioni fino a 256 TB di dimensione.

NTFS integra l'utilizzo di un journal ossia di un meccanismo che tiene traccia delle modifiche
apportate al file system. Se un'operazione venisse interrotta a metà (ad esempio in seguito alla
mancanza di energia elettrica), NTFS perde solo tale operazione evitando però che venga
compromessa l'integrità del file system.Il file system, poi, consente l'assegnazione di permessi
a file e directory, supporta la crittografia, permette l'uso dei nomi lunghi per i file (fino a 255 con
la possibilità di caratteri Unicode, utili per rappresentare i caratteri usati in qualunque lingua al
mondo) e dei cosiddetti hard links(associazione del nome di un file al suo contenuto).

NTFS non è compatibile con tutti i sistemi operativi. Di default, ad esempio, Mac OS X può
leggere da unità NTFS ma non scrivervi mentre molte distribuzioni Linux consentono oggi
l'accesso anche in scrittura.

Il file system exFAT è stato introdotto nel 2006 ed il suo supporto è stato introdotto anche nelle
versioni più vecchie di Windows, exFATè stato espressamente progettato per le unità flash come
sostituto di FAT32.

Esso, infatti, si conferma una file sytem leggero come FAT32, senza però le limitazioni di
quest'ultimo e senza le caratteristiche "extra" che contraddistinguono NTFS.
Conosciuto anche con l'appellativo di FAT64, exFATconsente la memorizzazione di file di
dimensioni superiori a 4 GB (il limite teorico passa a 16 exabyteossia 264bytes).

File System Re
FSIl file system ReFS (Resilient File System) è il file systempiù recente di Microsoft, progettato per
ottimizzare la disponibilità dei dati, gestire in modoefficiente la scalabilità per grandi quantità di
dati e per garantire l’integrità dei dati per mezzo della cosiddetta resilienza alla corruzione dei file.
ReFS è stato pensato per far fronte ai nuovi scenari di grande crescita dei dati e come base per le
future innovazioni.

ReFS utilizza cioè una struttura gerarchica a tabelle simile ai database relazionali.

I riferimenti alle directory sono stivati in una tabella principale, detta Object Table.

Per le directory e svengono conservate singole tabelle contenenti i riferimenti ai singoli file;
ciascun file viene poi posto in associazione con una tabella che ospita le informazioni addizionali
(metadati).

ReFS integra anche le cosiddette funzionalità di resilienza: non c'è quindi più bisogno di usare
utilità per il controllo della presenza di errori (ad esempio CHKDSK).

Il file system, in caso di copie di file danneggiate, penserà automaticamente a ripristinarne la


versione corretta.

Ogni qualvolta un file viene letto e scritto, ReFS ne controlla il checksum così da assicurarsi che
sia corretto.

La funzionalità Spazi di archiviazione di Windows citata nell'introduzione è in grado di riconoscere


un eventuale danneggiamento del file systeme risolvere automaticamente i problemi ripristinando
le copie "buone" dei file.

Il controllo di integrità sui file memorizzati, viene svolto da ReFS abitualmente e quindi non
soltanto in lettura e scrittura. Questo tipo di attività di controllo consente di risolvere buona
parte dei problemi e risolvere gli errori sul file system non appena questi si presentassero.

Per quanto riguarda la lunghezza dei percorsi in cui sono memorizzati i file, ReFS supera la
limitazione di 255 caratteri propria di NTFS: con ReFS, infatti, la lunghezza del nome di un file può
arrivare fino a 32.768 caratteri.

File System Mac OS -APFS, HFS+APFS.

Apple File System è stato introdotto in MacOSHigh Sierra e iOS 11.

E’ il più veloce. Questa partizione è ottimizzata per le SSD e qualsiasi cosa sia basata su una
memoria Flash (Penne USB, Memorie SD, EMMC, UFS). Come tale operare con questa partizione
sotto MacOSè la scelta migliore se avete una SSD o al limite un sistema Ibrido.

C’è una migliore compressione dei dati. Tutto ciò che occupava almeno 10 giga, ad esempio,
ne occupa 9. E non c’è nessuna riduzione nella velocità!

E’ più sicuro. Vista l’ottimizzazione per le SSD, la perdita di dati a causa d’errori vari ed eventuali
è minore.

MacOS Extended. HFS+. Una partizione che è stata usata per parecchio tempo da parte di Apple,
tanto da essere passato in più revisioni ad iniziare dal 1998!

E’ il più indicato per gli Hard Disk e qualsiasi cosa che sia più vecchio d’una SSD. E’ anche il più
indicato per i sistemi Ibrido. Come tale, gli HDD operano in maniera più efficiente sotto HFS+.

E’ compatibile con tutti i sistemi e con tantissimi programmi. Dal più vecchio MacOS fino al più
recente, e molti programmi possono aprire la partizione e farlo funzionare anche sotto Windows
nel caso.

Gestione I/O
La gestione delle periferiche deve

–rendere trasparenti le caratteristiche fisiche delle singole periferiche

–gestire la comunicazione di segnali verso i dispositivi

–coordinare l’accesso di più utenti (processi) alle stesse periferiche

Programma di gestione di una periferica è chiamato driver

Spooler -Shell•
• Uno spooler:che riceve dai programmi i dati da stampare e li stampa in successione,
permettendo ai programmi di proseguire senza dover attendere la fine del processo di stampa.

•Una interfaccia utente (Shell) che permette agli esseri umani di interagire con la macchina.

File

Un file è l’unità di dati elementare gestita dal file system ed è caratterizzato da un contenuto, cioè
una sequenza di byte che contiene informazioni tipicamente "omogenee"un identificatore, unico
per ogni file

I dati contenuti nel file devono essere opportunamente interpretati le regole con cui interpretare il
file sono chiamate formato del file
I formati dei file corrispondono a codifiche convenzionali di informazioni adottate dalle
applicazioni

Per ogni file vengono memorizzate varie ulteriori

informazioni

• identificatore
nome file.estensione

• data di creazione e di ultima modifica

• dimensione
• posizione effettiva dei dati nella memoria di massa

• permessi di accesso
etc

Nome dei file


Un file è identificato da un percorso ed un nome
•il percorso indica la sequenza delle cartelle che occorre traversare per raggiungere il filein alcuni
sistemi indica anche il volume in cui si trova il file

•il nome è unico all’interno della cartella in cui si trova il fileil nome può contenere il
carattere“.”(punto) la parte terminale del nome dopo l’ultimo punto (quando presente) viene
chiamata estensione

l’estensione
è lunga generalmente tre caratteri (esempi: .txt.doc.exe.htm, ...)in alcuni sistemi (tipicamente DOS
e Windows) l’estensione identifica il formato del file

Linux
per quanto riguarda i nomi dei file e delle directory è case-sensitive (sensibile alla differenza

tra minuscole e maiuscole)

In una stessa directory possiamo avere i file lettera, Letterae LETTERA

Windows è case-preserving: memorizza i nomi con le maiuscole cosi come li si scrive (salvo
qualche caso) ma non fa differenza quando facciamo delle ricerche

Il carattere separatore nei percorsi per Linux è la barra ordinaria (/) mentre in Windows è quella
rovescia (\)

Estensioni
In Windows il concetto di estensione è parte integrante del sistema operativoAd Esempio: un file
eseguibile deve avere un estensione .EXE un file batchuna estensione .

Bat

In Linux il sistema operativo non usa il concetto di estensione in quanto tale. Sono le singole

applicazioni che, se lo desiderano, possono usare le estensioni per qualche fine

Operazioni sui file


Il sistema operativo mette a disposizione degli utenti le seguenti operazioni

•Creazione l’utente, o più spesso un’applicazione lanciata dall’utente, può creare file ed
aggiungerli al file system

•Cancellazione l’utente può cancellare un file

•Apertura l’utente, o più spesso un’applicazione lanciata dall’utente, può dichiarare di essere

interessato a leggere o scrivere su un file questa dichiarazione serve a prevenire la modifica del
file da parte di altri utenti/applicazioni

•Chiusura l’utente dichiara di aver terminato la lettura/modifica del file

•Lettura l’utente legge il file

•Scrittura l’utente aggiorna il file

Rapporto tra file e applicazioni: file eseguibili

Alcuni file, chiamati programmi o applicazioni, sono riconosciuti dal sistema operativo come
eseguibili
Nei sistemi Windows i file eseguibili sono determinati dalla loro estensione(.exe .com.bat)

Nei sistemi Linux i file eseguibili non si possono riconoscere dal nome, ma sono esplicitamente
etichettati come tali con speciali comandi

Organizzazione dei File


File organizzati logicamente in modo gerarchico

–un albero rovesciato (come quello genealogico)

Organizzazione logica non è in relazione con l’organizzazione fisica

–la posizione fisica nella memoria di massa

Organizzazione ad albero

Albero formato da nodi e archi (collegamenti) tra i nodi

•Nodo dell'albero

–file o directory

–divisi per livelli

•Collegamenti tra nodi di livelli vicini

–nodo sopra = padre

–nodo sotto = figlio

•Ogni nodo ha un solo padre

•Il padre più in alto è chiamato radice

•I nodi che sono file non hanno figli

•Cammino assoluto o relativo (per file)

Cartelle -Volumi
Una cartella (o directory) è un contenitore di file e cartelle

Un volume è una unità logica che contiene file e cartelle e corrisponde ad una porzione (detta

partizione) della memoria di massa gestita dal file system

Volumi e Cartelle in Windows


I sistemi Windows gestiscono un albero di cartelle separato per ogni volume questa caratteristica
deriva dal DOS

“Disk Operating System”

ad esempio:

•il file a:\miadir\prova.txt risiede nel volume a:


•Il file c:\win\log.txt risiede nel volume c:

Volumi e Cartelle in Unix


I sistemi Unix (come per esempio Linux) presentano all’utente un singolo albero di cartelle,
nascondendo l’effettiva dislocazione dei file nei volumi

ad esempio

il file /home/user/miadir/prova.txt
potrebbe risiedere su un disco diverso da quello su cui risiede il file /usr/bin/ls, ma entrambi i file

appartengono allo stesso albero di cartelle

Programma e processo
Per un file eseguibile o programma, oltre alle consuete operazioni(creazione, cancellazione,
apertura, chiusura, lettura e scrittura) l’utente può richiedere l’operazione di esecuzione

Quando esegue un programma il sistema operativo reperisce nel file system il file contente il
codice eseguibile del programma alloca al programma le risorse necessarie per la sua

esecuzione (ad esempio, una certa quantità di memoria centrale) copia il codice eseguibile del
programma in memoria centrale avvia l’esecuzione del programma

Un programma in esecuzione viene chiamato processo


il processo non va confuso con il file eseguibile, o programma, corrispondente

L’utente potrebbe richiedere l’esecuzione contemporanea dello stesso programma più volte,
generando diversi processi tutti corrispondenti allo stesso programma

Interprete comandi
L’interprete comandi è l’interfaccia utente del sistema operativo è un programma che
consente all’utente di interagire con la macchina e definisce le operazioni che possono essere
utilizzate direttamente dall’utente finale, chiamate comandi

Ci sono due tipi di interfacce: quelle a linea di comando CLI (command line interface) e le
interfacce grafiche GUI (GraphicalUser Interface).

esempi di comandi sono

–esecuzione di una applicazione

–apertura di un documento (eseguendo l’applicazione in grado di interpretare il suo format

Confronto tra i comandi DOS e Linux

Confronto tra i comandi DOS e Linux


Confronto tra i comandi DOS e Linux

Differenza tra Powershell e Prompt dei comandi Windows


l prompt dei comandi èl'interfaccia a riga di comando fornita da Microsoft a partire da

Windows NT.

Ha una struttura di comando user-friendlyed è ampiamente utilizzato per eseguire file batch,

risolvere i problemi di Windows, eseguire azioni avanzate, ottenere informazioni e altre cose.

Molti lo chiamano "il promptDOS", anche se non ha nulla a che fare con il vecchio sistema

MS-DOS.

Differenza tra Powershell e Prompt dei comandi Windows


PowerShell è uno strumento simile ma è molto più avanzato in termini di funzionalità, capacità e
funzionamento interno rispetto al prompt dei comandi, è basato su .NET Framework, utile
soprattutto a compilare comandi in serie, ad automatizzare attività e ad eseguire alcune
operazione di sistema che non possono essere fatte dal prompt classico.

PowerShell si integra profondamente con il sistema operativo Windows ed è spesso utilizzato


dagli amministratori di sistema e dai professionisti IT per svolgere attività automatiche e per
gestire la configurazione, ad esempio, di Active Directory.

Software Applicativo
Viene detto Software applicativo (o semplicemente "applicativi") l'insieme dei programmi che non
sono compresi nel sistema operativo, ma che vengono invece installati dall'utente per svolgere
compiti specifici. Tali programmi non gestiscono direttamente le risorse di un p.c., ma
usufruiscono dell’astrazione fornita dal S.O.

Indicativamente potremmo dividere i software applicativi in 5 categorie:

Utilità di Sistema: programmi che servono per migliorare la gestione e la sicurezza della
macchina, come ad esempio gli stessi antivirus, oppure programmi per l'ottimizzazione delle
risorse.

Office Automation: programmi di ausilio nei normali lavori d'ufficio, quindi creazione e
elaborazione di testi (word processor), gestione di basi di dati (database), fogli di calcolo, posta
elettronica, navigazione in Internet, ecc.

Applicazioni aziendali: programmi creati per le necessità specifiche delle aziende, come ad
esempio i programmi per la fatturazione o per la gestione del personale, dei magazzini, dei
macchinari industriali.

Strumenti di sviluppo: programmi per la creazione di oggetti multimediali (pagine Web,


animazioni e CD interattivi), elaborazione audio/video/immagini.

Giochi e svago: giochi, emulatori, lettori audio e video.

Struttura

Esempi Applicativi
Sono applicativi:

•i programmi antivirus (Norton, McAffee, Panda, ...)

•i programmi per la compressione dei file (Winzip, WinRar, ...)

•i programmi per la posta elettronica ( Eudora, Outlook Express, ...)

•i programmi per il ritocco fotografico (Photoshop, PaintShopPro, ...)

•i programmi per la composizione multimediale (Dreamweaver, FrontPage, Flash, Director, ...)

•i programmi audio/video (QuickTimePlayer, RealPlayer, ...)

Uso di Windows Gestione dei File

Differenze sistema operativo Windows 32 bit e 64 bit ?


La differenza più eclatante sta nella gestione della memoria RAM.

Un sistema operativo a 32 bit per sua natura è capace di gestire un quantitativo di memoria

RAM non superiore ai 4GB, mentre un sistema operativo a 64 bit può arrivare attualmente a
gestire sino a ben 192GB.

Differenze sistema operativo Windows 32 bit e 64 bit ?


Perché un sistema operativo a 32 bit è limitato a 4GB di RAM ?

La risposta è “semplice”; il linguaggio macchina del computer opera attraverso il sistema


numerico binario, il quale impiega un alfabeto composto unicamente da 2 simboli detti bit: 0 e 1.

Un processore a 32bit è dunque in grado di indirizzare alla memoria 2bit elevati alla potenza del
numero dei registri della nostra CPU che nel nostro caso sono 32.

Traducendo la spiegazione in formula matematica otteniamo 2^32bit = 4.294.967.296 byte (4


Gigabyte di RAM).

Un processore a 64bit ha un numero di registri pari a 64bit, conseguentemente sarà in grado di


indirizzare alla memoria 2^64 = 18.446.744.073.709.551.616 byte (16 Exabyte = 17.179.869.184

Gigabyte).

Vantaggi Sistemi 64 bit-Protezione


• esecuzione programmi: i sistemi operativi a 32 bit impiegano una protezione basata su
software mentre i 64 bit una protezione hardware

• Protezione di patch del kernel: disponibile solo nei sistemi operativi a 64 bit, impedisce ad un
programma di danneggiare il kernel del sistema.

• La firma dei driver : i sistemi operativi a 32 bit accettano driver senza firma digitale che
potrebbero in alcuni casi creare instabilità (crash) nel sistema, mentre con i 64 bit questo non
può accadere, in quanto l'installazione avviene solo nel caso in cui il driver sia certificato e
firmato digitalmente dallo sviluppatore.

• Maggiore velocità nell'esecuzione di software: un software progettato a 64 bit offrirà


prestazioni superiori rispetto alla versione 32 bit.

Tabella Riassuntiva 32 vs 64

Windows 10 –Breve Storia


Windows 10 è di fatto l’ultimo sistema operativo di casa Microsoft lanciato dalla compagnia
americana il 29 luglio 2015. Viene rilasciato come aggiornamento gratuito per ben 190 paesi e si
pone come obbiettivo quello di essere “L’unica esperienza di utilizzo per tutti i dispositivi, sia
desktop sia mobile”, anche se poi a distanza di alcuni mesi, Microsoft abbandonerà lo sviluppo
nel Mobile.

È comunque utilizzabile in modalità̀ desktop e in modalità Tablet, qual ora il dispositivo abbia un
display multitouch.

Microsoft salta così la versione 9 e introduce il primo sistema “Windows-as-Services”, ossia un


prodotto costantemente e continuamente aggiornato in modo automatico. Microsoft migliora
decisamente anche l’assistente vocale dedicato, conosciuto con il nome di Cortana, con il quale
poter interagire in un linguaggio naturale e di impartire comandi, effettuare ricerche o attivare e
disattivare funzionalità del PC, oltre a gestire tutta una serie di notifiche dell’utente.

Nuove Funzionalità
Numerose sono le funzioni introdotte che possiamo di seguito riassumere:

•Cortana

• DirectX 12 e WDDM 2.0

• Promptdei comandi migliorato

• Microsoft Edge

• Centro notifiche

• Desktop virtuali

• Ripristino del sistema migliorato

• Pannello impostazioni migliorato

• Suggerimenti in app

• Esplora risorse miglioratoVengono rimosse alcune caratteristiche presenti in Windows 8:

• Windows media Center

• Driver per supporto floppy

• Altre piccole opzioni

Requisiti minimi di installazione


•Processoreda1 GHz o superiore;

• RAM:1 GB per i sistemi a 32 bit, 2 GB per i sistemi a 64 bit;

• Display: risoluzione minima 1024 x 600 pixel;

• GPU: supporto alle DirectX 9 o superiori con driver WDDM 1.0;

• Hard Disk o Memoria di massa:32 GB sia per la versione a 32 bit, sia per quella a 64 bit.

Versioni Windows 10

Installazione Pulita - Creare un supporto


Scaricare lo strumento Media Creation Tool -Download Tool installazione Windows 10

•Appena scaricato avviatelo ed accettate le condizioni di licenza Microsoft, successivamente


selezionate la voce "Crea un supporto di installazione (Unità flash USB, DVD, o file ISO) per un
altro PC.

•Nella schermata successiva lasciare le impostazioni invariate (a meno che non vogliate cambiarle
con altre) e proseguite

•Selezionate il formato di destinazione: File ISO per poi essere masterizzato su un DVD oppure
Unità Flash USB (minimo da 8GB) per eseguire l'installazione con l'avvio tramite chiavetta.

•Selezionare l'unità dove copiare il pacchetto di aggiornamento. Nell'esempio abbiamo


selezionato l'unità USB come potete vedere dalle immagini sottostanti

Concludendo l'operazione, lo strumento utilizzato scaricherà tutti i file necessari per potere
eseguire un'installazione pulita e li copierà all'interno della chiavetta USB (nel nostro caso).

Modalità di aggiornamento
E’ possibile eseguire l'aggiornamento di Windows 10 a partire da Windows 7 e ovviamente da
Windows 8 e 8.1, il tutto senza perdere dati personali, programmi installati e impostazioni varie.

Durante il primo anno di rilascio, l'aggiornamento poteva essere effettuato in modo gratuito
attraverso l'assistente di aggiornamento, che compariva nella barra delle notifiche;

Dal secondo anno e fino ad oggi è comunque possibile aggiornare gratuitamente Windows 7 e
successivi a Windows 10 per coloro che dichiarano di utilizzare le tecnologie assistive, solo
attraverso il download e l'utilizzo del tool ufficiale di aggiornamento Microsoft. Attraverso lo
strumento messo a disposizione di Microsoft è possibile procedere con l’assistente di
aggiornamento durante l’anno di promozione gratuita oppure utilizzando un supporto creato ad-
hoc, avviando il file di installazione dall'interno del sistema operativo precedente.

Modalità di aggiornamento

Facendo clic su avanti il procedimento passerà per il Download di windows 10 (nel caso di utilizzo
dello strumento Media Creation Tool) o per l’apertura della (nel caso di utilizzo di DVD o Chiavetta
USB).

Successivamente potrete decidere se mantenere i vostri dati e le vostre applicazioni, solamente i


vostri dati o se eseguire una installazione cancellando il contenuto

Installazione virtualizzata su Mac con VirtualBox


Passo 1: Scarica e installa il software di virtualizzazione

L’esecuzione di un software di virtualizzazione è un’operazione abbastanza intelligente perché


non va a compromettere in nessun modo il funzionamento del nostro pc, e con il Mac, potremmo
intraprendere strade sia con VirtualBox, sia con Parallels o VMware Fusion.

Passo 2: Creare una nuova macchina virtuale

•Avviare VirtualBox

•Fare clic sul pulsante Nuovo

•Nel campo Nome, digitare “Windows 10” o qualsiasi altra cosa volete mettere

•Lasciare Tipo come Microsoft Windows

•Fare clic sul menu e selezionare Windows versione Windows 10 (64 bit)

Installazione virtualizzata su Mac con VirtualBox

Installazione virtualizzata su Mac con VirtualBox


Successivamente decidete quanta memoria RAM dedicare e lasciate le impostazioni predefinite
per le prossime schermate:

un disco rigido virtuale, impostazioni standard per il tipo di file VDI e allocare l’unità
dinamicamente fino a cliccare sul tasto crea. Questo creerà una macchina virtuale che sarà
elencata in Gestione di VirtualBox che avvieremo con il tasto apposito “Avvia”.

Passo 3: Installazione di Windows 10

•Al termine della creazione della macchina virtuale, avremo un messaggio che ci chiederà di dargli
in pasto il file ISO mediante il quale verrà installato Windows 10.Procediamo dunque con la ISO

Successivamente, fare clic sul pulsante Start e seguire le istruzioni fornite dall’installazione di
Windows 10, verrà chiesto dove si desidera installare Windows; l’unica opzione dovrebbe essere
un disco con spazio non allocato corrispondente al disco rigido virtuale appena creato in
VirtualBox. Selezionarlo e fare clic su Avanti.

Ripristino di Sistema
Qual ora il sistema operativo dia cenni di malfunzionamenti o altri problemi non risolvibili
nell’immediato o semplicemente volete dare una ripulita al computer, si può fare affidamento

sulla funzionalità Ripristino.

Per poter accedere a questa modalità dovrete recarvi in:

Tutte le impostazioni-> Aggiornamento e Sicurezza-> Ripristinoe cliccare su “Per Iniziare”


sotto la scritta Ripristino –Reimposta il PC

A quel punto si aprirà un'altra finestra che ci permetterà anche in questo caso di mantenere o
meno i nostri file e le nostre applicazioni.

Nel caso il sistema operativo si blocchi prima di effettuare l’accesso è possibile accedere allo

speciale menu di diagnostica e soluzione attraverso questi passaggi:

Dalla schermata di login, tenere premuto il tasto MAIUSC, fare clic sul pulsante di Arresto

nell’angolo in basso a destra e selezionare Riavvia.

Il computer si riavvierà e vi porterà ad una schermata di selezionare nella quale scegliere


‘Risoluzione dei problemi’.

Nella schermata successiva, fare clic su Reimposta ilPC.

Si aprirà una nuova finestra che proporrà due opzioni: Mantieni i miei file o Elimina tutto. La prima
opzione manterrà intatti documenti personali, foto e file musicali intatti, mentre entrambe le
opzioni rimuoveranno tutte le tue applicazioni, programmi e impostazioni.

Nel caso si sia scelto “Elimina tutto” nella fase precedente, ora avete la possibilità di scegliere
“Rimuovi soli i miei file personali” o “Rimuovi i file e pulisci l’unità” Nella maggior parte dei casi,
selezionare “Rimuovi soli i miei file personali”, mentre nel caso si sia deciso di vendere il PC o
comunque lasciarlo utilizzare a qualcun altro e si voglia garantire la propria privacy sarà meglio
scegliere “Rimuovi i file e pulisci l’unità”

Premere Ripristina. Il PC si riavvierà automaticamente per iniziare il processo di ripristino di


fabbrica.

Principali Funzioni
Menu startCon Windows 10 torna il menu start rivisto che unisce quanto di buono c’era su
Windows 7 con quello introdotto su Windows 8.1:

Menu start
Il nuovo menu offre la possibilità di essere personalizzato come meglio si crede ed è suddiviso in
tre macro aree:

Nella sezione 1 si trovano i tasti per lo spegnimento/riavvio/sospensione del computer, il tasto


per le impostazioni generali del PC e il tasto legato all’utente connesso, e andando in alto il menu
hamburger per espandere/comprimere questa zona.

Nella sezione 2 troviamo invece l’elenco dei programmi e delle Universal Appinstallate sulla
macchina, ordinate in modo alfabetico, con i programmi installati nell’ultimo periodo nella parte
alta.

Nella terza sezione troviamo la parte composta dalle Universal App(Viste già su Windows 8 e 8.1
con il nome di “Tile”) che possiamo personalizzare a nostro piacimento.

•Un menu decisamente nuovo e ricco di personalizzazioni che non ci fa certo più pensare a quello
utilizzato su Windows 7.

Principali Funzioni
Ricerca
Altra innovazione introdotta è la nuova funzione di ricerca, che troviamo posizionata sulla barra
delle applicazioni, di fianco al menu start.

Il motore di ricerca associato è Bing, ma esistono diversi metodi per impostare anche Google o
altro. Possiamo poi effettuare ricerche anche per vedere le previsioni del tempo, e molte

altre.

Associata alla ricerca abbiamo l’assistente vocale Cortana con il quale poter interagire sia in
ambito di ricerca, sia con vere e proprie operazioni come ad esempio l’apertura di programmi.

Può inoltre eseguire l’invio di SMS, impostare i promemoria o abilitare/disabilitare funzionalità,


oltre ad effettuare le medesime ricerche viste prima attraverso l’input vocale.

Principali Funzioni
Visualizzazione attività

Proseguendo verso destra nella barra delle applicazioni, subito dopo la ricerca troviamo il tasto
Snap o visualizzatore di attività. Questo ha due funzioni: mostra le anteprime delle applicazioni
aperte e permette di creare nuovi desktop virtuali.

Barra e area notifiche


Ridisegnata anche la parte relativa alle notifiche con l’aggiunta dei contatti o persone (aggiunta
avvenuta con la build 1709) e implementata l’area notifiche che oltre a fornire notifiche di diverso
genere, ci mostra anche una serie di Toggle per cambiare alcune impostazioni e per entrare
direttamente nelle nuove impostazioni di Windows.

Prompt dei comandi


Su Windows 10 viene introdotta l’implementazione del Prompt dei comandi dove ora è possibile
utilizzare una nuova serie di opzioni sperimentali, rendendolo uno strumento più moderno e
fruibile anche con tradizionali scorciatoie da tastiera, come ad esempio incollare il testo al suo
interno utilizzando la combinazione di tasti Ctrl + V.

Stampante PDF
Tra le ultime novità introdotte troviamo la comodissima stampante PDF, che non è altro che una
stampante virtuale dove poter stampare per produrre file PDF

Funzioni introdotte con la 1803


Miglioramenti all’interfaccia di sistema
La prima cosa che Windows 10 April 2018 porta con sé è un netto miglioramento
dell’interfaccia grafica.
Sequenza temporale “Timeline”
La prima introduzione, sicuramente carica, è l’aggiunta di una funzionalità che funziona un po’
come “macchina del tempo“. È uno strumento che fa da cronologia per l’utente. In questo caso
però non sarà possibile soltanto trovare gli ultimissimi siti web visitati, ma funzionerà da
cronologia per l’intero sistema operativo.

Focus Assist è il nuovo “Non Disturbare”


Un’altra delle nuove funzioni inserite è Focus Assist. Focus Assist è essenzialmente una versione
aggiornata della funzione “Non disturbare” che era già presente in Windows 10. Questa funzione
offre opzioni di “snoozing” delle notifiche più intelligenti ed offriva un resoconto generale delle
notifiche più importanti quando si va a

disattivare tale modalità.

Attivare il nuovo Focus Assist è semplicissimo perché si trova nella medesima posizione della
funzione “Non Disturbare”: apri il Centro operativo facendo clic sull’icona all’estrema destra della
barra delle applicazioni o premendo Windows + Asulla tastiera. Quindi fai clic su Focus Assist
(Assistente notifiche) per attivare la funzione (espandi tutte le funzioni nel caso le abbia
compresse). Attivandolo non visualizzerai alcuna notifica sullo schermo finché non lo spegni di

nuovo. Quando disattiverete la modalità Focus Assist, ottenete un piccolo riassunto di tutto ciò
che è successo nelle vostre notifiche.

È anche possibile attivare manualmente la funzione, per farlo apri Impostazioni (tramite l’icona a
forma di ingranaggio nel menu Start), quindi fai clic su Sistema e Focus Assist. Puoi impostare le
ore che non vuoi essere disturbato e autorizzare determinati contatti che possono bypassare la
barriera Focus Assist per raggiungerti in qualsiasi momento.

Nuove funzioni di dettatura


Windows 10 offre già dei comandi di dettatura che sono stati ulteriormente migliorati con questo
nuovo aggiornamento. Ora Microsoft ha aggiunto un modo più rapido per attivare questa
funzionalità. I nuovi comandi in modalità “Dettatura” possono essere lanciati con la scorciatoia

Windows + H e permettono di dettare su qualsiasi applicazione.

Purtroppo in Italiano non sono ancora attivi, ma dovrebbero essere resi disponibili entro breve

Selezione automatica dell’uscita audio


Con il nuovo aggiornamento Microsoft ha aggiunto alcune nuove straordinarie funzionalità audio.
Ora puoi impostare i dispositivi audio di input o di output per applicazione. Cosa significa?

Praticamente si potrà scegliere dove ascoltare l’audio a seconda del dispositivo che utilizzi.

Per esempio: si potrà far uscire l’audio di Spotify dagli altoparlanti, mentre l’audio del browser

passa attraverso un auricolare. Le nuove impostazioni audio ti consentono di personalizzare sia


l’input che l’output per applicazione, quindi le possibilità che si aprono sono praticamente infinite.

Collegamento rapido dispositivi Bluetooth


Windows 10 April 2018 Update migliora in modo significativo anche il modo in cui il sistema
operativo si abbina alle periferiche Bluetooth. La configurazione sarà molto più rapida e semplice.

Quando un dispositivo in modalità accoppiamento si trova nel raggio di azione di Windows


10, verrà visualizzata una notifica che richiede di accoppiarlo. Basterà fare clic su di esso e la
periferica sarà già utilizzabile senza la necessità di andare all’interno delle impostazioni.

Windows Defender: meno notifiche ma più intelligenti


Supporto alle HEIF con Windows 10 April 2018
Un’altra interessantissima novità è l’arrivo del supporto alle nuove immagini HEIF.

Si tratta di un formato video che va a migliorare la qualità ed il livello di compressione della stessa
immagine rispetto ad altri formati. Le immagini, per farla breve, avranno un peso minore ma la
qualità non verrà assolutamente compromessa.

Funzioni introdotte con la 1809


Nuovo Strumento di cattura

L’applicazione è stata riscritta completamente e

si integra con il toggle “Cattura Schermo” situatonel Centro Notifiche che ci permette di
catturare gli elementi del desktop o delle applicazioni che stiamo utilizzando con 3 opzioni:
catturate tutta la schermata, una parte del display con movimenti liberi e l’ultima per la cattura a
riquadri selezionabili.

Altre funzionalità minori


•Introdotta la ricerca di Bing nel Blocco Note.

•Nuova interfaccia per Cortana.

•StickyNotes 3.0

•FluentDesign esteso ad altre parti di Windows 10.

•Supporto di Microsoft EdgealleWeb AuthenticationAPIsdi Windows Hello.

•Le periferiche Bluetooth collegate sono in gradi di comunicare al PC la percentuale di batteria


rimanente.

Funzioni introdotte con la 1903


Il menu Start, il Centro operativo, la barra delle applicazioni, i menu di scelta rapida e la tastiera
touch sono stati riveduti con un nuovo tema “leggero” che modifica l’interfaccia passando a colori
più chiari. Ciò conferisce a Windows 10 un aspetto fresco e moderno.

Windows Update
Microsoft dà all’utente la possibilità di non installare automaticamente le nuove funzionalità, ma di
procedere all’installazione manualmente. Ovviamente le impostazioni di sicurezza ed i driver più
aggiornati per il proprio dispositivo saranno installati automaticamente come da norma.

La schermata di blocco è stata aggiornata, ora lo sfondo, quando tenteremo di eseguire il Login,
si

offuscherà, insomma, si tratta di una novità grafica, nulla più.

Funzioni introdotte con la 1909


l servizio Windows Update si occupa di scaricare aggiornamenti del sistema operativo: purtroppo
soprattutto su hardware più datato può capitare che uno specifico aggiornamento o un nuovo
driver generi instabilità nel sistema con blocchi sporadici oppure, nei casi più gravi, non consenta
più l’avvio di Windows 10.

Purtroppo Microsoft non ha previsto la possibilità nativa di consentire agli utenti di bloccare uno
specifico aggiornamento su Windows Update, impedendo di fatto di risolvere un problema anche
dopo aver diagnosticato quale aggiornamento ne sia stata la causa.

Microsoft è corsa al riparo, rilasciando un apposito tool, chiamatoHide Updates Tool da qui che
una volta scaricato ed avviato consente di scegliere quale aggiornamento nascondere a

Windows Update, impedendone di fatto l’installazione.

Riabilitare le opzioni di avvio avanzate F8


Come riabilitare le opzioni di avvio avanzate F8 di Windows 10
•Avviare un Prompt dei comandi con i privilegi di amministrazione

•Digitate bcdedit/set {default} bootmenupolicy legacy

•Premere invio ed attendere il messaggio di conferma dell’avvenuta modifica

•Riavviate il PC e premete F8.Le opzioni di avvio avanzate saranno nuovamente disponibili

Disabilitare le opzioni di avvio avanzate F8 di Windows 10


•Avviare un Prompt dei comandi con i privilegi di amministrazione

•Digitare bcdedit/set {default} bootmenupolicystandard

•Premere invio ed attendere il messaggio di conferma dell’avvenuta modifica

Opzioni di avvio avanzate F8 Windows 10


Ripristina il computer
–Visualizza un elenco di strumenti di ripristino del sistema che è possibile utilizzare per riparare i
problemi relativi all’avvio, eseguire la diagnostica o ripristinare il sistema. Questa opzione è
disponibile solo se gli strumenti sono installati nel disco rigido del computer. Se si dispone di un
disco di installazione di Windows, gli strumenti di ripristino del sistema sono disponibili su di esso.
Per ulteriori informazioni, vedere Ripristino all’avvio: domande frequenti.

Modalità provvisoria
–Consente di avviare Windows con un set minimo di driver e servizi. Per ulteriori informazioni,
vedere Che cos’è la modalità provvisoria?

Modalità provvisoria con prompt dei comandi


–Consente di avviare Windows in modalità provvisoria visualizzando una finestra del prompt

dei comandi anziché la consueta interfaccia di Windows. Questa opzione deve essere utilizzata
da professionisti IT e amministratori o e che può risultare utile per la risoluzione avanzata dei
problemi.

Attiva video a bassa risoluzione (640×480) –Consente di avviare Windows con il driver video
corrente e impostando una risoluzione e una frequenza di aggiornamento basse. È possibile
utilizzare questa modalità per ridefinire le impostazioni dello schermo. Per ulteriori informazioni,
vedere Modifica della risoluzione dello schermo.

Ultima configurazione valida nota (avanzata) –Consente di avviare Windows con l’ultima
configurazione del Registro di sistema e dei driver funzionante correttamente. Per ulteriori
informazioni, vedere Utilizzo dell’ultima configurazione valida nota.

Modalità ripristino servizi directory–Consente di avviare il controller di dominio Windows che


esegue Active Directory in modo tale da poter ripristinare il servizio directory. Questa opzione
deve essere utilizzata da professionisti IT e amministratori.

Modalità di debug–Consente di avviare Windows in una modalità avanzata della risoluzione dei
problemi destinata ai professionisti IT e agli amministratori di sistema.

Disabilita riavvio automatico in caso di errore di sistema–Impedisce che Windows venga


riavviato automaticamente nel caso in cui un errore determini la chiusura di Windows.

Scegliere questa opzione solo se in Windows si verifica una situazione nella quale Windows si

chiude, tenta di riavviarsi e continua a richiudersi.

Disabilita imposizione firma driver–Consente l’installazione di driver contenenti firme non


corrette

Utilizzare file e cartelle


Un file è un elemento contenente informazioni, ad esempio testo, immagini o musica. Quando
viene aperto, un file può risultare simile a un documento di testo o a un'immagine come quelle
presenti sulle scrivanie o contenute negli archivi. Nel computer i file sono rappresentati da icone,
che facilitano il riconoscimento del tipo di file.

Utilizzare file e cartelle


Una cartella è un contenitore in cui è possibile archiviare i file. Se su una scrivania si
disponessero

migliaia di documenti cartacei, sarebbe praticamente impossibile trovare quello desiderato nel
momento opportuno. Per questo motivo tali documenti vengono spesso organizzati in cartelle
all'interno di un archivio

Come modificare i permessi a file e Cartelle


Cerchiamo la cartella a cui vogliamo cambiare i permessi. Facciamo clic destro sulla cartella e
“Proprietà“.

A questo punto ci dovrebbe essere una scheda nominata “Sicurezza”

Come modificare i permessi a file e Cartelle

Come modificare i permessi a file e Cartelle


Andare su Modifica selezionare l’utente a cui si vogliono dare i permessi, se non c’è aggiungerlo
con il tasto aggiungi e infine selezionare i permessi

Possiamo dare singoli permessi es Modifica, Scrittura ecc oppure controllo completo alla nostra
cartella

Se vogliamo estendere i permessi dati all’utente da non specificato alla cartella anche ai file e

alle cartelle figlie andiamo su Avanzate e clicchiamo Cambia Autorizzazioni e spuntiamo la voce

Sostituisci tutte le autorizzazioni degli oggetti figli con le autorizzazioni e reditabili derivate da
questo oggetto

Come modificare i permessi a file e Cartelle


Modifica delle proprietà di un file
Le proprietà del file sono informazioni dettagliate su un file, come i nomi degli autori, i tag o la
data dell'ultima modifica del file.

Le proprietà facilitano l'individuazione e l'organizzazione dei file. Ad esempio, è possibile cercare


un file a partire da una delle sue proprietà.

Aggiungere o modificare le proprietà dei file


1.Aprire la cartella contenente il file che si desidera modificare e quindi fare clic (non doppio clic)
sul file.

2.Nel riquadro dei dettagli disponibile nella parte inferiore della finestra fare clic sulla proprietà che
si desidera aggiungere o modificare, digitare la nuova proprietà o modificare quella esistente e
quindi fare clic su Salva.

aggiungere o modificare le proprietà dei file

Per aggiungere più proprietà, separare ogni voce con un punto e virgola. Per classificare un file

mediante la proprietà di classificazione, fare clic sulla stella che rappresenta la classificazione che

si desidera applicare

aggiungere o modificare le proprietà dei file


•Se la proprietà del file che si desidera aggiungere o modificare non è disponibile nel riquadro dei
dettagli, è possibile aprire la finestra di dialogo Proprietà per visualizzare un elenco completo delle
proprietà del file.

•Aprire la cartella contenente il file che si desidera modificare.

•Fare clic con il pulsante destro del mouse sul file e quindi scegliere Proprietà.

•Nella finestra di dialogo Proprietà fare clic sulla scheda Dettagli.

•In Valore fare clic sulla proprietà che si desidera aggiungere o modificare, digitare una parola o
una frase e quindi fare clic su OK. Se la sezione Valore è vuota, fare clic in tale punto. Verrà
visualizzata una casella.

È possibile aggiungere o modificare le proprietà durante la creazione o il salvataggio di un file,


evitando così di cercare i file e di applicare le proprietà successivamente.

1.Nel programma utilizzato scegliere Salva con nome dal menu File.

2.Nella finestra di dialogo Salva con nome digitare i tag e le altre proprietà nelle caselle
appropriate.

Un'estensione di file è un insieme di caratteri aggiunto alla fine di un nome di file che determina il
programma con cui aprirlo. Per scegliere se visualizzare le estensioni di file in Windows, eseguire
la procedura seguente.

Account utente
Un account utente è un insieme di informazioni che indica a Windows a quali file e cartelle ha
accesso un utente, quali modifiche al computer può eseguire e quali sono le preferenze personali,
ad esempio lo sfondo del desktop o lo screen saver. Gli account utente consentono di
condividere un computer con più persone, mantenendo i propri file e le proprie impostazioni.
Ognuno accede al proprio account utente con un nome utente e una password.

• E’ necessario avere un account utente per Utilizzare Windows

•Non è necessario utilizzare una password per un utente ma è consigliato

•Se nel computer sono presenti più account utente, è possibile passare a un altro account utente
senza eseguire la disconnessione o chiudere programmi. Questa procedura è denominata
Cambio rapido utente. Per passare a un account utente diverso eseguire la procedura seguente:

Fare clic sul pulsante Start , scegliere la freccia accanto al pulsante Chiudi sessione (ARRESTA ) ,
quindi fare clic su Cambia utente.

Tipologia Account Utente


Sono disponibili tre tipi di account. Ogni tipo offre all'utente un diverso livello di controllo sul
computer.

•Gli account standard sono indicati per l'utilizzo quotidiano del computer.

•Gli account Administrator consentono di controllare il computer in modo completo e dovrebbero


essere utilizzati solo se necessario.

•Gli account Guest vengono assegnati soprattutto a utenti che devono utilizzare il computer solo

temporaneamente.

Differenza tra un dominio, un gruppo di lavoro e un gruppo home?


•I domini, i gruppi di lavoro e i gruppi home rappresentano metodi diversi per l'organizzazione dei
computer nelle reti. La differenza principale consiste nella modalità di gestione dei computer e
delle altre risorse nella rete.

•I computer con Windows in una rete devono far parte di un gruppo di lavoro o un dominio. I
computer con Windows in una rete domestica possono far parte anche di un gruppo home, ma
non è necessario.

•I computer in reti domestiche fanno in genere parte di un gruppo di lavoro e talvolta di un gruppo
home, mentre i computer in reti aziendali fanno in genere parte di un dominio.

Gruppo di lavoro
•Tutti i computer sono peer. Nessuno di essi ha il controllo su un altro.

•In ogni computer è configurato un insieme di account utente. Per accedere a uno dei computer
nel gruppo di lavoro, è necessario disporre di un account in tale computer.

•Sono in genere presenti non più di venti computer.

•Un gruppo di lavoro non è protetto tramite una password.

•Tutti i computer devono trovarsi nella stessa rete locale o subnet.

Gruppo Home
•computer presenti in una rete domestica devono appartenere a un gruppo di lavoro, ma possono

appartenere anche a un gruppo home. Un gruppo home semplifica la condivisione di immagini,


musica, video, documenti e stampanti con altri utenti in una rete domestica.

•Un gruppo home viene protetto tramite una password, ma questa deve essere digitata solo una

volta, ovvero durante l'aggiunta del computer al gruppo home.

In un dominio
•Uno o più computer sono server. Gli amministratori di rete utilizzano i server per controllare la
sicurezza e le autorizzazioni per tutti i computer del dominio. Questo semplifica l'esecuzione di
modifiche in quanto le modifiche vengono eseguite automaticamente in tutti i computer. Gli

utenti di dominio devono specificare una password o altre credenziali ogni volta che accedono al
dominio.

•Se si dispone di un account utente sul dominio, è possibile accedere a qualsiasi computer nel
dominio senza un account

specifico per tale computer.

•È in genere possibile apportare solo modifiche limitate alle impostazioni di un computer, in


quanto gli amministratori di rete spesso desiderano garantire la coerenza tra computer.

•Un dominio può includere migliaia di computer.

•I computer possono trovarsi in reti locali diverse.

Creare un account utente


•Per aprire Account utente, fare clic sul pulsante Start, scegliere Pannello di controllo,
Account utente e protezione famiglia e quindi Account utente.
•Fare clic su Gestisci un altro account. Qualora venisse richiesto, fornire una password
amministratore o una conferma.

•Fare clic su Crea nuovo account.


•Digitare il nome da assegnare all'account utente, selezionare un tipo di account e quindi fare clic
su Crea account.

Eliminare un account utente


In un Dominio
Poiché il computer in uso fa parte di un dominio, è possibile eliminare gli account utente locali dal
computer, ma non gli account utente dal dominio. Tutti i file creati con l'account utente saranno
eliminati se si elimina l'account.

•Per aprire Account utente fare clic sul pulsante Start, scegliere Pannello di controllo, Account
utente, fare clic su Account utente e quindi su Gestisci account utente. Qualora venisse
richiesto, fornire una password amministratore o una conferma.

•Nella scheda Utenti in Utenti per il computer fare clic sul nome dell'account utente e quindi su
Rimuovi.

•Nella finestra di dialogo Account utente fare clic su Sì e quindi su OK.

Connessione desktop remoto


Connessione desktop remoto è una tecnologia che consente di accomodarsi a un computer,
talvolta definito computer client, e connettersi a un computer remoto, talvolta definito computer
host, che si trova in una posizione diversa. È ad esempio possibile utilizzare Desktop remoto per
connettersi al computer dell'ufficio dal computer di casa e accedere a tutti i programmi, i file e le
risorse di rete come se si stesse seduti alla propria scrivania.

Abilitare connessioni remote


•Per aprire Sistema, fare clic sul pulsante Start, fare clic con il pulsante destro del mouse su
Computer e quindi selezionare Proprietà.

•Nel riquadro sinistro fare clic su Impostazioni di connessione remota. Qualora venisse
richiesto, fornire una password amministratore o una conferma.

•Nella finestra di dialogo Proprietà del sistema, in Desktop remoto, selezionare una delle tre
opzioni disponibili e quindi fare clic su Seleziona utenti.

•Se si è un amministratore del computer, l'account utente corrente verrà automaticamente


aggiunto all'elenco degli utenti remoti e sarà possibile ignorare i due passaggi successivi.

•Nella finestra di dialogo Utenti desktop remoto fare clic su Aggiungi.

Nella finestra di dialogo per la selezione di utenti o gruppi eseguire le operazioni seguenti:

•Per specificare il percorso di ricerca, fare clic su Percorsi e quindi selezionare il percorso
desiderato.

•In Immettere i nomi degli oggetti da selezionare digitare il nome dell'utente che si desidera
aggiungere e quindi fare clic su OK.

Modifica Impostazioni desktop remoto


•Per aprire Connessione desktop remoto, fare clic sul pulsante Start. Nella casella di ricerca
digitare Connessione desktop remoto e quindi nell'elenco dei risultati fare clic su Connessione
desktop remoto.

•In Computer digitare il nome del computer al quale si desidera connettersi.

•Prima di stabilire la connessione, fare clic su Opzioni e quindi apportare le modifiche desiderate
nelle schede Schermo, Risorse locali, Programmi, Esperienza e Avanzate.

Tipi di connessioni desktop remoto


•Selezionare Non consentire connessioni al computer per impedire agli altri utenti di
connettersi al computer tramite Desktop remoto o RemoteApp.

•Selezionare Consenti connessioni dai computer che eseguono qualsiasi versione di


Desktop remoto (meno sicuro) per consentire agli utenti che utilizzano qualsiasi versione di
Desktop remoto o RemoteApp di connettersi al computer. Questa opzione è indicata se non si
conosce la versione di Connessione desktop remoto utilizzata dagli altri utenti, ma è meno sicura
rispetto alla

terza opzione.

Tipi di connessioni desktop remoto


•Selezionare Consenti connessioni solo dai computer che eseguono Desktop remoto con
Autenticazione a livello di rete (più sicuro) per consentire agli utenti di computer che eseguono
versioni di Desktop remoto o RemoteApp con Autenticazione a livello di rete di connettersi al
computer. Questa è l'opzione più sicura se si è certi che gli utenti che si connetteranno al
computer hanno installato Windows7. In Windows7 Desktop remoto utilizza infatti Autenticazione
a livello di rete.

Connettersi a risorse remote mediante Accesso Web Desktop


remoto
•È possibile utilizzare Accesso Web Desktop remoto per accedere a programmi e desktop remoti
di computer remoti e virtuali tramite Internet, se queste risorse vengono rese disponibili da un
amministratore di rete mediante RemoteApp.

•Accesso Web Desktop remoto include due schede:

•Programmi RemoteApp: utilizzare questa scheda per accedere ai programmi resi disponibili
dall'amministratore.

•Desktop remoto: utilizzare questa scheda per connettersi a un desktop remoto, così come ci si
connette a Connessione desktop remoto.

Foto 88

•Aprire il browser Web e digitare l'URL ricevuto dall'amministratore di rete. Tale URL presenta il
formato seguente: https://nome computer/rdweb.

•Ad esempio:

–Se il nome del computer è ComputerPersonale, digitare

https://computerpersonale/rdweb/.
–Se l'indirizzo IP è 192.168.1.120, digitare

https://192.168.1.120/rdweb.
•Digitare il nome utente e la password e quindi fare clic su OK.

•Quando si è pronti per disconnettersi, chiudere la sessione e quindi il browser.

Differenze Windows Linux


Nessun registro
Windows ha il registro di sistema
Si tratta di un database master di tutte le impostazioni del computer.Contiene informazioni sulle
applicazioni, le password degli utenti, informazioni sul dispositivo e così via.Se non è
memorizzato in un file, probabilmente è memorizzato nel Registro di sistema.

Linux non ha un registro.

In questo senso, le configurazioni di Linux sono modulari.Non si ha

una database centralizzato che ha bisogno di pulizia periodica

Differenze Windows Linux


Gestione pacchetti
In Windows, è spesso necessario avere a che fare con un

Pacchetto di installazione per eseguire un programma, anche scaricato in rete. Nel Pannello di
controllo,

inoltre, è possibile cancellare il programma installato.

Con la maggior parte dei sistemi Linux, invece, si ha il Gestore di pacchetti, che è
essenzialmente un centro per la navigazione, l’installazione e la rimozione di pacchetti relativi ai
programmi.

Invece di visitare, ad esempio, il sito web di Firefox, potete semplicemente cercare nella
repository del vostro gestore i pacchetti relativi al browser e scaricarli in linea

Interfacce intercambiabili
L’interfaccia di Windows non ha avuto molta innovazione nel tempo. Certo, è stata introdotta
Aero

in Windows Vista.

Prima di allora, XP fatto alcuni piccoli miglioramenti rispetto all’interfaccia classica di Windows.

Ma il menu di avvio, la barra delle applicazioni, Esplora risorse di Windows, sono rimasti gli stessi.

Su Linux, l’interfaccia è completamente separata dal sistema centrale.

È possibile cambiare il proprio ambiente di interfaccia senza pasticciare in giro con reinstallazioni
e quant’altro.Ci sono GNOME e KDE.
Reti di Calcolatori
• È un insieme di calcolatori, collegati tra loro da una rete di comunicazione, nella quale possono
condividere informazioni e risorse.

• Rete di comunicazione: infrastruttura che permette la comunicazione tra un insieme di


dispositivi.

Perché le Reti?

•Accesso alle informazioni

•Condivisione di risorse

•Facilitazione della comunicazione

Usi delle reti di elaboratori


Moltissimi sono gli usi delle reti di calcolatori:

Per le organizzazioni:
•Condivisione delle risorse: si possono rendere disponibili a chiunque programmi e informazioni
anche distanti migliaia di km

•Affidabilità:si ottiene mettendo in rete sorgenti alternative delle risorse (es duplicando le
applicazioni e i dati su più computer)

•Diminuzione dei costi: una rete di personal computer costa meno di un mainframe

•Scalabilità: si possono aumentare le prestazioni del sistema aumentando il numero degli


elaboratori (entro certi Limiti)

•Comunicazione tra persone: è possibile inviarsi messaggi, file ecc

Usi delle reti di elaboratori


Per i singoli individui:
•Accesso alle informazioni remote
-accesso a servizi bancari

-acquisti da casa

-navigazione sul web

•Comunicazione tra persone


-posta elettronica

-videoconferenza

-gruppi di discussione

•Divertimento
-video on demand

-giochi interattivi

Aspetti hardware delle reti


Due parameri sono utili per definire le caratteristiche di una rete

•La tecnologia trasmissiva

•Scala dimensionale

Tecnologia trasmissiva
Ci sono due tipologie per quanto riguarda la tecnologia trasmissiva

•Reti broadcast

•Reti Punto a Punto

Tecnologia trasmissiva

Reti Broadcast
Le reti broadcast sono dotate di un unico canale di comunicazione condiviso da tutti gli
elaboratori.

Brevi messaggi (chiamati pacchetti) inviati da un elaboratore sono ricevuti da tutti gli elaboratori.
Un indirizzo all’interno del pacchetto specifica il destinatario.

Quella a bus è una topologia di rete passiva: i computer ascoltano i dati trasmessi sulla rete, ma
non intervengono nello spostamento di dati da un computer a quello successivo.

I dati trasmessi da un computer, se non interrotti, viaggiano da un capo all’altro del


cavo,rimbalzano e tornano indietro impedendo ad altri computer di inviare segnali.

A ciascuna estremità del cavo viene applicato un componente chiamato terminatore che assorbe i
dati liberi rendendo disponibile il cavo per l’invio di altri dati.

Se un cavo viene tagliato o se uno dei capi viene scollegato e quindi uno o più capi sono privi di

terminatore, i dati rimbalzano interrompendo l’attività su tutta la rete.

Quando un elaboratore riceve un pacchetto esamina l’indirizzo di destinazione, se coincide con il


proprio indirizzo il pacchetto viene elaborato altrimenti viene ignorato.

Le reti broadcast consentono anche di inviare un pacchetto a tutti gli elaboratori, usando un
opportuno indirizzo (broadcasting) in tal caso tutti prendono in considerazione il pacchetto.

Un’altra possibilità è inviare il pachetto ad un sottoinsieme di elaboratori (multicasting)


Topologia a Stella
In una topologia a stella (star topology), i computer della rete sono collegati ad un sistema
hardware centrale detto Hub.

Si tratta di un dispositivo che comprende un certo numero di terminazioni nelle quali è possibile
collegare gli apparati. L’Hub ha il ruolo di assicurare la comunicazione tra i diversi collegamenti.

Contrariamente alle reti costruite su una topologia in bus, le reti con una topologia a stella sono
molto meno vulnerabili dato che una delle connessioni può essere scollegata senza paralizzare il
resto della rete.

Topologia a Stella

Reti Punto a Punto


Le reti punto a punto consistono invece di un insieme di connessioni fra coppie di elaboratori

Per arrivare dalla sorgente alla destinazione, un pacchetto può dover attraversare uno o più
elaboratori intermedi.

Spesso esistono più cammini alternativi, per cui gli algoritmi di instradamento (routing) hanno un
ruolo importante

Criterio alternativo di classificazione


Un criterio alternativo di classificazione è la dimensione dell’area geografica in cui sono

dislocati i PC:

Le reti possono essere classificate in

• Reti locali LAN

• Reti metropolitane MAN

• Reti geografi che WAN

Criterio alternativo di classificazione


Reti LAN -MAN
•LAN (Local Area Network): si tratta di un insieme di computer collegati tra loro e ubicati
fisicamente nello stesso luogo, per esempio all’interno di un’area aziendale, di un’abitazione
privata o semplicemente di un edificio.

•MAN (Metropolitan Area Network): in questo caso i computer si trovano all’interno di un’area
urbana di grandi dimensioni oppure sono dislocati in più comuni limitrofi .

WAN -GAN
•WAN (Wide Area Network): in questo caso l’area geografica può comprendere diverse città, fino
a interessare l’intero territorio nazionale o addirittura gli Stati con esso confinanti.

•GAN (Global Area Network): è facile intuire, dalla traduzione stessa dell’acronimo, che si tratta di
reti che collegano computer dislocati in tutti i continenti. Internet, la Rete delle reti, è un tipico

La Comunicazione
La comunicazione inizia con un messaggio, o informazioni, che devono essere inviate da un
individuo o un dispositivo ad un altro. La gente scambia le idee con molti metodi di
comunicazione diversi.

Tutti questi metodi hanno tre elementi in comune.


•Il primo di questi elementi è la sorgente del messaggio, o mittente. Fonti dei messaggi sono le
persone, o dispositivi elettronici, che hanno bisogno di inviare un messaggio ad altre persone o
dispositivi.

•Il secondo elemento di comunicazione è la destinazione, o ricevitore, del messaggio. La


destinazione riceve il messaggio e lo interpreta.

•Un terzo elemento, chiamato canale, costituito dai mezzi di comunicazione che fornisce il
percorso su cui il messaggio può viaggiare dalla sorgente alla destinazione.

La comunicazione tra due calcolatori si realizza mediante lo scambio di dati sul canale di

comunicazione:

per poter essere trasmessi i dati sono stati opportunamente codificati e trasformati in un

segnale che può essere elettrico (una tensione oppure una corrente) o una qualsiasi grandezza
fisica capace di convogliare un’informazione (per esempio un’onda luminosa).

Modalità di comunicazione
Le modalità di comunicazione tra entità si dividono in due grandi classi:

•modalità a connessione (connection-oriented);

•modalità senza connessione (connectionless).

Modalità connection-oriented
Prima dell’inizio della trasmissione delle informazioni, si deve stabilire una connessione tra il
mittente e il destinatario, che viene “rilasciata”al termine delle comunicazioni.

Possiamo quindi individuare tre fasi distinte:


•apertura della connessione: è la fase più delicata durante la quale si “cerca l’accordo”

tra i due host e si stabilisce la connessione;

•trasferimento dell’informazione: è la parte centrale durante la quale avviene la comunicazione;

•chiusura della sessione: viene rilasciata la risorsa e terminata la comunicazione.

Un esempio tipico di funzionamento con modalità connection-oriented è la telefonata.

Modalità Connectionless
Nella modalità connectionless il mittente effettua il trasferimento delle informazioni in modo
autonomo, senza che avvenga un preventivo accordo con il destinatario. Non si verifica quindi
una “sincronizzazione”tra mittente e destinatario e il mittente ignora se la sua trasmissione sia
andata o meno a buon fine, a meno che successivamente il destinatario non inoltri un messaggio
di conferma ricezione.

Un esempio tipico di funzionamento con modalità connection ess è il servizio postale.

La Comunicazione
In teoria, una singola comunicazione, come ad esempio un video o un messaggio di posta
elettronica, potrebbe essere inviata attraverso una rete da una fonte ad una destinazione come un
massiccio flusso continuo di bit.

Se i messaggi sono stati effettivamente trasmessi in questo modo, ciò significherebbe che nessun
altro dispositivo sarebbe in grado di inviare o ricevere messaggi sulla rete stessa, mentre questo
trasferimento di dati è in corso.

Questi grandi flussi di dati comporterebbe notevoli ritardi. Inoltre, se c’è un problema durante la
trasmissione, il messaggio andrebbe perso e dovrebbe essere ritrasmesso per intero.

Segmentazione
Un approccio migliore è quello di dividere i dati in parti più piccole e più gestibili per inviarli

attraverso la rete. Questa divisione del flusso di dati in pezzi più piccoli è chiamata
segmentazione.

Vantaggi Segmentazione
•In primo luogo, inviando piccoli pezzi singoli dall'origine alla destinazione, molte conversazioni
differenti possono essere intercalate sulla rete. Il processo utilizzato per segnalare i pezzi di
conversazioni separate insieme sulla rete è denominata multiplexing.

•In secondo luogo, la segmentazione può aumentare l'affidabilità delle comunicazioni di rete. I
pezzi separati di ogni messaggio non ha bisogno di percorrere lo stesso percorso attraverso la
rete dalla sorgente alla destinazione. Se un particolare percorso si congestiona a causa del
traffico dati o si interrompe, i singoli pezzi del messaggio possono ancora essere indirizzati alla
destinazione utilizzando percorsi alternativi. Se una parte del messaggio non riesce ad arrivare a

destinazione, solo le parti mancanti devono essere ritrasmesse.

Svantaggio Segmentazione
•Lo svantaggio di utilizzare la segmentazione e la multiplazione per trasmettere messaggi
attraverso una rete è il livello di complessità che viene aggiunto al processo . Immaginate se si
dovesse inviare una lettera di 100 pagine , ma ogni busta sarebbe titolare di una sola pagina. Il
processo di indirizzamento, l'etichettatura, l'invio , la ricezione e l'apertura delle buste sarebbe
100 in termini di tempo sia per il mittente che per il destinatario .

•Nelle comunicazioni di rete , ogni segmento del messaggio deve passare attraverso un processo
simile a garantire l’arrivo del messaggio alla corretta destinazione e che questo possa essere
riassemblato nel contenuto del messaggio originale.

Infrastruttura di Rete
Il percorso che porta un messaggio dalla sorgente alla destinazione può essere semplice come un
unico cavo che collega un computer ad un altro o complesso come una rete che abbraccia
letteralmente il mondo.

Questa infrastruttura di rete è la piattaforma che supporta la nostra rete umana. Essa fornisce il
canale stabile ed affidabile nel quale le comunicazioni possono verificarsi.

Cosa Include una Rete?


•Hardware
–dispositivi di interconnessione

–dispositivi per il controllo della trasmissione

–Dispositivi Finali

•Software
–codifica e formattazione dei dati

–rilievo di errori e correzione

Dispositivi
Dispositivi e mezzi trasmissivi sono gli elementi fisici o l’hardware della rete.

L'hardware è spesso la componente visibile della piattaforma di rete come un computer portatile,
un PC, uno switch o il cablaggio utilizzato per collegare i dispositivi.

Occasionalmente, alcuni componenti potrebbero non essere così visibili.

Nel caso di supporti senza fili, i messaggi vengono trasmessi attraverso l'aria usando la frequenza
radio o le onde infrarosse.

Servizi e Processi
I Servizi e processi sono i programmi di comunicazione, chiamati software, che girano sui
dispositivi collegati in rete. Un servizio di rete fornisce informazioni in risposta a una richiesta.

I servizi includono molte delle applicazioni di rete che le persone utilizzano ogni giorno, come
servizi di posta elettronica di hosting e servizi di web hosting.

Processi forniscono le funzionalità per dirigere e spostare i messaggi attraverso la rete. I processi
sono meno evidenti a noi, ma sono fondamentali per il funzionamento delle reti.

HOST
I dispositivi di rete con cui le persone hanno più familiarità sono chiamati dispositivi finali.
Questi dispositivi fungono da interfaccia fra la rete umana e la rete di comunicazione sottostante.

Alcuni esempi di dispositivi finali sono:

•Computer (postazioni di lavoro, laptop, file server, server web)

•Le stampanti di rete

•I telefoni VoIP

•Telecamere di sicurezza

•Dispositivi palmari

Un dispositivo host è di origine o di destinazione per un messaggio trasmesso attraverso la rete.

Per distinguere un host da un altro, ciascun host in una rete è identificato da un indirizzo.Quando
un host inizia la comunicazione, utilizza l'indirizzo dell'host di destinazione per specificare dove il
messaggio deve essere inviato.Nelle reti moderne, un host può agire come un client, un server, o
entrambi.Il Software installato sul host determina il ruolo che gioca nella rete.

NIC
Ogni Host, ovvero ogni dispositivo che si connette alla rete lo fa attraverso una scheda di

rete detta NIC (Network Interface Card).

Ogni scheda di rete ha un indirizzo fisico o indirizzo Ethernet che la identifica univocamente da
tutte le schede di rete di tutti gli altri host tale indirizzo è detto mac

-address (Media Access Control)

MAC-ADDRESS

Dispositivi Intermedi
Oltre ai dispositivi finali con cui le persone hanno familiarità, le reti possono contare su periferiche
intermedie per fornire la connettività e per regolare i flussi di dati attraverso la rete. Questi
dispositivi collegano i singoli host alla rete e possono collegare più reti singole per formare un
internetwork.

Esempi di dispositivi di rete intermedi sono:

•Network Access Devices (hub, switch e access point wireless)

•I dispositivi di internetworking (router)

•Server di comunicazione e modem

•Dispositivi di sicurezza (firewall)

La gestione dei dati che scorre attraverso la rete è compito dei dispositivi intermedi. Questi
dispositivi utilizzano l'indirizzo host di destinazione, in combinazione con le informazioni sulla rete
di interconnessione, per determinare il percorso che devono compiere i messaggi attraverso la
rete.

I Processi in esecuzione sui dispositivi di rete intermedi eseguono queste funzioni:

•Rigenerare e ritrasmettere i segnali dati

•Mantenere le informazioni sui percorsi esistenti attraverso la rete e l’internetwork

•Comunicare agli altri dispositivi eventuali errori e fallimenti di comunicazione

•Dirigere i dati lungo percorsi alternativi quando c'è un errore di collegamento

•Classificare i messaggi secondo delle priorità QoS

•Consentire o negare il flusso di dati, in base alle impostazioni di sicurezza.

Mezzi di Comunicazione
La comunicazione attraverso una rete viene effettuata su un supporto. I mezzo trasmissivi offrono
il canale su cui il messaggio viaggia dalla sorgente alla destinazione.

Le Reti utilizzano principalmente tre tipi di supporti per interconnettere dispositivi e per fornire il
percorso su cui i dati possono essere trasmessi.

Questi mezzi sono:

•Cavi Metallici

•Fibre di vetro o plastica (fibra ottica)

•La trasmissione wireless

Mezzi Trasmissivi
Diversi tipi di supporti di rete hanno differenti caratteristiche e benefici.

Non tutti i supporti di rete hanno le stesse caratteristiche e sono adatti per lo stesso scopo.

I Criteri per la scelta di un supporto di rete sono:

•La distanza con cui i mezzi trasmissivi possono portare a destinazione un segnale con successo

•L'ambiente in cui il supporto deve essere installato.

•La quantità di dati e la velocità con cui devono essere trasmessi.

•Il costo dei mezzi di comunicazione e l’installazione.

I mezzi di trasmissione
Qual è il mezzo fisico utilizzato per realizzare il canale di trasmissione?
mezzi guidati
–linee fisiche che portano il segnale fino al ricevitore,

–supportano la trasmissione di segnali elettrici oppure ottici,

–segnali elettrici: doppino telefonico o cavo coassiale;

–segnali ottici: fibre ottiche.

mezzi non guidati


–irradiazione di segnali elettromagnetici nello spazio, in modo più o meno diretto;

–antenne, satelliti, infrarossi, ...

Mezzi Guidati

Doppino telefonico
•È costituito da due o più coppie di fili di rame, singolarmente ricoperti di materiale isolante,
intrecciati uno intorno all’altro per ridurre le interferenze elettromagnetiche (da qui il suo nome
inglese, twisted pair) e isolati da una guaina.

•È il mezzo di trasmissione meno costoso e più utilizzato per segnali sia analogici che digitali.

•Esistono diverse tipologie di doppini UTP (Unshielded Twisted Pair), identificate in classi di
qualità crescente.

Cavi di Rete
In un cavo di rete sono presenti quattro coppie di doppini che possono essere schermati o no

contro le interferenze

Cavo coassiale
I cavi coassiali sono costituiti da un corpo centrale conduttore, in cui si propaga il segnale da
trasmettere, una protezione isolante una rete di sottili fili metallici (chiamata calza) che realizza una
schermatura del conduttore dalle interferenze esterne una guaina protettiva esterna

I cavi coassiali sono principalmente utilizzati nella distribuzione

–televisiva (TV via cavo),

–nelle reti telefoniche per trasmissioni a lunga distanza e nelle reti di calcolatori.

La diffusione dei doppini ad alte prestazioni e la riduzione dei

costi delle fibre ottiche ha praticamente eliminato i cavi

coassiali.

Fibra Ottica
Un cavo in fibra ottica è costituito da

–un conduttore centrale (core) di dimensioni molto sottili,

–un rivestimento (cladding), con indice di rifrazione minore del core,

–una guaina opaca

La trasmissione avviene in base al principio di riflessione totale: la differenza negli indici di


rifrazione tra cladding e core mantiene la luce confinata all’interno del core.

Caratteristiche uniche
–larghezza di banda molto elevata,

–ridotta attenuazione del segnale,

–immunità alle interferenze elettromagnetiche.

Le fibre ottiche sono utilizzate nelle telecomunicazioni, in particolare sulle lunghe distanze, e la
loro applicazione sta crescendo anche nei collegamenti metropolitani e nelle reti locali.

Svantaggi

–Raggio di curvatura limitato

–Necessità di conversione ottica/elettrica nei punti di collegamento

Mezzi non Guidati


I segnali vengono trasmessi e ricevuti mediante antenne

–L’antenna del trasmettitore irradia nello spazio onde elettromagnetiche, che l’antenna ricevente
capta

–può essere direzionale (punto-a-punto) o non direzionale (multipunto).

WI-FI
Wi-Fi è una famiglia di tecnologie per reti locali senza fili (WLAN) che utilizza dispositivi basati
sugli standard IEEE 802.11. Wi-Fi è anche un marchio di Wi-Fi -Alliance, la quale consente l'uso
del termine Wi-Fi Certified dai soli prodotti che completano con successo i test di certificazione di
interoperabilità. I dispositivi che possono utilizzare la tecnologia Wi-Fi includono pc, console,
smartphone e tablet, fotocamere digitali, smart TV, lettori audio digitali e stampanti.

Mezzi non Guidati


Lo spettro di frequenze utilizzato nelle trasmissioni non guidate può essere suddiviso in tre
intervalli:

–[30 MHz, 1 GHz]

•adatto alle trasmissioni non direzionali

•le trasmissioni cellulari utilizzano 900 Mhz e 1800 Mhz;

–[2 GHz, 40 GHz] (microonde)

•trasmissioni direzionali, punto-a-punto,

•utilizzato anche per le comunicazioni via satellite (multipunto);–[300 GHz, 200 THz] (infrarossi)

•trasmettitore e ricevitore devono essere visibili l’uno all’altro;

•molto importante in applicazioni locali punto-a-punto e multipunto in aree limitate.

Infrastruttura di Rete
Le infrastrutture di rete possono variare notevolmente in termini di:

•dimensione della zona coperta

•numero di utenti collegati

•numero e la tipologia dei servizi disponibili

ISP
Internet viene creato attraverso l’interconnessione delle reti appartenenti agli Internet Service
Provider (ISP). Queste reti ISP si connettono tra loro per consentire l'accesso a milioni di utenti in

tutto il mondo. Garantire una comunicazione efficace attraverso queste diverse infrastrutture

richiede l'applicazione di tecnologie coerenti e comunemente riconosciute e protocolli, nonché

la collaborazione di molte agenzie di amministrazione della rete.

Accesso Residenziale

ADSL-banda sbilanciata più in download che in upload HDSL – Alto bitrate, connessione
aziendale simmetrica, sul mezzo di comunicazione abbiamo banda dedicata tra utente se service
provider.

VHDSL –Banda Larga a breve distanza, limite di 300 metri dalla Cabina

IL COLLEGAMENTO INTERNET AVVIENE TRAMITE CONNESSIONE PTP TRA IL CLIENTE E ISP

Larghezza di Banda

Intranet
Il termine Intranet è spesso usato per riferirsi ad una connessione privata di LAN e WAN che

appartiene ad una organizzazione, ed è progettata per essere accessibile solo dai membri
dell'organizzazione.

Protocolli
Tutte le comunicazioni, sono governate da regole predeterminate chiamate protocolli.
Questi protocolli sono specifici in base alle caratteristiche della comunicazione.

Nella vita di tutti giorni usiamo delle regole per comunicare attraverso un mezzo, come ad

esempio una telefonata, non sono necessari gli stessi protocolli per l'utilizzo di un altro supporto,

come l'invio di una lettera

Insieme di Protocolli
La corretta comunicazione tra gli host di una rete richiede l'interazione di diversi protocolli.

Un gruppo di protocolli che sono necessari per eseguire una funzione di comunicazione è
chiamato insieme di protocolli.

Questi protocolli sono implementati nel software e nel hardware che viene caricato su ogni host o
dispositivo di rete.

Stack di Protocolli
Uno dei modi migliori per visualizzare come tutti i protocolli interagiscono su un particolare host è

quello di vederlo come una pila.

Uno stack di protocolli mostra come i protocolli individuali all'interno della suite sono eseguiti

sugli host.

I protocolli sono visti come una gerarchia stratificata, con ogni servizio di livello superiore, a

seconda della funzionalità definita dai protocolli indicati nei livelli inferiori.

Gli strati inferiori della pila riguardano lo spostamento di dati sulla rete e la fornitura di servizi agli
strati superiori, che si concentrano sul contenuto del messaggio inviato e sull'interfaccia utente.

Suite Protocolli di Rete


A livello umano, alcune regole di comunicazione sono di natura formale, altre sono semplicemente

implicite sulla base di consuetudini e pratiche.

Affinché i dispositivi possano comunicare con successo, un protocollo di rete deve descrivere una

suite di precisi requisiti e di interazioni .

Suite di protocollo di rete descrivere i processi, quali :

•Il formato o la struttura del messaggio


•Il metodo con cui condividere le informazioni sui percorsi tra i dispositivi di rete
•Come e quando i messaggi di errore e di sistema sono passati tra i dispositivi
•La configurazione e la cessazione delle sessioni di trasferimento dati.

I Protocolli di solito non descrivono come svolgere una particolare funzione.

Descrivono solo ciò che sono le funzioni richieste da una particolare regola di comunicazione, ma
non come devono essere eseguite, l'attuazione di un particolare protocollo può essere
indipendente dalla tecnologia.

Ciò significa che un computer e altri dispositivi, come telefoni cellulari o PDA, possono accedere
a una pagina Web archiviata su qualsiasi tipo di server Web che utilizza ogni forma di sistema
operativo da qualsiasi punto di Internet.

Tipi di Modelli di Rete


Ci sono due tipi fondamentali di modelli di rete:

•modelli di riferimento

•modelli di protocollo

Modello di Riferimento
Un modello di riferimento fornisce un riferimento comune per mantenere la coerenza con tutti i
tipi di protocolli di rete e di servizi.

Un modello di riferimento non è destinato ad una specifica applicazione o per fornire un livello di

dettaglio sufficiente per definire con precisione i servizi della architettura di rete.

Lo scopo primario di un modello di riferimento è aiutare nella comprensione chiara delle


funzioni coinvolte.

Modello OSI
L'Open Systems Interconnection (OSI) è il modello di riferimento più conosciuto. Viene utilizzato
per la progettazione di reti dati, per le specifiche di funzionamento, e la risoluzione dei problemi.

Modello di Protocollo
Un modello di protocollo fornisce un modello che corrisponde da vicino alla struttura di una

particolare suite di protocolli.

L'insieme gerarchico dei relativi protocolli in una suite rappresenta in genere tutte le funzionalità
necessarie per interfacciare la rete umana con la rete dati.

Il modello TCP / IP è un modello di protocollo perché descrive le funzioni che si verificano ad

ogni livello dei protocolli della suite TCP / IP.

Modello TCP/IP
Il modello TCP / IP descrive la funzionalità dei protocolli che compongono il protocollo TCP / IP.

Questi protocolli, che sono implementati sia sugli host di invio e la ricezione interagiscono per
fornire soluzioni end-to-end fornitura di applicazioni in rete.

OSI –TCP/IP

TCP/IP

TCP/IP
Processo di Comunicazione
Un processo di comunicazione completo include le seguenti fasi:

1. Creazione dei dati a livello applicazione del dispositivo sorgente

2. Segmentazione e incapsulamento dei dati verso il basso dello stack del dispositivo lato
sorgente

3. Generazione dei dati sul supporto a livello di accesso alla rete dello stack

4. Trasporto dei dati attraverso la internetwork, che consiste di mezzi trasmissivi e dispositivi
intermedi

5. Ricezione dei dati a livello di rete di accesso del dispositivo di destinazione finale

6. Decapsulameto e riassemblaggio dei dati che scorrono la pila nel dispositivo di destinazione

7. Ricezione dei dati all'applicazione di destinazione a livello di applicazione del dispositivo di


destinazione finale

Incapsulamento
Poiché i dati delle applicazioni attraversano lo stack di protocolli per essere trasmessi

attraverso i mezzi di comunicazione di rete, vari protocolli aggiungono informazioni in

occasione di ciascun livello.

Questo è comunemente noto come il processo di incapsulamento.

La parte dati di un qualsiasi livello dello stack è chiamato Protocol Data Unit ( PDU) .

Protocol Data Unit ( PDU)


Durante incapsulamento, ciascuno strato successivo incapsula la PDU che riceve dal

livello superiore in conformità con il protocollo utilizzato.

In ogni fase del processo, un PDU ha un nome diverso per riflettere il suo nuovo aspetto

Protocol Data Unit ( PDU) in TCP/IP

Livello Applicazione
Il livello di applicazione, Layer sette, è lo strato superiore sia dei modelli OSI e TCP / IP.

È lo strato che fornisce l'interfaccia tra le applicazioni che utilizziamo per comunicare e

la rete sottostante su cui vengono trasmessi i messaggi.

I Protocolli di livello applicazione vengono utilizzati per scambiare dati tra i programmi in

esecuzione sul host di origine e su quello di destinazione.

Protocolli di Livello Applicazione


I più noti protocolli TCP / IP livello di applicazione sono:

–Domain Name Service Protocol ( DNS ) viene utilizzato per risolvere i nomi Internet in indirizzi
IP

–Hypertext Transfer Protocol ( HTTP) è usato per trasferire i file che compongono le pagine Web
del World Wide Web.

–Simple Mail Transfer Protocol ( SMTP ) viene utilizzato per il trasferimento di messaggi di
posta e allegati.

–Telnet, un protocollo di emulazione di terminale, viene utilizzato per fornire accesso remoto ai

server e dispositivi di rete .

–File Transfer Protocol ( FTP ) viene utilizzato per il trasferimento di file tra sistemi interattivi .

Applicazioni Servizi e Protocolli


il livello di applicazione utilizza i protocolli che vengono implementati all'interno delle

applicazioni e dei servizi.

Mentre le applicazioni forniscono alle persone un modo per creare messaggi

i servizi di livello di applicazione costituiscono un interfaccia verso la rete, i protocolli forniscono


le regole e i formati che governano come i dati vengono trattati.

Applicazioni Servizi e Protocolli


Tutti e tre le componenti possono essere utilizzate da un unico programma eseguibile e possono
avere anche lo stesso nome.

Per esempio, quando si parla di "Telnet" potremmo far riferimento all'applicazione, al servizio, o al
protocollo.

Comunicazioni
Protocolli di livello applicazione sono utilizzati sia dalla sorgente che dalla destinazione nel

corso di una sessione di comunicazione.

Affinché le comunicazioni possano avere con successo, i protocolli di livello applicazione

attuate sulla sorgente e sul host di destinazione devono coincidere.

Modello Client \Server


Nel modello client / server, il dispositivo che richiede le informazioni è detto cliente il dispositivo
che risponde alla richiesta si chiama server.
Processi client e server sono considerati nello strato applicazione

Il client inizia lo scambio richiedendo dati dal server, che risponde inviando uno o più flussi

di dati al client. Protocolli di livello applicazione descrivono il formato delle richieste e delle
risposte tra client e server. Oltre al trasferimento dei dati effettivi, questo scambio può anche
richiedere informazioni di controllo, come l'autenticazione dell'utente e l'identificazione di un file di
dati da trasferire.

In un contesto di networking in generale, qualsiasi dispositivo che risponde alle richieste


provenienti dalle applicazioni client funziona come un server.

Un server è di solito un computer che contiene le informazioni da condividere con molti sistemi
client.

Ad esempio, le pagine web, documenti, database, immagini, video e file audio possono essere

memorizzati su un server e consegnati ai client richiedenti.

Modello Peer to Peer


Oltre al modello client / server, vi è anche un modello di rete peer-to-peer.

Il Peer-to-peer prevede due forme distinte:–Rete peer-to-peer –Applicazione peer-to-peer (P2P).

Entrambe le forme hanno caratteristiche simili, ma in pratica funzionano in modo molto diverso.+

Rete Peer to Peer


In una rete peer-to-peer, due o più computer sono collegati tramite una rete e possono
condividere le risorse, ad esempio stampanti e file senza avere un server dedicato.

Ogni dispositivo collegato ad una estremità (noto come peer) può funzionare come un server o un

client.

Un computer potrebbe assumere il ruolo di server per una transazione e contemporaneamente

fungere da client per un altra.

Applicazione Peer to Peer


Una applicazione peer-to-peer (P2P), a differenza di una rete peer-to-peer, consente a un
dispositivo di agire sia come client che come server all'interno della stessa comunicazione. In
questo modello, ogni client è un server e tutti i server sono client.

Entrambi possono iniziare una comunicazione e sono considerati uguali nel processo di

comunicazione.

DNS
In rete, i dispositivi sono etichettati con indirizzi IP numerici, in modo che possano inviare e

ricevere messaggi attraverso la rete.

Tuttavia, molte persone hanno difficoltà a ricordare questo indirizzo numerico.

Quindi, i nomi di dominio sono stati creati per convertire l'indirizzo numerico in un semplice

nome riconoscibile.

Il Domain Name System (DNS) è stato creato per per affrontare la risoluzione dei nomi di

dominio nelle reti.

DNS utilizza un insieme distribuito di server per risolvere i nomi associati ad indirizzi numerici.

Il protocollo DNS definisce un servizio automatico che fa corrisponde nomi delle

risorse con l'indirizzo numerico di rete richiesto.

Quando si configura un dispositivo di rete, in genere si forniscono uno o più indirizzi di server
DNS che il client DNS può utilizzare per la risoluzione dei nomi.

Di solito il provider di servizi Internet fornisce gli indirizzi da utilizzare per i server DNS. Quando le

una applicazione di un utente richiede di connettersi a un dispositivo remoto in base al nome, il


client richiedente interroga uno di questi server per risolvere il nome in un indirizzo

numerico.

Gerarchia DNS
Il Domain Name System utilizza un sistema gerarchico per creare un database per fornire la
risoluzione dei nomi.

La gerarchia si presenta come un albero rovesciato con la radice in alto e rami al di sotto.

Al vertice della gerarchia, i server principali che conservano le informazioni su come raggiungere i

server top-level di dominio, che a loro volta hanno record che puntano ai server secondari e così
via.

Domini
I domini di primo livello rappresentano le organizzazioni o gli Stati.

Esempi di domini di primo livello sono:

–Au. –Australia

–Co –Colombia

–Com —un affare o un'industri

–Jp –Giappone

–Org. —una organizzazione non-profit

Browser
I browser Web sono le applicazioni client che i nostri computer utilizzano per connettersi alle
risorse memorizzate su un server web.

Come con la maggior parte dei processi server, il server Web viene eseguito come servizio in
background e ha diversi tipi di file disponibili.

Al fine di accedere ai contenuti, client Web si connette al server e richiedere le risorse desiderate.

Il server risponde con le risorse e, al momento del ricevimento, il browser interpreta i dati e lo
presenta per l'utente.

Esempio
Per capire meglio come il browser web e client web interagiscono, siamo in grado di esaminare in
che modo una pagina web viene aperta in un browser.

Per questo esempio, useremo il URL: http://www.cisco.com/web

-server.htm.

Innanzitutto, il browser interpreta L’URL in tre parti:

1.http (il protocollo o regime)

2. 2. www.cisco.com (il nome del server)

3. 3. web-server.htm (il nome specifico del file richiesto).

Il browser controlla un name server per convertire www.cisco.com in un indirizzo numerico, che
utilizza per connettersi al server. Utilizzando i requisiti del protocollo HTTP, il browser invia una
richiesta GET al server e richiede il file web-server.htm. Il server a sua volta invia il codice HTML di

questa pagina web al browser. Infine, il browser decifra il codice HTML e formatta la pagina per la
finestra del browser

Hypertext Transfer Protocol

L'Hypertext Transfer Protocol (HTTP), è uno dei protocolli della suite TCP / IP, è stato
originariamente sviluppato per pubblicare e recuperare le pagine HTML ed è ora utilizzato per i
sistemi informativi distribuiti. HTTP viene utilizzato in tutto il World Wide Web per il trasferimento
di dati ed è uno dei protocolli di livello applicazione più utilizzati.

Quando un client, tipicamente un browser web, invia un messaggio di richiesta ad un server, il


protocollo HTTP definisce i tipi di messaggi utilizzati dal client per richiedere la pagina web e
anche i tipi di messaggi utilizzati dal server per rispondere. I tre tipi di messaggi comuni sono GET,
POST, PUT e.

GET è una richiesta del client per i dati POST e PUT vengono utilizzati per inviare messaggi che
caricano i dati sul server web

Esempio

HTTPS
Sebbene sia molto flessibile, HTTP non è un protocollo sicuro.

Per la comunicazione sicura attraverso Internet, viene utilizzato il protocollo HTTP Secure (HTTPS)
per l'accesso o la pubblicazione di informazioni sul server web.

Con HTTPS è possibile utilizzare l'autenticazione e la crittografia per proteggere i dati durante il
trasferimento tra il client e server.

E-mail
E-mail è il servizio di rete più popolare, ha rivoluzionato il modo in cui le persone comunicano
attraverso la sua semplicità e velocità . Eppure, per l'esecuzione su un computer o un dispositivo
all'altro capo , l’e-mail richiede diverse applicazioni e servizi.

Due dei protocolli di livello applicazione utilizzati sono Post Office Protocol ( POP ) e Simple Mail
Transfer Protocol ( SMTP ),

Il server di posta elettronica gestisce due processi distinti :

•Posta Transfer Agent ( MTA )

•Posta Delivery Agent ( MDA)

MTA e MDA
Il Mail Transfer Agent ( MTA) di processo viene utilizzato per inoltrare e-mail.

–MTA riceve messaggi dal MUA o da un altro MTA su un altro server di posta elettronica .

–Sulla base del messaggio , si determina come un messaggio deve essere trasmesso per
raggiungere la sua destinazione.

–Se la mail è indirizzata a un utente la cui casella postale si trova sul server locale , la posta viene
passata al MDA .

–Se la mail è per un utente non sul server locale , il MTA instrada l'indirizzo e-mail al MTA sul
server appropriato

POP e POP3
e-mail usano i protocolli POP e SMTP.POP e POP3 (Post Office Protocol, versione 3) sono
protocolli di consegna della posta in entrata e sono tipici protocolli client / server.

Essi recapitano la posta elettronica dal server di posta elettronica al client (MUA).MDA ascolta
quando un client si connette a un server. Una volta che viene stabilita una connessione, il server
può fornire l'e-mail al client.

SMTP
Il Simple Mail Transfer Protocol (SMTP) governa il trasferimento di posta elettronica in uscita dal
client al server di posta elettronica (MDA), nonché il trasporto di posta elettronica tra server e-

mail (MTA).

SMTP consente alle e-mail di essere trasportate attraverso le reti dati tra i diversi tipi di server e
software client e rende possibile lo scambio di e-mail su Internet.

Indirizzo Mail
mario.rossi@gmail.com
Un indirizzo è formato da due parti separate dal simbolo @ :

–nome dell'utente

–indirizzo del centro o della macchina presso cui l'utente è accreditato.

Trattamento Posta Elettronica


Ogni sistema operativo fornisce varie funzioni per il trattamento della posta elettronica.

E’possibile salvare i messaggi ricevuti, visualizzare il contenuto della cassetta della posta,
rispondere ad un messaggio.

Esistono diversi programmi che consentono l’utilizzo della posta elettronica.

Tipicamente i sistemi di e-mail supportano le funzioni di base:

–Composizione;

–Trasferimento;

–Notifica;

–Eliminazione.

E-mail : Composizione
Si riferisce al processo di creazione di messaggi e risposte.

Anche se èpossibile usare qualsiasi editor per la composizione del messaggio, il sistema stesso
può fornire aiuto per l’indirizzamento e i numerosi campi di intestazione:

–Mittente;

–Destinatario;

–Oggetto;

–Cc(carboncopy);

–Bcc (blinded carboncopy).

E-mail : Notifica
Bisogna notificare al mittente ciò che èaccaduto al messaggio.

–E’ stato spedito?

–E’ andato perso?

–E’ stato rifiutato?

Esistono diverse applicazioni per le quali è importante la “ricevuta di ritorno”, che può avere
anche un significato legale.

E-mail : Eliminazione
È il passo finale e riguarda quale recipiente usare per il messaggio dopo la sua ricezione.

Le diverse possibilità includono:

–Gettarlo via

•Prima di leggerlo;

•dopo averlo letto;

–Eliminarlo definitivamente;

–Salvarlo per scopi futuri

Dizionario della Posta Elettronica


FROM: Mittente (es. pippo@lex.unict.it)

TO: Destinatario(es. pluto@lex.unict.it)

SUBJECT: oggetto della messaggio

CC: (Carbon Copy)altro destinatario

BCC: (BlindCarbon Copy) destinatario mascherato al TO e al CC

ATTACH: file come allegati

SEND: invia il messaggio

CHECK MAIL: controllo della casella postale

N:posta in arrivo

OUT:posta inviata

TRASH:posta cestinata

FORWARD: posta ricevuta e rispedita ad atro destinatario

REPLY:posta ricevuta e rispedita al mittente

FTP
Il File Transfer Protocol ( FTP ) è un altro protocollo del livello applicativo comunemente utilizzato .

FTP è stato sviluppato per consentire trasferimenti di file tra un client e un server.

Un client FTP è un'applicazione che gira su un computer che viene utilizzato per inviare e
ricevere file da un server che esegue il demone FTP ( ftpd) .

Per trasferire i file , FTP richiede due connessioni tra il client e il server :

–una per i comandi e le risposte

–l'altra per il trasferimento dei file vero e proprio.

Il client stabilisce una prima connessione al server sulla porta TCP 21. Questa connessione viene
utilizzata per il controllo del traffico , costituito da comandi del client e le risposte del server.

Il client stabilisce una seconda connessione al server sulla porta TCP 20. Questo collegamento è
per il trasferimento file vero e proprio e viene creato ogni volta che c'è un file da trasferire .

Il trasferimento dei file può avvenire in entrambe le direzioni . Il cliente può scaricare (pull) un file
dal server o , il cliente può caricare (push) un file sul server.

Processo FTP

FTP e Sicurezza
A meno che non sia un server FTP “pubblico”, per poter stabilire una connessione con una

macchina remota bisogna AUTENTICARSI con propria:

–Login+Password

Tutta l’informazione “viaggia in chiaro”:


–Sia i dati di autenticazione

–Sia i file trasmessi

E’molto facile intercettare il tutto.... ; -(

Telnet
Il servizio Telnet permette ad un utente la connessione (login) ad una macchina remota.

•L’utente pur lavorando fisicamente ad un qualsiasi terminale, eseguirà le operazioni sulla


macchina remota alla quale è collegato.

•È previsto un sistema di autenticazione.

Tramite la funzionalità di login remoto gli utenti hanno accesso a tutti i comandi disponibili sul
sistema remoto

Quando un utente attiva telnet

[indirizzo remoto]

un programma applicativo sulla sua macchina diventa client e cerca di stabilire una connessione
TCP al server identificato con [indirizzo remoto] può essere:

–Indirizzo IP dell’host a cui connettersi

–Hostname dell’host

•Esempi
–telnet sparc20.ing.unimo.it

–telnet 160.80.120.85

Per poter funzionare, il server deve accettare una connessione TCP dal cliente poi ritrasmettere i
dati dalla connessione TCP al sistema operativo locale

Una volta stabilita la connessione TCP,

–Il client accetta le sequenze dei tasti dalla tastiera dell'utente e le invia al server

–Il server accetta le sequenze dei tasti dalla tastiera dell’utente e le passa al sistema operativo
come se fossero state digitate su un terminale direttamente collegato alla macchina remota

–Il telnet trasferisce anche l’output dalla macchina remota allo schermo dell’utente, ovvero
consente che i caratteri rinviati dal server al client vengano visualizzati sullo schermo dell’utente

Cosa non fa il Telnet


Non è possibile utilizzare applicazioni esterne che operano con un’interfaccia grafica (a meno di
non “esportare il video”).

Non è possibile salvare un file della macchina client sul server remoto.

Non è possibile stampare un file della macchina client dalla finestra di telnet aperta sul server
remoto.

Non tutti i server accettano connessioni telnet, anzi attualmente si cerca di impedire tali
connessioni, perché sono “connessioni in chiaro” (come FTP).

SSH
Si preferisce utilizzare connessioni “crittate”: SSH SecureShellClient, OpenSSH

•Vi sono vari programmi, gratuiti (es., ‘Putty.exe’) o a pagamento (es., ‘Cygwin’), che è possibile
scaricare e che offrono le stesse funzionalità aumentando il livello di sicurezza

DHCP
Il Dynamic Host Configuration Protocol (DHCP) servizio consente ai dispositivi su una rete di

ottenere degli indirizzi IP e altre informazioni da un server DHCP.

Questo servizio consente di automatizzare l'assegnazione di indirizzi IP, subnet mask, gateway e
altri parametri di rete IP.

Il server DHCP viene contattato e un indirizzo viene richiesto.

Il server DHCP sceglie un indirizzo da una serie di indirizzi e lo assegna al host per un periodo

stabilito.

Indirizzi DHCP distribuiti non vengono assegnati agli host, ma sono solo affittati per un periodo

di tempo.

Se l'host è spento o tolto dalla rete, l'indirizzo viene per il riutilizzo.

Il DHCP può rappresentare un rischio per la sicurezza perché qualsiasi dispositivo collegato alla
rete può avere un indirizzo. Tale rischio rende la sicurezza un fattore importante nel determinare se
utilizzare l'indirizzamento dinamico o manuale.

Molte reti utilizzare sia DHCP e indirizzamento statico.

Il DHCP viene utilizzato per gli host

Gli indirizzi fissi sono utilizzati per i dispositivi di rete come gateway, switch, server e stampanti.

Livello Trasporto
Le funzioni principali previste da protocolli di livello di trasporto sono :

Segmentazione e riassemblaggio
La maggior parte delle reti hanno una limitazione della quantità di dati che possono essere incluse
in un unico PDU .

Lo strato di trasporto divide i dati ricevuti dagli livello applicativo in blocchi di dati che sono
una dimensione appropriata .
A destinazione , il livello di trasporto riassembla i dati prima di inviarli all'applicazione di
destinazione o servizio .

Ci possono essere molte applicazioni o servizi in esecuzione su ogni host della rete .

A Ciascuna di queste applicazioni o servizi viene assegnato un indirizzo noto come numero di

porta in modo che il livello di trasporto può determinare a quale applicazione o il servizio i

dati sono associati.

Oltre ad utilizzare le informazioni contenute nelle intestazioni , per le funzioni di segmentazione e


riassemblaggio , alcuni protocolli a livello di trasporto forniscono una consegna affidabile e la
ricostruzione ordinata del flusso di dati

Numero di Porta
Il livello di trasporto utilizza uno schema di indirizzamento chiamato un numero di porta.

I numeri di porta identificano le applicazioni e i servizi dello strato applicazione che sono l'origine
e la destinazione dei dati.

Il numero di porta non è un indirizzo fisico, bensì una “porta logica”, ossia un valore numerico
univoco memorizzato in un campo a 16 bit, che quindi può assumere un valore tra 0 e 65535

Protocolli Livello Trasporto


I protocolli di livello Transport tipicamente definiscono come indirizzo una coppia, formata da un
indirizzo di livello network che identifica l’host (indirizzo IP) e da un’altra informazione che
identifica un punto di accesso in quell’host: il numero di porta.

I due più comuni protocolli di livello di trasporto ìdel protocollo TCP / IP sono

–Transmission Control Protocol (TCP)


–User Datagram Protocol (UDP)
Entrambi i protocolli gestiscono la comunicazione di più applicazioni.

Le differenze tra i due sono le funzioni specifiche che ogni protocollo implementa.

UDP
User Datagram Protocol (UDP) UDP è un semplice protocollo senza connessione.

Ha il vantaggio di fornire i dati per la consegna basso overhead.

I segmenti in UDP sono chiamati datagrammi. Questi datagrammi vengono inviati come "best
effort" da questo protocollo a livello di trasporto.

•Protocollo di trasporto di tipo non connesso

•Non fornisce garanzie di consegna

•Due funzionalità:

–multiplazione delle informazioni tra le varie applicazioni

•tramite il concetto di porta

–checksum(opzionale) per verificare l’integrità dei dati

•Un’applicazione che usa UDP deve risolvere problemi di affidabilità, perdita di pacchetti,
duplicazione, controllo di sequenza, controllo di flusso, controllo di congestione

UDP: Applicabilità
Utile quando:
–Si opera su rete locale (affidabilità)

–Applicazione mette tutti i dati in un singolo pacchetto (non apro connessione)

–Non è importante che tutti i pacchetti arrivino a destinazione

–Necessità di protocollo veloce

• Evita overhead apertura connessione

• Meccanismi di ritrasmissione per affidabilità non utilizzabili per vincoli temporali

• Non voglio vincoli di velocità di trasmissione

–Applicazione gestisce meccanismi di ritrasmissione

UDP
Le applicazioni che utilizzano UDP sono:

Domain Name System (DNS)

Video Streaming Voice over IP (VoIP)

TCP
Transmission Control Protocol (TCP) TCP è un protocollo orientato alla connessione.

TCP comporta overhead aggiuntivo per ottenere funzioni quali la consegna stesso ordine, la
consegna affidabile e controllo di flusso.

Le applicazioni che utilizzano il protocollo TCP sono:

–Web Browser

–E-mail

–Trasferimento File

Nel TCP, l'intestazione di ogni segmento contiene un numero di sequenza. Il numero di sequenza
consente al livello trasporto su l'host di destinazione di riassemblare i segmenti nell'ordine in cui
sono stati trasmessi.

Questo assicura che l'applicazione di destinazione riceva dati nell’ordine con cui erano stati inviati
dal mittente.

Livello di Rete
Il livello di rete, fornisce servizi per lo scambio di singoli pezzi di dati attraverso la rete tra l’host di
origine e quello di destinazionePer far ciò il livello di rete utilizza quattro processi fondamentali:

–Indirizzamento
–Incapsulamento
–Routing (instradamento)
–Decapsulamentodei

dati attraverso la rete

IP: Internet Protocol


Protocollo di strato rete (strato 3)

•Definisce

–Formato pacchetti

–Formato indirizzi

–Procedure di forwardingdei pacchetti (detti datagram)

•Offre un servizio detto best

-effort

–non connesso

–inaffidabile

–senza garanzie di qualità di servizio (QoS)

Protocollo IP
•Consegna connection less

–Non conserva informazioni di stato sui datagramin corso di trasmissione

–Ogni datagram instradato in modo indipendente

•Due pacchetti con stessa sorgente e destinazione possono seguire percorsi diversi

•Mancanza garanzie di QoS

–tutti pacchetti trattati allo stesso modo

•Consegna inaffidabile
–In caso di guasti (es. un router fuori servizio, collegamento non disponibile)

scarta il datagram e cerca di inviare un messaggio di errore al mittente

–In caso di memoria non disponibile

scarta il datagrame non invia messaggi di errore perché datagramné memorizzato né elaborato

–In caso di errore su checksum(controllo errore sull’intestazione)

scarta il datagrame non invia messaggi perché indirizzi potenzialmente sbagliati

Indirizzamento
Se i singoli pezzi di dati devono essere indirizzati a un dispositivo finale, tale dispositivo deve
avere un indirizzo univoco.

Indirizzi IP: Principi


•Ogni interfaccia di un host è individuata da un indirizzo a 32 bit univoco

•Un indirizzo è caratterizzato da informazioni sulla rete (netid) e sull’host(hostid)

•L’instradamento si basa sul netid

–indirizzo non individua la macchina ma la rete se sposto host devo cambiare indirizzo

•Ogni router ha almeno due indirizzi IP

•Gli host solitamente uno solo

–server spesso hanno più̀ accessi (multi-homed)

Tipi di indirizzi IP
•Indirizzi

–Pubblici: univocamente assegnati da un gestore mondiale

–Privati: utilizzabili solo in reti private non collegate a rete pubblica

–Riservati: usati per scopi particolari, ad esempio per comunicazioni interne all’host

Indirizzi IP
La logica di indirizzamento IP è gerarchica e si compone di due parti:

–NetId : identifica la rete cui il calcolatore è fisicamente collegato.

•Assegnato alle varie reti dal Network Information Center(NIC) secondo le regole fissate dalla
Internet Assigned Number Authority(IANA).

–HostId: identifica il calcolatore.

•Assegnato ai vari hosts (macchine) dall’amministratore della rete

Ciascun calcolatore collegato ad Internet possiede un indirizzo fisico composto da 32 bit detto
indirizzo IP, costituita da quattro blocchi di numeri separati da punti (es. 151.97.69.1) ogni numero
può assumere i valori da 0 a 255.

Classi di indirizzi

Indirizzi di rete e Broadcast


•Indirizzo con hostiddi tutti 0, individua la rete

•Indirizzo con hostid di tutti 1, rappresenta l’indirizzo broadcast della rete stessa

La maschera
•La maschera (o netmask) è un valore di 32 bit

contenente:

–bit messi a 1 per identificare la parte di rete

–bit messi a 0 per identificare la parte di host

•Per esigenze di instradamento, host e router devono conoscere la parte di rete del(i) proprio
indirizzo IP: utilizzano la maschera

Instradamento in reti IP -Consegna diretta e indiretta


Sottorete: insieme di host tra cui esiste un collegamento di livello 2. Può essere una LAN, un
collegamento punto-punto, etc.

•Se due host sono connessi alla stessa sottorete si ha consegna diretta (non intervengono router)

•Se due hostnon sono connessi alla stessa sottorete, la consegna è mediata da uno o più router;
si ha consegna indiretta

Consegna diretta
Per decidere se effettuare una consegna diretta, l’host mittente controlla la porzione di rete
dell’indirizzo IP destinatario

•Se tale porzione coincide con il proprio indirizzo di rete, si ha consegna diretta

•In ogni comunicazione tra host, si ha almeno una consegna diretta

Il trasferimento avviene traducendo l’indirizzo IP in un indirizzo MAC, e utilizzando le primitive di


consegna di livello 2

Consegna indiretta
Se host sorgente e destinazione non sono nella stessa subnet, devono usare consegna indiretta

• Il mittente identifica quale router incaricare della consegna del datagram IP tra quelli raggiungibili
con consegna diretta

• Il router incaricato sceglie il router successivo, da lui raggiungibile direttamente, sul percorso
verso la destinazione

• Il datagram passa da router a router fino a quello che lo consegna direttamente a destinazione
(forwarding)

Le Routing Tables
Ogni host ed ogni router coinvolto nella consegna IP ha tabelle di instradamento: Routing

Tables(RT)

–Identificano il percorso migliore per ogni destinazione

Ovviamente, le tabelle non possono avere informazioni su ogni possibile destinazione

•Principio: nascondo l’informazione

•MEMENTO: I router instradano usando solo la porzione di rete dell’indirizzo IP (come postino
guarda solo porzione dell’indirizzo scritto sulla busta)

Il Next-hop Routing
Una tabella di routing contiene almeno due informazioni:

–D indirizzo destinazione R= next-hop

•D è normalmente un indirizzo di rete

•Rè detto next-hop, e corrisponde ad un host o un router raggiungibile direttamente

•Se è possibile mettere in relazione l’indirizzo di destinazione del pacchetto in transito con un
indirizzo D delle RT, il pacchetto viene inviato al relativo R

Incapsulamento
Il livello di rete deve fornire l'incapsulamento.

Non solo i dispositivi devono essere identificati con un indirizzo, i singoli pezzi

-le PDU livello di rete

-deve contenere anche questi indirizzi.

Durante il processo di incapsulamento, il livello di rete riceve la PDU del livello trasporto e
aggiunge una intestazione per creare PDU del livelli di rete.

Questa PDU viene chiamata pacchetto.

Quando un pacchetto viene creato, l'intestazione deve contenere, tra le altre informazioni
l'indirizzo del host a cui viene inviato e anche l'indirizzo del host di origine.

Routing
Lo strato di rete deve fornire servizi per dirigere i pacchetti alla destinazione host. Gli host di
origine e di destinazione non sono sempre collegati alla stessa rete. Infatti, il pacchetto potrebbe
dover viaggiare attraverso molte reti diverse.

Lungo il percorso, ogni pacchetto deve essere guidato attraverso la rete per raggiungere la sua
destinazione finale..

Dispositivi intermedi che collegano le reti sono chiamati router.

Il ruolo del router è selezionare percorsi per i pacchetti e indirizzarli verso la loro destinazione.

Questo processo è noto come routing.

Durante il percorso, il pacchetto può attraversare molte periferiche intermedie.

Ogni percorso che un pacchetto impiega per raggiungere il dispositivo successivo è chiamato
hop

Decapsulamento
Quando il pacchetto raggiunge l'host di destinazione e viene elaborato a livello di Rete.

L'host esamina l'indirizzo di destinazione se l'indirizzo è corretto, il pacchetto viene decapsulato


dal livello di rete e il contenuto nel pacchetto viene passato al servizio appropriato a livello di
trasporto.

Caratteristiche Protocollo IP
Il protocollo Internet è stato progettato come un protocollo con basso overhead.

Fornisce solo le funzioni necessarie per trasferire un pacchetto da una sorgente a una
destinazione su un sistema di reti interconnesse.

Il protocollo non è stato progettato per monitorare e gestire il flusso di pacchetti.

IPv4 caratteristiche di base:


Connectionless

-Nessuna connessione viene stabilita prima di inviare pacchetti di dati. Best Effort (inaffidabile)

-Non c'è sovraccarico viene utilizzato per garantire la consegna dei pacchetti. Media Independent

-Funziona indipendentemente dal mezzo trasmissivo

Livello Data Link


Questo livello in trasmissione riceve pacchetti dal livello di rete e forma i frame che vengono
passati al sottostante livello fisico con l'obiettivo di permettere il trasferimento affidabile dei dati
attraverso il canale sottostante.

•Il livello data link deve quindi svolgere diverse funzioni specifiche:

–in trasmissione raggruppare i bit provenienti dallo strato superiore e destinati al livello fisico in
pacchetti chiamati frame.

–in ricezione controllare e gestire gli errori di trasmissione (controllo di errore);–regolare il flusso
della trasmissione fra sorgente e destinatario (controllo di flusso).

La trasmissione seriale può avvenire in modo sincrono o asincrono.

–Nella trasmissione asincrona ogni carattere trasmesso viene preceduto e seguito da segnali che
indicano appunto l'inizio e la fine del carattere.

–Nella trasmissione sincrona i caratteri da inviare vengono raggruppati in messaggi (frame). Ogni
frame viene fatto precedere da caratteri di sincronizzazione che servono a far sì che la stazione
ricevente si sincronizzi sulla velocità di trasmissione della stazione che invia il messaggio.

La trasmissione sincrona è più veloce perché i tempi morti di trasmissione vengono ridotti, ma un
errore anche in un singolo bit può danneggiare l'intero messaggio inviato.

La sicurezza in rete
Con milioni di comuni cittadini che utilizzano le reti per operazioni bancarie, commerciali e fiscali,
è necessario garantire la segretezza e l’integrità dei dati.

La sicurezza si occupa di assicurare che nessuno possa leggere o modificare i dati destinati ad
altri.

Rendere sicura una rete non vuol dire solo mantenerla libera da errori di programmazione.

La sicurezza implica una lotta contro avversari spesso intelligenti, che sono tecnologicamente ben
attrezzati.

I problemi di sicurezza si suddividono in 4 aree:

•Segretezza:
–riservatezza delle informazioni nei confronti degli utenti non autorizzati.

•Autenticazione:
–determinare con chi si sta parlando prima di rivelare informazioni particolari o iniziare una
trattativa d’affari.

•Non Disconoscimento:
–riconoscere le “firme”, per essere sicuri che chi ha spedito un messaggio non possa negare di
averlo fatto.

•Controllo di Integrità:

–accertare che un messaggio sia davvero quello spedito, e non qualcosa di modificato o
inventato.

CIA

CIAè l’acronimo (Confidentiality, Integrity, Availability) , la sicurezza informatica si sviluppa attorno


a questi tre elementi.

Confidenzialità, si basa sulla limitazione di accesso alle informazioni (privacy)

Metodi di riservatezza:
• Encryption: Criptografia dei dati

• Biometrics: impronte digitali, volto ecc

• Password: per autenticazione

• Security Token

• Integrità: ovvero che i dati arrivino a destinazione senza che siano stati manomessi.

Metodi di Integrità:
• User Access Controls: uso dei controlli per accesso degli utenti (permessi)

• Checksum: controlli di vincoli dell’integrità

• Availability (disponibilità): fa riferimento alla capacità di poter accedere ai nostri dati quando
ne abbiamo bisogno.

Metodi di Availability:

Backup dei DatiHardware Maintenance and repair (manutenzione di hardware e software)Disaster


recovery

Vulnerabilità del SW
Non è certo nelle intenzioni degli sviluppatori scrivere programmi software non sicuri. Un sistema
operativo, ad esempio, è il prodotto di decine di migliaia di ore di lavoro ed è costituito da milioni
di righe di codice. Una semplice svista o un bug possono fornire un punto di accesso inatteso ad
un sistema altrimenti sicuro. Sviluppare software totalmente privo di bug è impossibile.

Più un programma software è conosciuto e diffuso, più sarà oggetto di attacchi informatici.

Vi è una continua lotta tra hacker, che cercano di sfruttare qualunque punto debole esistente, e
sviluppatori, che tentano di eliminarli. È esattamente quanto accade tra fabbricanti di serrature e
scassinatori o tra produttori di sistemi di allarme e ladri d'auto. Ecco perché gli sviluppatori di
software rilasciano aggiornamenti per l'eliminazione dei punti deboli conosciuti e perché è sempre
consigliabile installare tali aggiornamenti.

Hackers
Gli hackers dispongono di programmi in grado di sondare a caso tutti gli indirizzi IP presenti su

Internet per individuare sistemi non protetti. cercando di individuare le eventuali “porte”

aperte cui sferrare l'attacco. Se ne trovano una, consultano la libreria dei punti deboli più
conosciuti per trovare il modo di accedere al sistema.

Il metodo più efficace è costituito dal connubio tra tecnologia e ingegneria sociale (spionaggio
industriale). Indurre membri del personale a rivelare informazioni di natura confidenziale,
esaminare i cestini della carta straccia alla ricerca di informazioni importanti o semplicemente
controllare i bigliettini affissi ai monitor per scoprire le password.

Virus
Un virus è un codice informatico scritto con l’esplicita intenzione di replicare se stesso in modo
autonomo attraverso programmi, messaggi di posta elettronica ecc. Può danneggiare l’hardware,
il software e le informazioni contenute su Pc e periferiche.

Esistono migliaia di virus diversi. In comune hanno la capacità di:

–Duplicarsi

–Eseguire operazioni potenzialmente dannose sui sistemi infetti

–attivarsi in contesti o momenti determinati.

Malware
è per l’appunto un software malevolo in grado di intrufolarsi in un computer, in un dispositivo
mobile o in una rete aziendale senza l’autorizzazione dell’utente con lo scopo di trafugare dati
riservati, spiare le vittime o arrecare danni più o meno gravi al sistema informatico nel quale
è in esecuzione.
Worm
•Un worm è un tipo di programma malevolo la cui caratteristica è quello di infiltrarsi in maniera
latente sulle macchine per poi propagarsi, infettando altri PC sfruttando le capacità di
comunicazione della macchina stessa (rete, Internet, contatti e-mail).

•Si tratta a tutti gli effetti di un virus con capacità autoreplicanteed è comune che vengano notati
solo quando la loro replica incontrollata impatta sulle risorse di sistema, rallentando o arrestando
la macchina stessa.

Ransomware
Con la parola ransomware viene indicata una classe di malware che rende inaccessibili i dati dei
computer infettati e chiede il pagamento di un riscatto, in inglese ransom, per ripristinarli.
Tecnicamente sono Trojan horse crittografici ed hanno come unico scopo l’estorsione di denaro,
attraverso un “sequestro di file”, attraverso la cifratura che, in pratica, rende il pc inutilizzabile. Al
posto del classico sfondo vedremo comparire un avviso che sembra provenire dalla polizia o da
un’altra organizzazione di sicurezza e propone un’offerta. In cambio di una password in grado di
sbloccare tutti i contenuti, intima di versare una somma di denaro abbastanza elevata

Minacce recenti
Red Apollo è un’APT (Advanced Persistent Threat) specializzata nel furto di informazioni e
intelligence militare e commerciale che opera nei settori dell’edilizia, dell’educazione, dell’energia,
della farmaceutica e delle telecomunicazioni.

Malware sLoad gli attacchi vengono condotti mediante e-mail certificate dirette al personale
amministrativo delle organizzazioni. Il testo del messaggio invita loro a prendere visione della
documentazione allegata contenente finti solleciti di pagamento. In realtà, l’apertura dell’allegato
avvia l’infezione del sistema con la nuova variante di sLoad che i criminal hacker hanno
modificato per rimanere nascosto e silente mentre ruba informazioni e dati riservati della vittima,
installa altri codici malevoli e attiva una backdoor che consente agli attaccanti di accedere da
remoto alla rete locale a cui è collegato il computer compromesso.

Scoperte tre app Android usate per azioni di cyber spionaggio:


Si chiamano Camero, FileCrypt e callCamle tre applicazioni Android regolarmente distribuite su
Google Play e utilizzate per azioni di cyber spionaggio ai danni di ignare vittime, con lo scopo
di

comprometterne i dispositivi e rubare informazioni riservate.

Le Smart TV, al pari di altri dispositivi IoT connessi a Internet, possono trasformarsi in una porta
di accesso alla LAN di casa consentendo ai criminal hacker di prendere il controllo anche di tutti
gli altri device connessi.

Facebook hackerato: basta un keylogger


Un keylogger software è un programma che, ad insaputa dell’utente, è in grado di memorizzare
tutto quello che viene digitato sulla tastiera. Il software deve essere scaricato manualmente sul
computer della vittima. Inizierà automaticamente a catturare sequenze di tasti non appena il
computer viene acceso e non viene rilevato in background. Il software può essere programmato
per inviare un riepilogo di tutte le sequenze di tasti tramite e-mail.

La bomba logica (Logic Bomb) rappresenta un tipo di malware, annidato all’interno di un


programma malevolo o contraffatto e attivato solo al raggiungimento di particolari
condizioni come ad esempio una certa data, oppure un certo orario oppure una qualche
operazione eseguita dall’utente e/o predeterminata dall’attaccante.

ForkBomb “costringe” il sistema ad eseguirne i comandi causando di fatto un vero e proprio


Denial of Service. Anche tastiera e mouse diventano inutilizzabili ed è necessario un reset
hardware della macchina per farla ripartire.

StrandHogg la vulnerabilità che affligge tutte le versioni di Android e consente ad un


malintenzionato di registrare audio, scattare foto, intercettare telefonate e ottenere la posizione
geografica dello smartphone senza neanche avere i permessi di root sul dispositivo.

Colpisce tutte le versioni del sistema operativo di Google, compreso Android 10.

Emotet è una delle più diffuse minacce informatiche attive in Europa: nato come banking trojan,
si è nel tempo evoluto fino a diventare un vero e proprio framework criminale per il cyber
spionaggio.

Un attacco informatico (prontamente bloccato) compiuto mediante il malware Emotet


e mirato verso un dipendente comunale della città di Francoforte ha costretto le autorità a
spegnere la rete IT, lasciando la città isolata da Internet

Firewall
Un firewall è l'equivalente informatico di un buttafuori. È un programma, residente nel computer o
in un apparecchio esterno, che respinge le visite indesiderate e fa entrare e uscire soltanto i dati
esplicitamente autorizzati a circolare.

Alcuni

firewall esaminano i pacchetti in entrata e talvolta quelli in uscita dalla rete per assicurarsi che
siano autentici e bloccano quelli sospetti.

I firewall nascondono le identità dei computer interni alla rete aziendale per evitare che i pirati
informatici possano prendere di mira macchine singole.

Spoofing
Lo spoofing si manifesta in modi diversi. Lo degli IP consiste nella creazione di pacchetti che
sembrano provenire da un indirizzo IP diverso da quello effettivo. Infatti, se i pacchetti sembrano
provenire da un computer presente nella rete locale, possono tranquillamente attraversare la
protezione del firewall, concepita per difendere la rete da attacchi esterni.

Gli attacchi condotti attraverso lo spoofing degli indirizzi IP sono difficili da individuare e
richiedono di monitorare e analizzare i pacchetti di dati.

Lo spoofing della posta elettronica, invece, consiste nel comporre un messaggio e-mail il cui
campo Da (from) non indica l'effettivo indirizzo del mittente.

Ad esempio, verso la fine del 2003 circolava su Internet una serie di messaggi e-mail fasulli che
sembravano contenere un annuncio ufficiale di aggiornamenti alla protezione da parte di
Microsoft e che contenevano un falso indirizzo e-mail Microsoft.

Attacchi DoS
Attacchi DoS (Denial of Service). Si tratta di assalti informatici lanciati da un attacker allo scopo di
sovraccaricare o interrompere un servizio di rete, ad esempio un server Web o un file server.

A seguito di un attacco DoS un server potrebbe essere cos ìimpegnato a rispondervi da ignorare
le richieste di connessione legittime. Nel corso del 2003 sono stati organizzati imponenti attacchi
DoS contro diverse grandi aziende su Internet, tra cui Yahooe Microsoft, nel tentativo di intasare i
server.

Phishing
Non esiste ancora un'adeguata traduzione in italiano, ma si potrebbe definire tranquillamente
come 'truffa/contraffazione'. Si tratta infatti di truffe perpetrate mettendo on line pagine simili a
quelle di note banche e operatori dell'e-commerce. I navigatori attirati con qualche trucco su tali
pagine, sono indotti a rivelare dati estremamente riservati come i numeri di carta di credito e le
password, immediatamente utilizzabili dagli autori del raggiro.

Il pharming è una particolare truffa informatica che consiste nel dirottare il traffico di rete tra un
client e un web server verso siti Internet fraudolenti costruiti ad hoc, con lo scopo di carpire dati
sensibili o per fungere da ulteriori teste di ponte per altre tipologie di attacco.

Privilegi & Password


L'elevazione dei privilegi è un procedimento mediante il quale un utente induce un sistema a
concedere diritti non autorizzati, generalmente allo scopo di danneggiare o distruggere il sistema.

Ad esempio, un hacker potrebbe accedere a una rete attraverso un account guest, quindi
individuare un punto debole del software che gli consenta di modificare i suoi privilegi da guest a

amministratore.

Gli hacker generalmente sfruttano a loro vantaggio la capacità di elaborazione dei computer,
facendo uso di un programma per l'identificazione delle password per individuare quella corretta
tra tutte le parole di senso compiuto.

Le prime password che verificano sono ovviamente "password", "accesso" e le password che
coincidono con il nome utente.

Sicurezza & e-mail


Le principali minacce diffuse attraverso l’e-mail sono:

–Virus, ovvero programmi concepiti per replicarsi e, potenzialmente, arrecare danno. All'interno
dei messaggi e-mail, i virus spesso si camuffano da giochi o immagini e ricorrono a oggetti
ingannevoli per invogliare gli utenti ad aprirli ed eseguirli.

–Worm, simili ai virus ma, anziché infettare i programmi installati su un computer, sono in grado di
inviare dei messaggi e-mail al fine di replicarsi.

–Trojan Horse, ovvero programmi dannosi che si camuffano da applicazioni innocue. A differenza
di virus e worm, non sono in grado di replicarsi ma sono comunque in grado di causare danno.
Virus e worm vengono spesso occultati all'interno di un TrojanHorse.

Spamming o messaggi di posta elettronica indesiderati, che utilizzano grandi quantità di larghezza
di banda e causano notevoli perdite di tempo. Il volume complessivo dello spamming è spesso

impressionante e può costituire un veicolo per la diffusione di virus.Falsi messaggi di posta


elettronica, quali avvertimenti fasulli sui virus, catene o improbabili offerte gratuite sono solo una
perdita di tempo per chi legge. Inoltre, i falsi messaggi di posta elettronica spesso contengono
virus o TrojanHorse.

Anti-virus
In commercio, si trovano diversi applicativi che agiscono a protezione del sistema, rilevando e
ripulendo svariati tipi di virus.

È buona abitudine aggiornare spesso l’antivirus, poiché molto frequentemente appaiono nuovi
ceppi virali.

Esempi di antivirus:

•Norton antivirus, McAfeeantivirus, Avira, Come regola generale, evitare di:

•aprire messaggi da mittenti sconosciuti,

•scaricare software arbitrario dalla rete Internet.

Spyware
Mira a raccogliere informazioni su di una persona senza che questa ne sia a conoscenza.

Di solito si tratta di software che viene installato sul PC ad insaputa della persona, ad esempio
nascosto in alcuni programmi shareware come i Morpheuso Kazaa.

Alcuni considerano i cookies degli spyware ma questi, a differenza, sono largamente conosciuti
ed i browser sono solitamente equipaggiati per poterli evitare.

Dialer
Dispositivo hw/sw capace di comporre un numero telefonico, come se fosse digitato
manualmente. I dialer possono stabilire una connessione remota per l’accesso a un servizio
(scaricare loghi/suonerie, mp3, sfondi, immagini varie, ecc.) che viene pagato attraverso la bolletta
telefonica.

Generalmente nascosto all’interno di un’applicazione autoinstallante, il dialer disconnette il


modem dell’utente dal suo abituale provider e lo indirizza su un numero caratterizzato da una
tariffa supplementare.

La maggior parte dei dialer si installano sul PC degli utenti dopo un download automatico da
Internet.

Piccolo dodecalogo di sicurezza


1.Installate un buon firewall.

2. Installate un buon antivirus, tenetelo costantemente aggiornato e usatelo su tutti i file che
ricevete.

3. Fate il backup (almeno) dei vostri dati. Fatelo spesso. Fatelo SEMPRE.

4. Installate gli aggiornamenti (patch) di Microsoft.

5.Non installate software superfluo o di dubbia provenienza.

6.Non usate Internet Explorer e Outlook Express. Sostituiteli con prodotti alternativi più sicuri.

7.Tenete disattivati ActiveX, Javascript e Visual Basic Scripting. Riattivateli soltanto quando
visitate siti di indubbia reputazione.

8. Non aprite gli allegati non attesi, di qualunque tipo, chiunque ne sia il mittente, e comunque
non apriteli subito, anche se l'antivirus li dichiara "puliti".

9. Non fidatevi dei link a banche o negozi forniti da sconosciuti. Possono essere falsi e portarvi a
un sito-truffa. Usate invece i Preferiti o il copia-e-incolla, oppure digitateli a mano, in un browser
sicuro.

10.Rifiutate la posta in formato HTML e non mandatela agli altri. Usate il testo semplice, molto più
sicuro.

11.Non distribuite documenti Word: trasportano virus e contengono vostri dati personali nascosti.

12.Non fidatevi dei messaggi di allarme diffusi da stampa generalista, amici e colleghi, e non
diffondeteli, se non sono documentati.

Potrebbero piacerti anche