Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'Architettura del Computer - Prof. Iannizzotto, Dispense di Fondamenti di informatica

riassunto del libro "fondamenti di informatica" ottimo per superare l'esame.

Tipologia: Dispense

2019/2020
In offerta
30 Punti
Discount

Offerta a tempo limitato


Caricato il 15/11/2020

Heeeeeel
Heeeeeel 🇮🇹

4.3

(20)

9 documenti

1 / 19

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
IL COMPUTER : è un elaboratore automatico di dati numerici, definito anche “calcolatore
che può usare programmi” ovvero sequenze di istruzioni. Gli schemi di un calcolatore
elettronico che oggi conosciamo sono stati inventati dal matematico Johan VON
NEUMANN nel 1951. L’architettura da lui inventata prevede 3 elementi: cpu, memoria
centrale, bus di sistema.
L’uomo per poter comunicare con un computer, non potendo utilizzare il linguaggio
naturale, utilizza il sistema binario definito così perché utilizza solo 2 simboli: 1 e 0. In
informatica le cifre binarie( 1 e 0) vengono definite BIT (BINARY DIGIT). Un bit è l’unità
fondamentale di un qualsiasi computer e siccome la memoria di un pc viene normalmente
organizzata in più celle da 8 bit, ogni cella prende il nome di BYTE. Di conseguenza un
BYTE non è altro che una sequenza di 8 bit. Attraverso questo modo di comunicazione la
macchina riesce a codificare numeri naturali, numeri interi, numeri frazionari, numeri reali e
immagini.
Capitoli sulla programmazione: teoria + pratica
All’interno dei sistemi informatici vengono utilizzati dei linguaggi, tra i più importanti
ricordiamo il linguaggio C. esso è composto da un’intestazione e da una sequenza di
istruzioni chiusa tra le parentesi graffe. L’intestazione è costituita dall’identificatore
predefinito MAIN seguita da una coppia di parentesi tonde. Le istruzioni sono frasi del
linguaggio di programmazione. Le istruzioni del C sono dei seguenti 3 tipi:
-istruzioni di assegnamento, che viene utilizzata per assegnare a una variabile il valore di
un’espressione e consiste nel simbolo = preceduto dall’identificatore di una cella di
memoria e seguito da un’espressione che definisce un valore.
-istruzione di ingresso e uscita, che consistono negli identificatori definiti SCAN F O
PRINT F e consentono di leggere o di scrivere il valore di una variabile dallo standard input
o sullo standard output.
-istruzioni composte, producono effetti diversi a seconda che siano verificate o meno certe
condizioni sul valore delle variabili. Essa è costruita mediante normali operatori numerici.
Le istruzioni composte sono di 2 tipi: istruzione condizionale ( costituita dalla parola chiave
IF, consente di eseguire in alternativa due diverse sequenze di istruzioni sulla base del
valore di verità di una condizione) istruzione interattiva ( costituita dalla parola WHILE,
permette la ripetizione dell’esecuzione di una sequenza di istruzioni ogni volta che una certa
condizione è verificata).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
Discount

In offerta

Anteprima parziale del testo

Scarica Introduzione all'Architettura del Computer - Prof. Iannizzotto e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

IL COMPUTER : è un elaboratore automatico di dati numerici, definito anche “calcolatore che può usare programmi” ovvero sequenze di istruzioni. Gli schemi di un calcolatore elettronico che oggi conosciamo sono stati inventati dal matematico Johan VON NEUMANN nel 1951. L’architettura da lui inventata prevede 3 elementi: cpu, memoria centrale, bus di sistema. L’uomo per poter comunicare con un computer, non potendo utilizzare il linguaggio naturale, utilizza il sistema binario definito così perché utilizza solo 2 simboli: 1 e 0. In informatica le cifre binarie( 1 e 0) vengono definite BIT (BINARY DIGIT). Un bit è l’unità fondamentale di un qualsiasi computer e siccome la memoria di un pc viene normalmente organizzata in più celle da 8 bit, ogni cella prende il nome di BYTE. Di conseguenza un BYTE non è altro che una sequenza di 8 bit. Attraverso questo modo di comunicazione la macchina riesce a codificare numeri naturali, numeri interi, numeri frazionari, numeri reali e immagini. Capitoli sulla programmazione: teoria + pratica All’interno dei sistemi informatici vengono utilizzati dei linguaggi, tra i più importanti ricordiamo il linguaggio C. esso è composto da un’intestazione e da una sequenza di istruzioni chiusa tra le parentesi graffe. L’intestazione è costituita dall’identificatore predefinito MAIN seguita da una coppia di parentesi tonde. Le istruzioni sono frasi del linguaggio di programmazione. Le istruzioni del C sono dei seguenti 3 tipi: -istruzioni di assegnamento, che viene utilizzata per assegnare a una variabile il valore di un’espressione e consiste nel simbolo = preceduto dall’identificatore di una cella di memoria e seguito da un’espressione che definisce un valore. -istruzione di ingresso e uscita, che consistono negli identificatori definiti SCAN F O PRINT F e consentono di leggere o di scrivere il valore di una variabile dallo standard input o sullo standard output. -istruzioni composte, producono effetti diversi a seconda che siano verificate o meno certe condizioni sul valore delle variabili. Essa è costruita mediante normali operatori numerici. Le istruzioni composte sono di 2 tipi: istruzione condizionale ( costituita dalla parola chiave IF, consente di eseguire in alternativa due diverse sequenze di istruzioni sulla base del valore di verità di una condizione) istruzione interattiva ( costituita dalla parola WHILE, permette la ripetizione dell’esecuzione di una sequenza di istruzioni ogni volta che una certa condizione è verificata).

Un programma C è anche formato da una parte dichiarativa e una parte esecutiva. La parte dichiarativa contiene la dichiarazione della costanti e delle variabili. Lo scopo della dichiarazione delle variabili è di elencare tutte le variabili che saranno utilizzate nella parte esecutiva e di attribuire a ognuna di esse un TIPO, ossia di specificarne le caratteristiche che ne regolano l’uso. Una dichiarazione di costanti associa un valore a un identificatore. Così ogni dichiarazione consiste in: la parola chiave CONST, lo specificatore di tipo, l’identificatore della costante, il simbolo “=”. Il valore della costante che può essere un numero intero, reale o un carattere e il terminatore della dichiarazione che è il simbolo “;”. L’uso delle costanti permette una buona PARAMETRIZZAZIONE dei programmi, cioè li rende facilmente riutilizzabili anche al cambiare di certe circostanze esterne. all’interno del programma C è possibile attribuire dei valori alle variabili( ovvero porzioni di memoria), questi valori vengono indicati con l’espressione “tipo di dato”. Esistono 3 diversi tipi di dato: semplici (rappresentano informazioni semplici come la velocità o la temperatura quindi composti al massimo da 2 dati) strutturati( le informazioni sono costitute da più elementi come il giorno il mese e l’anno di un evento) e definiti dall’utente ( informazioni create dall’utente e non gia predefinite). Inoltre il linguaggio C comprende 4 tipi di dato base: il CHAR che indica l’insieme dei caratteri, il tipo INT indica i numeri interi, il tipo FLOAT che indica i numeri reali e il tipo DOUBLE che indica i numeri reali lunghi( quelli che utilizzano più bit). Esiste anche un tipo di dato che si può applicare all’algebra di BOOL: il tipo BOOLEAN, è un tipo di dato in cui gli unici valori possibili sono vero e falso. Per costruire nuovi “tipi di dato” possiamo utilizzare il costruttore ARRY. Per arry si intende una sequenza di celle di memoria omogenee, a ognuna di queste sequenze viene dato un unico nome per identificarle, definito INDICE. L’indice è generalmente numerico. Infine, all’interno del linguaggio C è bene ricordare l’esistenza dei PUNTATORI, ovvero tipi di dato che rappresentano la posizione di elementi del programma. In C i puntatori si definiscono tramite il simbolo asterisco. I meccanismi atti a controllare la sequenza delle operazioni da applicare per l’esecuzione di un algoritmo vengono chiamate strutture di controllo. le strutture di controllo del linguaggio C prendono il nome di IF, ELSE, WHILE. If e else sono strutture condizionali, ovvero un costrutto che determina l’esecuzione di un blocco di istruzioni al verificarsi di certe condizioni, “ se una determinata condizione viene

“elemento che elabora” , denominato cpu( unità centrale di processamento). È l’elemento che svolge tutte le funzioni fondamentali di processamentio dei dati ed è composto da il cu, la alu, i registri, il clock e il bus interno. -la cu è l’unità di controllo e ha il compito di eseguire le istruzioni in memoria centrale una alla volta attraverso 3 fasi: -fecth, -decode -execute.

  • La fase di fecth ha il compito di prelevare un’istruzione dalla memoria, il codice operativo viene copiato nel registro detto “istruction register” il codice operativo indica se è necessario prelevare zero, uno o due operandi. Gli operandi vengono prelevati e copiati nei registri specifici fra accumulatore, b,c. dopo la fase fetch il pc viene aggiornato.
  • la fase di decode ha il compito decodificare il codice numerico. la cu durante il decode deve capire il tipo di istruzione che deve essere eseguita. Qualora l’istruzione fosse di tipo aritmetico o logio viene passata alla alu.
  • la fase execute ha il compito di eseguire l’istruzione. Se l’istruzione è aritmetica o logica è stata eseguita dalla alu. l’esecuzione potrebbe richiedere che il contenuto del registro pc (program counter) venga sostituito con il contenuto di un altro registro. Questa operazione è quella che viene definita JUMP(salto) ovvero l’esecuzione dell’istruzione situata in una locazione NON consecutiva a quella appena acceduta. l’istruzione è una parola binaria, l’istruzione è formata dal codice operativo(sempre presente) che specifica l’operazione da eseguire tramite un codice numerico univoco. E dal campo operandi che specifica il valore o la posizione in memoria di uno o più operandi. -La alu è l’unità di elaborazione aritmetico- logica ed esegue le operazioni di tipo aritmetico o logico sui dati contenuti nei registri accomulatore,b e c. il risultato dell’operazione viene memorizzato nell’accumulatore. -I registri sono le unità di archiviazione di singole locazioni. Il registro di stato segnala il verificarsi di determinati eventi durante l’esecuzione del programma. Ciascun bit del registro è associato ad un evento la cui occorrenza è segnalata dal valore assunto dal bit. I bit dei registri di stato sono detti flag proprio per la loro funzione di segnalazione di eventi. -Il clock è un segnale periodico costante che fa passare la cpu dallo svolgimento di una funzione all’altra.il segnale di clock può essere fornito o da un generatore esterno o da un

circuito interno al microprocessore. Ciascuna delle operazione di prelievo della memoria, decodifica ed esecuione di un’istruzione richiede un ciclo di macchina( alcuni periodi del segnale clock) -il bus interno della cpu mette in comunicazione le unità funzionali della cpu ed è composto da: bus indirizzi, che identifica l’unità da indirizzare bus dati, che contiene il dato da trasferire bus controli che specifica l’operazione da eseguire. Dentro la cpu ci sono 2 tipi di registri che servono per comunicare con la memoria e le periferiche attraverso il bus di sistema: -registro dati:contiene il dato che deve essere depositato o che è stato prelevato dalla memoria

  • registro indirizzi: contiene l’indirizzo della locazione di memoria da cui prelevare o su cui depoitare il dato. MEMORIA O MEMORIA CENTRALE : contiene i dati da elaborare, i risultati dei dati e il programma. La memoria centrale è sempre presente in un calcolatore. È realizzata tramite dispositivi a semiconduttori che la rendono veloce. La memoria centrale è costruita in maniera tale che sia il più veloce possibile nel richiedere e ottenere un dato. ( la velocità è il tempo che la cpu impiega per trovare un dato nella memoria centrale) la memoria centrale non è persistente se non è alimentata con energia elettronica per questo viene definita volatile. La memoria centrale è estendibile, in relazione al numero di bit dedicati all’indirizzamento. È indirizzabile, tramite il registro indirizzi di memoria che si trova nella cpu, ed è copiabile, tramite il registro dati di memoria. La memoria centrale è costituita da sequenze di locazioni o celle di memoria. Ciascuna locazione è costituita da un numero preciso di BIT (detti anche parola), ciascun bit è una cifra binaria. Ciascuna locazione di memoria ha un INDIRIZZO di memoria cioè una posizione precisa. La locazione di memoria è fatta da una sequenza di cifre binarie che possono essere 0 e 1, le cifre binarie quindi, sono sequenze di zeri e di uno. l’indirizzo di una locazione ha una lunghezza sempre variabile. Senza bus, Processore e memoria non può esistere un calcolatore. MEMORIA DI MASSA :

grado di gestire sempre e solo un processo alla volta. In un sistema operativo monoutente il processo va dallo stato di pronto allo stato di esecuzione. Il sistema operativo può essere MULTIUTENTE ovvero un sistema operativo che è in grado di gestire una situazione nella quale più programmi vengono invocati, di conseguenza il sistema operativo multiutente supporta l’esecuzione di più processi. Il sistema operativo è organizzato a strati con un’architettura detta a buccia di cipolla, ciascuno strato funzionale costituisce una MACCHINA VIRTUALE. Le principali funzioni del sistema operativo: GESTORE DEI PROCESSI, GESTORE DELLA MEMORIA, DRIVER, FILE SYSTEM E INTERPRETE DEI COMANDI.

  • gestore dei processi, è responsabile dell’esecuzione dei programmi da parte dell’unità di elaborazione. Il termine processo fa riferimento all’esecuzione di un programma. Il programma sta sempre in memoria di massa e non è dinamico, mentre un processo è l’insieme del codice eseguibile denominato E(ovvero il programma vero e proprio) e dello stato del processo, denominato S( ovvero quella entità dinamica che è l’insieme dei valori di tutti i registri della cpu). Il processo quindi, si può definire dinamico perché contiene lo stato che è dinamico. È bene ricordare che lo stesso programma può essere associato a più processi: -un programma può essere scomposto in varie parti e ognuna di esse può essere associata ad un diverso processo; -lo stesso programma può essere associato a diversi processi quando diverse copie del medesimo processo sono mandate in esecuzione. l’unità di elaborazione dei processi prende il nome di processore. Un processo si può trovare in 3 stati differenti: in esecuzione, pronto e in attesa. -IN ESECUZIONE: è un programma che viene evocato, viene caricato in memoria centrale e viene affidato al gestore dei processi.
  • PRONTO: un programma è pronto perché può essere eseguito dalla cpu. Se un programma è in stato di pronto la cpu può eseguire le istruzioni. -IN ATTESA: un programma è in stato di attesa se attende il verificarsi di un evento per andare in stato di pronto. Il processo passa da uno all’altro di questi stati. I processi appena creati sono messi in stato di pronto, il nucleo decide quali processi mettere

in stato di esecuzione. Il nucleo assegna il processore a un processo per un “quanto di tempo” INTERRUZIONI: ogni processo viene eseguito per un quanto di tempo preciso dalla cpu. Ogni processo in stato di pronto passa in esecuzione quando sarà il suo turno in quella che viene definita “ coda dei processi ”. Quando un processo scatena un’interruzione INTERNA(che nasce perché c’è una condizione di errore o perché vuole accedere ad una risorsa momentaneamente non disponibile)viene messo in stato di attesa finché tale risorsa non sarà disponibile. Successivamente quando il dispositivo ha completato l’operazione che è stata richiesta, avvia un segnala alla cpu, la cpu, a questo punto, manda il processo in stato di pronto ed esegue altri processi. Passaggi interruzione interna: PRONTO-ESECUZIONE- PRONTO Le interruzioni ESTERNE provengono dalle periferiche, che nel frattempo stavano svolgendo l’operazione richiesta precedentemente dal processo. l’interruzione viene comunicata al sistema operativo che modifica lo stato del processo da stato di attesa in stato di pronoto. Senza l’interruzione esterna il processo non può passare in stato di pronto passaggi interruzione esterna: PRONTO-ATTESA-IN.ESTERNA-PRONTO LE INTERRUZIONI SONO EVENTI CHE CAMBIANO LO STATO DI UN PROCESSORE è bene ricordare che ci possono essere delle politiche differenti sulla priorità di esecuzione dei processi infatti, ci possono essere dei casi in cui un processo ha la priorità di svolgimento rispetto ad un altro questo perché se il processo non dovesse essere eseguito in un tempo prefissato il processo fallisce. Questa è quella che viene definita politica di PRIORITà DEI PROCESSI. In una politica ROUND ROBIN tutti i processi sono uguali ( nessuno ha priorità rispetto all’altro) e vengono eseguiti in un quanto di tempo preciso seguendo l’ordine d’arrivo. (chi è primo nella coda dei processi verrà eseguito per primo, e viceversa) SINCRONIZZAZIONE : qualsiasi scambio di dati fra processi è una sincronizzazione. I processi devono coordinare le loro attività, dunque devono sincronizzarsi. Il coordinamento è sequenziale se un processo termina e invoca l’attivazione di un altro processo. un’altra forma di sincronizzazione è la competizione che avviene quando due processi

rilocazione statica e comporta una pesante operazione di trasformazione eseguita sui programmi all’atto del caricamento in memoria. Una volta caricato in memoria, il programma contiene indirizzi assoluti, su cui è necessario fare ulteriori elaborazioni. In alternativa, il processo di rilocazione dinamica non comporta una conversione del codice ma richiede l’utilizzo di un registro speciale dell’unità di elaborazione ( detto registro di base) nel quale viene scritto il valore dell’indirizzo della prima cella di memoria a partire dalla quale il programma è stato caricato per l’esecuzione. Un secondo registro, detto registro dimensioni, contenente la dimensione del programma, permette di controllare che l’indirizzo generato dal programma rientri nello spazio indirizzabile dal programma stesso. Se l’indirizzo generato è maggiore del valore ottenuto sommando la dimensione del programma al contenuto del registro base, si ha una condizione di errore, in questo caso il sistema operativo fa abortire il programma. Un importante meccanismo di suddivisone della memoria centrale e dei programmi è quello della paginazione. La memoria centrale è considerata dal gestore della memoria come partizionata in pagine: ciascuna di queste è un’area di memoria contigua, di dimensione fissata. Anche i programmi vengono partizionati in pagine e allocati in un numero interno di pagine. Un altro meccanismo ampiamente usato per il partizionamento della memoria centrale e dei programmi è detto segmentazione. Durante la compilazione, un programma può essere frazionato in parti che svolgono differenti funzioni. Questa partizione logica del programma consente al gestore della memoria di caricare i segmenti che compongono il programma stesso in maniera indipendente. La segmentazione e la paginazione non sono tecniche alternative: in molti sistemi operativi esse sono applicate contemporaneamente. Sia nel caso della paginazione che in quello della segmentazione il gestore della memoria offre al programma applicativo la visione di una memoria virtuale, ovvero un’architettura di sistema capace di simulare uno spazio di memoria centrale e maggiore di quella fisica. La memoria è suddivisa in:

  • memoria di modo S contiene i programmi di sistema operativo e vengono create le strutture dati da esso utilizzate.
  • memoria di modo U contiene i programmi utente. Se il processo sta eseguendo un processo utente si dice attivo in modo utente e può accedere solo alla memoria di modo U. se il processore sta eseguendo un processo di sistema significa che, è attivo il nucleo, si dice

attivo in modo supervisore, può accedere alla memoria di modo S e di modo U e può eseguire istruzioni “privilegiate”

  • gestione delle periferiche o driver: sono responsabili delle operazioni di ingresso/uscita che coinvolgono le periferiche. i driver sono meccanismi software cui è affidato il compito di comunicare i dati da e verso le periferiche. Essi garantiscono ai programmi che lui usano una visione di alto livello perché grazie a questi meccanismi è possibile leggere o scrivere tramite primitive indipendenti dalla struttura hardware delle periferiche. Ovviamente a ogni operazione di alo livello corrisponde una serie di operazioni di basso livello gestite dal sistema operativo. In particolare si distingue fra: Drive fisici(hardware) attivati dal gestore delle interruzioni per eseguire le operazioni di trasferimento e manipolazione dei dati Driver logici(software) inclusi nel sistema operativo e forniscono una gerarchia di operazioni con un’organizzazione a strati.
  • il file system: è responsabile della gestione dei file in memoria di massa. Esso fornisce all’utente delle funzioni da poter applicare su di esse. Consente all’utente di creare un file dargli un nome collocarlo in un opportuno spazio nella memoria e accedervi in lettura e scrittura. I file vengono inclusi all'interno di strutture dette DIRECTORY o cartelle che hanno una tipica organizzazione ad albero ciascuna directory può contenere diversi file e anche avere al suo interno varie sottodirectory viene a crearsi così una gerarchia ad albero. l’intero file system ha varie directory che ospitano programmi di sistema cioè programmi che possono essere eseguiti dal sistema operativo stesso o da più utenti e directory contenenti i file utente. A ciascun utente è normalmente associata una directory specifica detta HOME directory i nomi della home directory coincidono con i nomi degli utenti. Quando viene creato un file l’utente specifica la PROTEZIONE da applicare a esso ossia indica quali operazioni possono essere eseguite da ciascun utente sul file. Ciascun utente ha un PATHNAME o nome completo che include l’intero cammino della radice dell’albero al file stesso. Le funzioni classiche disponibili agli utenti del file system comprendono: -comandi per la creazione di un file: normalmente queste operazioni sono eseguite da applicazioni o da strumenti dio produttività come editor e word processor. -comandi per le creazioni di directory: questa operazione viene gestita dall’utente che crea

Isolamento: il malfunzionamento di una macchina virtuale non influenza il funzionamento delle altre Incapsulamento: lo stato di una macchina virtuale può essere salvato su un unico file Indipendenza dall’hardware: una macchina virtuale può essere eseguita (emulata) su macchine fisiche diverse LIVELLI DI VIRTUALIZZAZIONE: Esistono due possibili tecnologie per la virtualizzazione, a livello di... … sistema operativo: il sistema operativo host crea delle partizioni di se stesso. non è necessario l’utilizzo di un hypervisor non è possibile installare sistemi operativi diversi da quello dell’host … hardware: esecuzione di un hypervisor La virtualizzazione a livello di hardware si può suddividere in due categorie, a seconda del tipo di hypervisor tipo 1 (bare metal, o metallo nudo):è un sistema operativo speciale che viene eseguito all’avvio dell’elaboratore, non esiste un sistema operativo host tipo 2 (hosted):è eseguito come applicazione utente all’interno del sistema operativo host TRASMISSIONE DEI DATI: consente di collegare calcolatori e periferiche. I parametri più significativi per caratterizzare la trasmissione dei dati sono, la velocità di trasmissione misurata in bit per secondo, la distanza di trasmissione che può variare da poche decine di metri a migliaia di chilometri. I principali messi per la trasmissione dati sono, i cavi rame, le fibre ottiche e le onde elettromagnetiche. -I cavi rame : si dividono in 2 categorie: i cavi coassiali(chiamato coassiale perché i 2 conduttori che lo costituiscono non sono uguali uno dall’altro) e il doppino telefonico. Il cavo coassiale ha al suo interno un conduttore di rame circondato da un materiale isolante e da uno schermo di metallo intrecciato. Il tutto è avvolto da un rivestimento esterno. Il cavo coassiale è un ottimo sistema per schermare il segnale dal rumore Il cavo coassiale è stato inizialmente utilizzato per trasportare le comunicazioni telefoniche. Aspetti positivi:resiste alle interferenze elettromagnetiche(fulmini, …) aspetti negativi: poco flessibile si usura facilmente difficile da installare. Il cavo coassaile è stato sostituito dal doppino telefonico Il doppino telefonico(chiamato doppino perché è formato da 2 fili) è formato da una coppia

di fili di rame che viene utilizzata per la trasmissione delle comunicazioni telefoniche. Il doppino telefonico è oggi diffuso sia nelle reti locali si nelle reti di accesso. Il doppino è simile a quello utilizzato per il telfono. Nel doppino il segnale viaggia su entrambi i cavi. I cavi essendo intrecciati tra loro e quindi vicinissimi permettono di attenuare il rumore. Aspetti positivi: meno costoso più flessibile e più facile da installare. Aspetti negativi: più soggetto ad interferenze esterne -fibre ottiche: sono filamenti di materiali vetrosi realizzati in modo tale da poter condurre la luce su lunghe distanze. Sono immuni ai disturbi atmosferici e sono flessibili. Le fibre ottiche sono un mezzo di trasmissione ma non sono un conduttore elettrico. Una fibra ottica è composta da 2 strati : il core, ovvero il mezzo di trasparente che trasporta il segnale laser e il cladding ovvero lo strato esterno che costringe l’onda a seguire il percorso della fibra ottica. Vantaggi: immuni ai disturbi atmosferici -Onde radio e sistemi wireless : comunicazione senza fili che fa uso delle onde elettromagnetiche per la trasmissione dei dati senza fare uso di cavi. Esempi sono : le onde radio, le microonde, gli infrarossi e la luce visibile(laser) -le onde radio sono la tecnologia più diffusa e può coprire ambienti eterogenei. Hanno una frequenza minore di 3ghz(gigahertz)

  • le microonde sono fasci direzionali senza dispersione e collegano edifici vicini. Le loro frequenze vanno dai 3ghz ai 300 ghz, usate nel forno e nei telefonini
  • gli infrarossi venivano utilizzati per collegare dispositivi “visibili”. La loro frequenza va dai 300ghz ai 428 Thz(terahertz), gli infrarossi hanno come caratteristica il fatto che non riescono a superare gli ostacoli, questo perché, quando ne incontrano uno tendono a trasmettere all’oggetto tutta la loro energia. l’energia trasmessa dagli infrarossi viene percepita dall’uomo sotto forma di calore. -la luce visibile(laser) è l’insieme dei fasci direzionali senza dispersione , è sensibile agli eventi atmosferici. La sua frequenza va dai 428thz ai 749 thz Le reti che sfruttano la tecnologia delle onde radio si dividono in 4 grandi famiglie: wifi: basato su uno standard di comunicazione molto diffuso. La rete wifi permettono di collegare tra loro computer che si trovano all’interno di un edificio. Ha un raggio d’azione di 100 metri e velocità che va dagli 11 mbps a 7gbps Wimax : è una tecnologia che consente la creazione di reti di telecomunicazioni a banda larga e senza fili su scala metropolitana , utilizza antenne direzionali

un’elevata velocità di trasmissione dati. Le reti MAN hanno un numero di nodi molto più elevato rispetto alla LAN e per questo hanno una struttura più complessa. Una rete MAN è l’insieme delle interconnessioni delle reti locali.

  • WAN (wide area network)o reti geografiche sono reti che mettono in comunicazione calcolatori geograficamente molto distanti. Le reti geografiche riescono a coprire i collegamenti tra città differenti e nazioni differenti.le WAN non hanno un limite sulla loro estensione. Un esempio di rete geografica è Internet(scritto con la “i” maiuscola) le reti geografiche sono caratterizzate da protocolli routing. RETI DI ACCESSO E DORSALI. -RETI DI ACCESSO: hanno la maggior parte dei nodi collegati e hanno estensione geografica ridotta. La loro velocità complessiva è lenta. Queste reti sono collegate tra di loro dalle reti dorsali. -RETI DORSALI: le reti dorsali hanno un numero di collegamento ridotto ma trasportano quantità di dati enormi. Nelle reti dorsali i calcolatori sono collegati alle reti d’accesso. Le reti dorsali hanno una velocità elevata, collegano diverse reti di distribuzione e sono tutte fatte in fibra ottica. TOPOLOGIA DELLE RETI: TOPOLOGIA: struttura di qualcosa le topologie utilizzate per le reti locali sono, la topologia ad anello, a stella e a bus(rappresentata diversamente rispetto al solito)
  • le reti ad anello sono formate da “.” chiamati nodi e che rappresentano i calcolatori e da dei tratti di collegamenti chiamati archi. Le reti ad anello sono formate in maniera tale che ciascun nodo sia collegato ad altri 2 nodi ( quello che lo precede e quello che lo segue). L’ultimo calcolatore è sempre collegato al primo calcolatore per questo si dice che la rete è circolare. Quando un nodo della rete deve inviare un messaggio ad un altro nodo della rete deve inserire nel suo messaggio l’indirizzo del mittente e l’indirizzo del destinatario. Il nodo, dopo aver fatto ciò. può inviare il messaggio sulla rete, il quale sarà ricevuto dal nodo subito successivo ad esso. Tale nodo leggerà il messaggio e capirà se è per lui o meno. Se il messaggio non era per lui, il nodo invierà il messaggio al nodo successivo. In una rete ad anello, l’ordine di successione del messaggio è sempre lo stesso. Il messaggio non può saltare nodi ma, segue tutti i nodi fino ad arrivare al nodo destinatario.

I nodi non possono inviare i messaggi casualmente ma devono aspettare il loro turno. Il nodo che può inviare il messaggio è quello che in quel momento ha ricevuto un TOKEN( un messaggio particolare che dà la possibilità ai nodi di inviare messaggi). Il token gira continuamente sull’anello per fare in modo che tutti i nodi in un certo momento abbiano la possibilità di inviare un messaggio. Ma se un nodo si rompe cosa succede? Se un nodo si rompe può succedere che, o si interrompe l’intera rete o entra in azione un dispositivo sul cavo che ha il compito di eliminare il nodo rotto e ripristinare la rete. Può succedere che il nodo che si è rotto abbia in quel momento il token e che quindi si perda il messaggio. Per fare in modo che si ricrei il token deve entrare in azione il NODO ARBITRO. Il nodo arbitro ha il compito di ricreare il token se mai quest’ultimo si dovesse distruggere. Nel caso in cui il nodo che si rompe è il nodo arbitro, si sceglierà un nuovo nodo che ha lo stesso compito. la topologia ad anello è stata tra le prime topologie locali ma la prima topologia in assoluto fu quella a stella.

  • In una topologia a stella tutti i nodi sono collegati ad un nodo centrale(CENTRO STELLA) che ha il compito di smistare i messaggi ai destinatari. Il protocollo di comunicazione nella topologia a stella è molto semplice. Se si guasta il centro stella la rete smette di funzionare. Il problema della topologia a stella è che ci vogliono tanti cavi quanti sono i nodi che devono essere collegati al centro stella e per questo, tale topologia è molto costosa. Per risolvere questo problema dei cavi nasce la topologia a bas.
  • la topologia a bus è costituita da un unico canale a cui sono collegati diversi nodi, questo permette di servire più utenti contemporaneamente. Nella rete a bus, a differenza della rete ad anello e a stella, il nodo non è parte della rete e non ha un ruolo specifico ma è solo un fruitore della reta. Tutti i nodi ascoltano il messaggio che passa per la rete ma non possono estrapolarlo da essa, possono solo ascoltarlo e percepirlo. Se un nodo si rompe alla rete non succede nulla. In una rete a bus il protocollo di comunicazione è più complesso e uno tra i problemi che si devono affrontare è la tempistica della comunicazione. Proprio perché la comunicazione non è regolata da un token può succedere che due nodi decidano di inviare un messaggio contemporaneamente. Se due nodi inviano un messaggio nello stesso momento, i due

PROTOCOLLI DI COMUNICAZIONE :

Affinché 2 sistemi possano scambiarsi informazioni è necessario che si accordino su regole comuni,adottando un protocollo di comunicazione che specifichi cosa,come e quando comunicare. Un protocollo stabilisce le regole di comunicazione che devono essere seguite da 2 computer. Dato che i protocolli devono essere utilizzati da calcolatori diversi tra loro essi vengono definiti nell’ambito di standard internazionali. Il più famoso di questi standard , detto standard OSI definito dall’ISO propone una struttura a livelli ( livello applicazione,presentazione, sessione,trasporto,rete, collegamento dati e fisico) di comunicazione tra elaboratore che serve da riferimento per i protocolli di comunicazione. Il modello ISO-OSI contiene diversi livelli ciascun livello rappresenta una macchina astratta. Si andrà a realizzare la comunicazione virtuale ovvero quando le macchine virtuali di pari livello comunicano tra loro grazie all’accordo di seguire le stesse regole di comunicazione che permettono loro di interpretare correttamente i dati che si scambiano. Apparati di rete:

- HUB sono ripetitori del segnale. l’hub riceve il segnale e lo ripete senza cambiare nulla, quindi ripeterà anche il rumore. -BRIDGE o SWITCH ha come scopo l’estensione della rete, esso però a differenza del hub analizza i messaggi bit per bit e li riscrive cancellando il rumore. Con lo switch il messaggio viene rigenerato e l’effetto del rumore viene riportato a zero. Lo switch diminuisce il dominio di collisione.