Anteprima
Vedrai una selezione di 4 pagine su 12
Informatica. Reti di calcolatori; Algoritmi; Diagrammi Pag. 1 Informatica. Reti di calcolatori; Algoritmi; Diagrammi Pag. 2
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Informatica. Reti di calcolatori; Algoritmi; Diagrammi Pag. 6
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Informatica. Reti di calcolatori; Algoritmi; Diagrammi Pag. 11
1 su 12
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

TCP:

• quando i pacchetti arrivano a destinazione, il protocollo TCP ne controlla l'integrità; poi

li riordina

• se alcuni dati risultano persi o danneggiati, ne richiede la ritrasmissione.

DNS= servizio, all'interno di TCP/IP, che associa ad ogni indirizzo IP un nome mnemonico.

Esempio: pcserver.mat.unisi.it

pcserver -> host

mat.unisi.it -> dominio

mat -> sottodominio

unisi -> sottodominio

it -> sottodominio

• per consentire la traduzione degli indirizzi DNS in indirizzi IP, ogni dominio è associato ad un

calcolatore (SERVER DNS) che è responsabile del dominio.

• se il Server DNS non riesce a tradurre un particolare indirizzo, allora si invia la richiesta di

traduzione ad un 2° / 3° / 4° / ... server DNS (finchè il compito non viene portato a termine).

Altri servizi di rete (sempre basati sui protocolli TCP/IP) :

1. WWW, World Wide Web

• protocollo HTTP; ultimamente HTTPS

• HTTP= protocollo di trasferimenti ipertesti;

in altre parole: il servizio WWW mi da la possibilità di trasferire IPER-TESTI=

pagine Web.

• WWW è fatto in modo che i vari nodi della rete ipertestuale siano distribuiti sui vari host che

formano internet.

Attivando un link si può passare ad un documento che si trova su un qualsiasi computer della

rete. • ogni documento è identificato mediante un indirizzo univoco, detto

corrispondenza 1 a 1: URL; di solito il protocollo usato è HTTP.

1 file per ogni indirizzo Esempio: http://www.mat.unisi.it.

HTML= è un linguaggio di formattazione del testo a tag.

Consente di costruire documenti multimediali ipertestuali; si basa solo sui TAG=

"indicazioni" che visualizzano del testo o delimitano dei campi.

Consentono al computer di visualizzare dei documenti ipertestuali e multimediali.

XML= evoluzione di HTML; più "potente" e più versatile.

• Javascript / Java / Flash -> codice eseguibile, inserito all'interno delle pagine web, per fare in

modo che la pagina interagisca in modo attivo con l'utente.

• vari scopi: animazioni, aggiornamento di parte della pagina, giochi online, ...

• BROWSER= programmi che permettono di scaricare e visualizare pagine web.

Esempi: Chrome, Internet Explorer, Firefox, ...

Come funziona?

• l'utente richiede la pagina al browser web (ad esempio scrivendola nella barra

degli indirizzi)

• il browser chiede al DNS l'indirizzo IP del server

• il server DNS restituisce l'apposito indirizzo

• il browser chiede la pagina al server

• il server risponde con la pagina HTML

• il browser legge l'HTML e crea la grafica della pagina, che verrà visualizzata all'utente

2. LOGIN REMOTO

• servizio che consente di connettere il proprio computer (client) ad un altro (server), in modo da

poter lavorare sul "proprio" computer a distanza.

Il proprio computer diventa un TERMINALE REMOTO del pc al quale è connesso, e può usare

le risorse di quest'ultimo.

• il programma più diffuso in internet per fare il login remoto è Telnet.

• tutti i comandi digitati dal client viaggiano "in chiaro" sulla rete, mettendo a repentaglio la

sicurezza.

SSH: programma per il login remoto, in cui la comunicazione avviene in modo cifrato.

• per fare il login remoto occorre fornire delle credenziali di accesso (ad esempio username e

password data dal server).

3. TRASFERIMENTO DI FILE

• protocollo FTP -> trasferisce files fra utenti connessi in rete

• download= da server a client [scarica; client: io]

upload= da client a server

[per entrambi è necessaria l'autenticazione]

• FTP anonimo= un particolare tipo di server FTP che non richiede autenticazione & prevede solo

il download.

Permette di distribuire (in modo anonimo) archivi di software / documenti / e dati, attraverso

internet.

Esempio: l'antivirus.

4. POSTA ELETTRONICA -> E-MAIL

• per inviare / ricevere messaggi a / da chiunque sia in rete.

Necessari:

• Mailbox & indirizzo di posta elettronica

• Client di posta

• Computer connesso a internet

• MAILBOX= "contenitore" elettronico dove vengono depositate tutte le mail spedite all'indirizzo

dell'utente.

Risiede sul MAILSERVER -> si può avere un Mailserver a propria disposizione (aziende /

università ..;)

oppure si fa affidamento a un ISP (Internet Service Provider), che fornisce all'utente l'accesso a

un Mail server da casa.

• protocolli per la gestione delle mail ->

A. SMTP (Simple Mail Transfer Protocol)

• protocollo per l'invio di messaggi

• quando riceve un messaggio, il server SMTP lo deposita nella casella del destinatario

B. POP3

• il client si connette al server (= io accedo alla mia Mailbox) e scarico tutti i messaggi

sul computer, lasciando la Mailbox vuota.

Possibilità di lettura offline (= senza collegamento alla rete).

Esempio: outlook.

C. IMAP • i messaggi rimangono sempre nel server (: sul pc); viene scaricata solamente la preview

(l'intestazione) del messaggio.

Se faccio doppio click -> scarico il messaggio; altrimenti no.

• possibilità di rileggere gli stessi messaggi da dispositivi diversi (perchè, non

scaricandoli, rimangono lì).

III MODULO

problema • un insieme di dati di partenza (su cui lavorare)

• un risultato cercato

• una soluzione = procedura (: insieme di azioni) che prendono dei dati in

ingresso, li elaborano e danno il risultato in uscita

[la risoluzione del problema]

• sapere come risolvere un problema è diverso dalla capacità

di risolverlo

• soluzione attuata da noi, oppure da un altro "soggetto" ->

può non sapere come risolvere un problema, ma essere

disponibile ad attuare la soluzione (se gli viene insegnata)

• fasi della procedura di soluzione:

• ANALISI del problema & identificazione di una

soluzione da parte del 1° soggetto

• DESCRIZIONE della soluzione, da parte del 1°

soggetto, in termini comprensibili al 2° soggetto

• INTERPRETAZIONE della soluzione da parte del 2°

soggetto

• ATTUAZIONE della soluzione da parte del 2° soggetto

la procedura di soluzione deve essere descritta in modo che

l'esecutore sia in grado di interpretarla in modo corretto

Esecutore calcolatore

• Caratteristiche:

• devo scrivere le soluzioni che voglio che svolga in un LINGUAGGIO che lui sa interpretare

(stringhe di 0 e 1)

• l'insieme delle AZIONI che è in grado di compiere

• l'insieme delle ISTRUZIONI (: le regole) che correlano ogni costrutto linguistico con le

rispettive azioni da compiere.

• Svantaggi: è l'esecutore più "stupido"; svolge solo pochissime operazioni (somma e confronto)

Vantaggi: molto veloci. Possono ripetere la stessa operazione all'infinito senza sbagliare.

• se il calcolatore non sa fare l'operazione che gli chiedo, devo insegnargliela scompongo

un problema in sottoproblemi, fino ad arrivare a problemi ELEMENTARI o PRIMITIVI=

problema la cui soluzione corrisponde ad un'azione elementare che l'esecutore sa compiere

direttamente. PROCEDURA EFFETTIVA = risolve l'insieme dei sotto-problemi

quando ->

• tutti i problemi sono elementari

• è fissato l'ordine di soluzione dei problemi

• è specificato il modo in cui un problema utilizza i risultati dei problemi

che lo precedono

AMBIGUITA' -> si ha quando 2 soggetti giudicano come effettiva la stessa soluzione di un

problema, ma poi compiono azioni che producono risultati diversi.

• si può presentare finchè la soluzione del problema viene descritta in termini

informali

• per rimuoverla devo "scrivere", passo passo, tutti gli step che portano alla

soluzione del problema

Soluzioni effettive formalmente sono chiamate ALGORITMI= una successione ordinata

di istruzioni che definiscono le operazioni da eseguire su dei dati, per

risolvere una classe di problemi.

• in caso di calcolatori:

• le soluzioni effettive vengono tradotte in procedure effettive o PROGRAMMI

• il linguaggio formale per la loro descrizione è detto LINGUAGGIO

DI PROGRAMMAZIONE • fasi di sviluppo di un programma ->

• ANALISI del problema & identificazione di

una soluzione

• FORMALIZZAZIONE della soluzione &

definizione dell'algoritmo risolutivo

• PROGRAMMAZIONE= scrittura dell'

algoritmo in un linguaggio di

programmazione "ad alto livello"

• TRADUZIONE del programma in

"linguaggio macchina" (direttamente

interpretabile dalla macchina)

• le operazioni sono scritte sotto forma di

programma

• il programma e i dati su cui operare sono

registrati in memoria & letti dall'unità di

controllo

• ogni specifico programma risolve una classe

di problemi

NB! computer: universale perchè ha in sè un linguaggio di programmazione che mi

permette di risolvere tutti i problemi che voglio.

[in più, è programmabile]

PROBLEMA TERMINALE= sottoproblemi non elementari, ma dei quali è nota la scomposizione

in problemi elementari.

L'algoritmo può essere pensato come: soluzione per un insieme di

problemi terminali.

Proprietà degli algoritmi:

1. FINITEZZA • numero di istruzioni finito

• ogni istruzione eseguita in un intervallo finito di tempo (non può

andare avanti all'infinito)

• ogni istruzione eseguita un numero finito di volte

2. GENERALITA'= un algoritmo deve fornire la soluzione a una classe di problemi.

L'algoritmo opera su tutti i dati appartenenti al DOMINIO o ISTANZA, per fornire una soluzione

all'interno del CODOMINIO.

l'insieme di arrivo -> l'insieme di dati in ingresso

la soluzione

3. NON AMBIGUITA' • istruzioni definite in modo univoco

• non ci sono paradossi, contraddizioni, ambiguità

• il risultato dell'algoritmo è identico, indipendentemente

chi lo sta eseguendo / quando / come / ...

CICLO o LOOP= consentono di ripetere (reiterare) una stessa azione, fin tanto che non accade

qualcosa.

finchè <condizione> ripeti <azione>

istruzione iterativa => soluzione iterativa

linguaggio formale OPERAZIONI da eseguire

DATI su cui eseguirle

ogni programma ha 2 serie di dati ->

• COSTANTI= dati che rimangono invariati durante l'esecuzione

dell'algoritmo (da quando inizia a quando finisce)

• VARIABILI= "scatoline" (: celle di m

Dettagli
Publisher
A.A. 2017-2018
12 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cici92 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Frosini Andrea.