












































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
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
1 / 84
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!













































































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.
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...).
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).
RAPPRESENTAZIONE DELLʼINFORMAZIONE
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.
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.
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.
È un sistema numerico posizionale a base fissa; questo utilizza:
r= d=0,1,2,3,4,5,6,7,8,
es.:
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).
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
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).
Bit: numero di configurazioni: 2; intervallo di variabilità: 0,1;
Byte: numero di configurazioni: 256; intervallo di variabilità: dipende dal tipo di codifica.
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.
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).
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...).
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 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 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 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.
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.
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.
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.
Es. Lettura della Memoria :
Fasi di Fetch - Lettura dalla Memoria
Decodifica - Lettura della Memoria
Esecuzione - Somma tra due registri
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.
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.
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