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


Modello delle reti peer-to-peer e architettura TCP/IP - Prof. Moriani, Dispense di Fondamenti di informatica

Il modello delle reti peer-to-peer e l'architettura tcp/ip, che definiscono i livelli e i protocolli di comunicazione tra nodi in una rete. Il modello peer-to-peer consente a ogni nodo di svolgere il ruolo di server e client, mentre tcp/ip è un insieme di protocolli che operano coordinatamente a vari livelli per garantire la comunicazione affidabile e efficiente tra nodi. Il documento include una spiegazione dettagliata dei vari livelli di tcp/ip e dei relativi protocolli.

Tipologia: Dispense

2023/2024

In vendita dal 15/02/2024

Simonesmo
Simonesmo 🇮🇹

6 documenti

1 / 84

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informatica Generale
1
Informatica Generale
SISTEMI DI ELABORAZIONE DELLʼINFORMAZIONE
💡
Cosʼè lʼinformatica  Lʼinsieme dei processi e delle tecnologie che rende
possibile la creazione, la raccolta, lʼelaborazione, lʼimmagazzinamento
e la diffusione dellʼinformazione.
Elementi funzionali dell'informatica sono i Sistemi di Elaborazione
dell'Informazione.
Spesso tali sistemi sono detti “elaboratori elettroniciˮ, o ancora più
semplicisticamente “computerˮ.
L'etimologia italiana della parola "informatica" proviene dal francese, dalla
compressione di inform(ation electronique ou autom)atique. Diversi termini, un
solo ente:
elaboratore: in italiano, che sottintende un processo prossimo all'intelligenza
umana;
ordinateur: in francese, a sottolineare le sue capacità di organizzare i dati
(oggi le informazioni);
computer: in inglese, letteralmente calcolatore, in diretta discendenza delle
calcolatrici, prima meccaniche, poi elettromeccaniche, poi elettroniche.
Hardware e Software
LʼHardware (HW) ed il Software (SW) sono i due pilastri su cui si regge
lʼinformatica:
lʼhardware è la componenta fisica del computer (monitor, tastiere, stampanti,
etc);
il software è la componente “mentaleˮ (windows, amule, internet explorer,
videogiochi).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54

Anteprima parziale del testo

Scarica Modello delle reti peer-to-peer e architettura TCP/IP - Prof. Moriani e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

Informatica Generale

SISTEMI DI ELABORAZIONE DELLʼINFORMAZIONE

💡 Cosʼè lʼinformatica^ ^ Lʼinsieme dei processi e delle tecnologie che rende

possibile la creazione , la raccolta , lʼelaborazione , lʼimmagazzinamento e la diffusione dellʼinformazione. Elementi funzionali dell'informatica sono i Sistemi di Elaborazione dell'Informazione. Spesso tali sistemi sono detti “elaboratori elettroniciˮ, o ancora più semplicisticamente “computerˮ.

L'etimologia italiana della parola "informatica" proviene dal francese, dalla compressione di inform(ation electronique ou autom)atique. Diversi termini, un solo ente:

elaboratore : in italiano, che sottintende un processo prossimo all'intelligenza umana; ordinateur : in francese, a sottolineare le sue capacità di organizzare i dati (oggi le informazioni); computer : in inglese, letteralmente calcolatore, in diretta discendenza delle calcolatrici, prima meccaniche, poi elettromeccaniche, poi elettroniche.

Hardware e Software

LʼHardware ( HW ) ed il Software ( SW ) sono i due pilastri su cui si regge lʼinformatica:

lʼhardware è la componenta fisica del computer (monitor, tastiere, stampanti, etc); il software è la componente “mentaleˮ (windows, amule, internet explorer, videogiochi).

Es. analogia con l'essere umano: l'hardware è il corpo e il software è ciò che determina il comportamento (le opinioni, i ricordi, il carattere personale etc...).

Dati

I dati sono la materia prima del trattamento dellʼinformazione. Tipi di dati:

semplici : numeri, caratteri, date; complessi : immagini, grafici, filmati, suoni, animazioni (la gestione di dati complessi è resa possibile dalla potenza raggiunta dagli elaboratori nellʼultimo decennio).

Il ciclo di elaborazione dellʼinformazione

RAPPRESENTAZIONE DELLʼINFORMAZIONE

Il bit

Si parla di matematica binaria, contesto in cui gli elementi rappresentativi sono due simboli: ‘0ʼ, ‘1ʼ

rappresentazione analogica : 256 gradi di luminosità con una lampada; rappresentazione digitale : 8 lampade 256 configurazioni diverse);

Ciò induce a comprendere che la rappresentazione digitale è lʼopzione migliore.

Rappresentazione Binaria

Le informazioni che si vogliono trattare con lʼausilio di dispositivi elettronici sono:

Informazioni tradizionali : numeri (interi positivi, positivi e negativi, reali) e testi; Informazioni multimediali : immagini fisse (vettoriali, possono essere descritti da elementi matematici quali il vettore; bitmap, mappa dei bit; puntini che caratterizzano il reticolo dellʼimmagine), audio e video.

Codifica binaria

Esiste una particolare aggregazione di bit che è costituita da 8 bit 2^8  256 informazioni) e prende il nome di byte.

Di solito si usano i multipli del byte.

SISTEMI NUMERICI

Per determinare un sistema numerico serve:

un insieme limitato di simboli (le cifre), che rappresentano quantità prestabilite 1, 2, V, X, M; le regole per costruire i numeri: sistemi numerici posizionali ; Il valore delle cifre dipende dalla loro posizione allʼinterno del numero; ogni posizione ha un peso. es.:

In tal caso stiamo considereando dei sistemi a base fissa dove:

sistemi numerici non posizionali. il valore delle cifre è indipendente dalla posizione (es. Numeri romani); in tal caso quindi la posizione del numero non conta.

Sistema Decimale

È un sistema numerico posizionale a base fissa; questo utilizza:

r= d=0,1,2,3,4,5,6,7,8,

es.:

Bit Necessari

Le macchine hanno vincoli spaziali:

è necessario conoscere il massimo valore rappresentabile; con n bit si può rappresentare al massimo ilcnumero 2^n-1 ; è facile determinare che per poter rappresentare fino ad X , sono necessari un numero n di bit pari a [log2X; dove [y] (ovvero le parentesi incicano che) resitituisce il più piccolo numero intero maggiore o uguale a y (contenuto nelle parentesi).

Overflow

Esiste un limite al numero di bit impiegati per rappresentare un numero.

Dato che la rappresentazione è formata da un numero finito di bit, se si supera tale limite si ha errore: overflow.

MEMORIZZAZIONE SU CALCOLATORI E CODICE

Bit, Byte e Word

L'unità atomica è il bit; l'insieme di 8 bit è detto byte. Una word è un insieme di bit la cui dimensione è una importante caratteristica del calcolatore considerato.

tipicamente 16, 32 o 64bit; influenza la larghezza degli indirizzi; influenza la dimensione dei registri del processore (aree di memorizzazione allʼinterno del processore);

influenza larghezza dei bus, trasportatori di dati (word o multipli di essa).

Intervalli di Variabilità

Bit: numero di configurazioni: 2; intervallo di variabilità: 0,1;

Byte: numero di configurazioni: 256; intervallo di variabilità: dipende dal tipo di codifica.

Codifica dei Testi

La codifica è un insieme di regole che vengono adottate a livello internazionale per associare ad una sequenza di 8bit, un carattere. Si utilizza una tabella (arbitraria) e viene universalmente ricoconosciuto, ad oggi, come standard

Tabella dei codici ASCII American Standard Code for Information Interchange)

ogni carattere (simbolo) è codificato con 7 bit: 128 simboli diversi.

Tabella dei codici ASCII esteso

ogni carattere (simbolo) è codificato con 8 bit: 256 simboli diversi.

Grazie al SO possiamo: eseguire un programma, salvare un file, stampare un documento. programmi applicativi ; Elaboratore  Software  Attore  Copione Lʼattore recita ruoli diversi a seconda del copione che gli viene dato. Lʼelaboratore svolge funzioni diverse a seconda del programma utilizzato. Applicazioni : compiti eseguiti con lʼausilio del computer. Programmi Applicativi : programmi utilizzati per svolgere le applicazioni.

Le Interfacce Utente

Rappresentano il mezzo di interazione tra lʼutente e la macchina (possono essere a caratteri o con grafiche). Le Interfacce Grafiche Utente GUI vennero sviluppate al Xerox PARC. Oggi ne esistono diverse (es. Windows di Microsoft).

GUI: Caratteristiche Comuni

Interfaccia a finestre; Funzioni attivabili tramite click del mouse; Impiego della tecnologia WTSIWYG; Standardizzazione dei comandi tra le diverse applicazioni (es.: taglia, copia, incolla, cerca...).

I Sistemi Operativi

Hanno subito nel corso del tempo un graduale ampiamento delle loro funzioni (connessione ad una rete, gestione del suono e del video).

Appena le nuove funzionalità si diffondono vengono assorbite dal SO (i progettisti SW considerano comune a tutti gli elaboratori).

Funzioni principali :

Gestire le risorse dellʼelaboratore; Controllare che le operazioni vengano eseguite in modo regolare;

Determinare dove memorizzare dati e programmi; Coordinare la comunicazione tra i vari componenti del computer; Gestire lʼinterazione tra lʼutente e i programmi applicativi.

Il Ruolo del BIOS

Il BIOS Basic Input Output System) è un programma memorizzato su un chip di memoria ROM che fornisce un collegamento fra il SW e i componenti HW dellʼelaboratore. Ha diverse funzioni:

interpreta i dati immessi tramite la tastiera; visualizza i caratteri sullo schermo; gestisce le comunicazioni attraverso le porte del computer;

Eʼ la porzione del SO che si occupa di acquisire lʼinput dellʼutente e di interpretarlo (es.: doppio click sullʼicona di unʼapplicazione; il SO interpreta questi comandi caricando ed eseguendo lʼapplicazione).

I Sistemi Multitasking

I vecchi SO potevano eseguire soltanto un programma per volta. I SO moderni consentono di utilizzare diversi programmi contemporaneamente.

Ma come si fa con una sola CPU?

Multitasking preempitive : lʼaccesso al processore è regolato dal SO.

I Sistemi Multithreading

I programmi, in genere, elaborano i dati e i comandi in ordine sequenziale: solo quando unʼoperazione è stata portata a termine possono iniziarne unʼaltra. In un SO multithreading i programmi applicativi possovo svolgere più operazioni parallelamente.

INTRODUZIONE ALLʼARCHITETTURA DEI

CALCOLATORI

Calcolatore  Unità di Elaborazione  Unità di Controllo

 Preleva le istruzioni dalla memoria;  Interpreta i codici di istruzione;  Effettua le azioni che questi prevedono;

Programma  Insieme organizzato di istruzioni.

Organizzazione a livelli

Hardware e software sono organizzati a livelli:

ciascun livello corrisponde a una macchina (reale o virtuale) in grado di eseguire un proprio insieme di operazioni; ciascun livello fornisce un insieme di operazioni più semplici da utilizzare rispetto a quelle del livello sottostante; ciascun livello è realizzato in termini dellʼinsieme di operazioni fornite dal livello immediatamente sottostante.

Componenti di un Calcolatore

Bus e soluzione Master-Slave

Il bus è una linea a cui sono contemporaneamente connesse le unità del calcolatore e che consente il trasferimento di dati tra tali unità.

Problema : contesa su un mezzo condiviso! Soluzione  CPU  master, periferiche = slave

Punti di forza:

semplicità  1 sola linea di connessione ∀ # di dispositivi; estendibilità : nuovi dispositivi possono essere aggiunti tramite unʼinterfaccia al bus senza influenzare lʼHW preesistente; standardizzabilità : definizione di normative che consentono a periferiche di costruttori diversi di interagire correttamente.

Punti di debolezza:

lentezza : lʼuso in mutua esclusione del bus inibisce almeno parzialmente la parallelizzazione delle operazioni di trasferimento di dati tra dispositivi; limitata capacità : al crescere del numero di dispositivi la presenza di una sola linea comporta un limite alla capacità di trasferire dati; sovraccarico della CPU : lʼunità centrale viene coinvolta in tutte le operazioni di trasferimento di dati.

Schema di riferimento:

Tipologie di bus:

Unità aritmetico-logica (esegue le operazioni necessarie per eseguire le istruzioni); Registri; memoria ad alta velocità usata per risultati temporanei; determina il parallelismo della CPU; esistono registri generici e registri specifici Program Counter PC; Instruction Register IR.

Tre Tipologie di Istruzioni

Istruzioni Aritmetico Logiche (elaborazione dati): somma, sottrazione, divisione, …; And, Or, Xor, …; Maggiore, minore, uguale, maggiore uguale, … Controllo del flusso delle istruzioni  Sequenza; Selezione; Ciclo a condizione iniziale, a condizione finale, … Trasferimento di informazione  Trasferimento dati e istruzioni tra CPU e memoria; Trasferimento dati e istruzioni tra CPU e dispositivi di I/O

Struttura del “ data path ˮ:

Esecuzione delle Istruzioni, Ciclo Fetch-Decode-Execute :

 Prendi lʼistruzione corrente dalla memoria e mettila nel registro istruzioni IR [Fetch];  Incrementa il program counter PC in modo che contenga lʼindirizzo dellʼistruzione successiva;  Determina il tipo dellʼistruzione corrente Decodifica];  Se lʼistruzione usa una parola in memoria determina dove si trova;

 Carica la parola, se necessario, in un registro della CPU;  Esegui lʼistruzione Execute];  Torna al punto 1.

Struttura Semplificata di una CPU

Es. Lettura della Memoria :

Fasi di Fetch - Lettura dalla Memoria

Decodifica - Lettura della Memoria

Esecuzione - Somma tra due registri

Riepilogo: Registri di CPU

IR : usato per contenere l'istruzione in corso di esecuzione e, caricato in fase di fetch, determina le azioni svolte durante la fase di esecuzione; PC : tiene traccia dell'esecuzione del programma e contiene lʼindirizzo di memoria in cui è memorizzata la prossima istruzione da eseguire; MAR : contiene l'indirizzo della locazione di memoria da leggere o scrivere; la dimensione di MAR determina l'ampiezza dello spazio di memoria fisica. Dalla fine degli anni '80 vengono prodotti microprocessori con bus indirizzi a 32 bit; MDR  Registro attraverso il quale viene scambiata l'informazione tra la memoria e la CPU; tradizionalmente la dimensione di MDR dà la misura del grado di parallelismo della macchina 8, 16, 32, 64 bit); PSW Program Status Word) : contiene info riguardo lo stato del programma; R0, R1,...Rn : registri di uso generale.

Dilemma…

Distanza linguaggio umano/macchina: quanto complesse devono essere le istruzioni che una CPU è in grado di eseguire?

CISC Complex Instruction Set Computing) , repertorio di istr. esteso preferibile perché: istruzioni potenti semplificano la programmazione; riduce il gap tra linguaggio di macchina e linguaggio di alto livello; lʼuso efficiente della memoria (allʼepoca era costosa) era la preoccupazione principale (meglio avere codici compatti). RISC Reduced Instruction Set Computing) : memorie più veloci ed economiche: posso anche mettere un numero maggiore di istruzioni, però più semplici; comportamento dei programmi: l'80% delle istruzioni eseguite corrispondeva al solo 20% del repertorio; conviene investire nella riduzione dei tempi di esecuzione di quel 20%, anziché aggiungere raffinate istruzioni, quasi mai usate, ma responsabili dell'allungamento del tempo di ciclo di macchina; conviene costruire processori molto veloci, necessariamente con repertori.

RISC - Criteri di Progettazione

Frequenza di clock → velocità con cui gli istanti di tempo si succedono all'interno della CPU. Si misura in Hz, che significa “volte al secondoˮ. 2Hz  2 volte al secondo;

Periodo di clock → intervallo di tempo tra un istante ed il successivo. E' l'inverso della frequenza di clock. Il periodo di clock deve essere sufficientemente “lungoˮ da consentire a tutti I segnali elettrici di arrivare;

Le istruzioni devono essere semplici → se l'introduzione di una operazione di macchina fa crescere del 10% il periodo di clock, allora essa deve produrre una