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


Informatica per la comunicazione, Appunti di Fondamenti di informatica

Appunti delle lezioni di informatica per la comunicazione

Tipologia: Appunti

2021/2022

In vendita dal 18/04/2023

alecrlt
alecrlt 🇮🇹

4.6

(7)

21 documenti

1 / 19

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informatica = da informatique, legato alla parola ‘informazione’ è una disciplina che si occupa dell’elaborazione
automatica di simboli. Diverso dalla ‘computer science’ dall’inglese, che studia l’uso dei computer.
Vantaggi dell’elaborazione automatica rispetto a quella umana:
- Tempi di elaborazione: i tempi di un dispositivo sono più veloci
- Affidabilità: limiti di errori
- Elaborazione operazioni meccaniche: l’esecuzione di operazioni da dispositivi seguono regole specifiche.
Information & Communication Technology = disciplina nata dalla convergenza tra tecnologia dell’informazione e
telecomunicazioni.
Come si compone la fase di elaborazione dell’informazione? Fasi:
- Input: quando i dati da elaborare sono formati all’elaboratore
- Fase di elaborazione: modificati al fine di produrre un certo risultato
- Output: risultati vengono forniti all’utente.
Possono essere presenti altre fasi:
- Trasmissione: effettuo un’elaborazione e il risultato è trasferito ad un altro
- Memorizzazione
Storia dell’informatica
Modelli di calcolo automatico (per svolgere calcoli) dal XVII secolo vennero automatizzate macchine che si sono
occupate di modelli automatici per il calcolo. Nell ‘800 vennero compiuto diversi passi importanti:
-Babbage progetta il primo elaboratore con unità di memoria (quella che memorizza e conserva i dati) e
unità di calcolo (quella che elabora i dati), modello ancora teorico.
- Solo dopo la scienziata King Lovelace pensa a come scrivere dei programmi per la macchina
- Altro contributo è quello di Boole, matematico che inventò l’algebra booleana.
Nel ‘900 vennero concretamente realizzati elaboratori:
-Turing propone un modello teorico noto come la macchina di Turing
-Zuse nel 1941 crea la Z1 primo elaboratore.
I modelli celebri vengono progettati dal 1943 modelli di calcolare universale: come il Colossus, ENIAC e EDVAC
(macchina di Von Neumann, studioso che specifica le componenti degli elaboratori, qual è il loro ruolo e come
devono comunicare).
- Anni ’50: introduzione di transistor (sistemi elettronici su cui si baseranno gli elaboratori)
- Anni ’60 creati i microprocessori (unità di elaborazione diventano sempre più miniaturizzate)
- Anni ’70 personal computer (macchine create per l’uso personale)
- Anni ’80 interfaccia grafica (mouse)
Alan Turing
Matematico inglese che diede un contributo fondamentale alla nascita dell’informatica, considerato ‘padre
dell’informatica’.
Riflette sui sistemi di elaborazione automatica e a quanto potessero essere potenti, lavora sui limiti che tali
dispositivi potevano avere. Inventa un modello teorico, la ‘Macchina di Turing’= dispositivo per l’elaborazione
automatica dell’informazione, nel modello teorico di elaborazione automatica ed il funzionamento imita una
persona che svolge calcoli. Tale macchina è costituita da:
-Alfabeto di simboli
- Un nastro diviso in celle: ogni cella può contenere un simbolo dell’alfabeto
- Unità di controllo svolge l’elaborazione e può muoversi sul nastro, leggere e scrivere nella cella corrente.
-Insieme di stati, tra cui uno stato iniziale e uno finale, associati all’unità di controllo (registro dati)
-Tabella di azioni dice alla macchina cosa scrivere/spostarsi sul nastro e in quale stato deve trovarsi.
Il nastro è bidirezionale: sia a destra che a sinistra.
Funzionamento della macchina di Turing è guidato da una serie di regole, ad ogni passo di computazione scrive un
simbolo, può cambiare il proprio stato e decidere come spostarsi.
Con quest’invenzione però occorreva creare una M di Turing per ogni operazione da compiere. Il
contributo che Turing dà è l’introduzione di una macchina correlata = ‘macchina di Turing universale’ è una
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Anteprima parziale del testo

Scarica Informatica per la comunicazione e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

Informatica = da informatique, legato alla parola ‘informazione’ è una disciplina che si occupa dell’elaborazione automatica di simboli. Diverso dalla ‘computer science’ dall’inglese, che studia l’uso dei computer. Vantaggi dell’elaborazione automatica rispetto a quella umana:

  • Tempi di elaborazione: i tempi di un dispositivo sono più veloci
  • Affidabilità: limiti di errori
  • Elaborazione operazioni meccaniche: l’esecuzione di operazioni da dispositivi seguono regole specifiche. Information & Communication Technology = disciplina nata dalla convergenza tra tecnologia dell’informazione e telecomunicazioni. Come si compone la fase di elaborazione dell’informazione? Fasi :
  • Input: quando i dati da elaborare sono formati all’elaboratore
  • Fase di elaborazione: modificati al fine di produrre un certo risultato
  • Output: risultati vengono forniti all’utente. Possono essere presenti altre fasi:
  • Trasmissione: effettuo un’elaborazione e il risultato è trasferito ad un altro
  • Memorizzazione Storia dell’informatica Modelli di calcolo automatico (per svolgere calcoli) dal XVII secolo vennero automatizzate macchine che si sono occupate di modelli automatici per il calcolo. Nell ‘800 vennero compiuto diversi passi importanti:
  • Babbage progetta il primo elaboratore con unità di memoria (quella che memorizza e conserva i dati) e unità di calcolo (quella che elabora i dati), modello ancora teorico.
  • Solo dopo la scienziata King Lovelace pensa a come scrivere dei programmi per la macchina
  • Altro contributo è quello di Boole, matematico che inventò l’algebra booleana. Nel ‘900 vennero concretamente realizzati elaboratori:
  • Turing propone un modello teorico noto come la macchina di Turing
  • Zuse nel 1941 crea la Z1 primo elaboratore. I modelli celebri vengono progettati dal 1943 modelli di calcolare universale: come il Colossus, ENIAC e EDVAC (macchina di Von Neumann , studioso che specifica le componenti degli elaboratori, qual è il loro ruolo e come devono comunicare).
  • Anni ’50: introduzione di transistor (sistemi elettronici su cui si baseranno gli elaboratori)
  • Anni ’60 creati i microprocessori (unità di elaborazione diventano sempre più miniaturizzate)
  • Anni ’70 personal computer (macchine create per l’uso personale)
  • Anni ’80 interfaccia grafica (mouse) Alan Turing Matematico inglese che diede un contributo fondamentale alla nascita dell’informatica, considerato ‘padre dell’informatica’. Riflette sui sistemi di elaborazione automatica e a quanto potessero essere potenti, lavora sui limiti che tali dispositivi potevano avere. Inventa un modello teorico, la ‘Macchina di Turing’= dispositivo per l’elaborazione automatica dell’informazione, nel modello teorico di elaborazione automatica ed il funzionamento imita una persona che svolge calcoli. Tale macchina è costituita da:
  • Alfabeto di simboli
  • Un nastro diviso in celle: ogni cella può contenere un simbolo dell’alfabeto - Unità di controllo svolge l’elaborazione e può muoversi sul nastro, leggere e scrivere nella cella corrente.
  • Insieme di stati, tra cui uno stato iniziale e uno finale, associati all’unità di controllo (registro dati)
  • Tabella di azioni dice alla macchina cosa scrivere/spostarsi sul nastro e in quale stato deve trovarsi. Il nastro è bidirezionale: sia a destra che a sinistra. Funzionamento della macchina di Turing è guidato da una serie di regole, ad ogni passo di computazione scrive un simbolo, può cambiare il proprio stato e decidere come spostarsi. Con quest’invenzione però occorreva creare una M di Turing per ogni operazione da compiere. Il contributo che Turing dà è l’introduzione di una macchina correlata = ‘ macchina di Turing universale’ è una

macchina in grado di imitare il comportamento di qualunque macchina di Turing, una unica in grado di comportarsi come tutte le altre. (come i nostri pc attuali). Per comportarsi in questo modo è necessario che conosca il modo di comportarsi, è in grado di codificare le istruzioni e sapere come comportarsi. Si arrivò poi a un risultato = Tesi di Church – Turing: pensano che se esiste un elaboratore automatico questo risolve gli stessi problemi che risolve una macchina di Turing universale, si giunge a quest’idea perché la macchina non è l’unico modello di calcolo ideati.  L’insieme dei problemi risolvibili tramite metodi meccanici equivale all’insieme dei problemi risolvibili dalla macchina di Turing. Il calcolatore in grado di simulare il comportamento di una macchina di Turing universale è detto Turing Equivalente , in grado di risolvere gli stessi problemi. In seguito ai lavori teorici lavorò per il ministero della difesa britannico e lavorò alla decifrazione di codici tedeschi. Chi è considerato il primo programmatore della storia? Ada King. Chi è considerato il padre dell’informatica? Alan Turing In quale periodo iniziò la commercializzazione di massa delle Macchine di Turing? Mai Dopo la fine della Seconda guerra mondiale, Turing oltre al modello per l’elaborazione automatica si pone una domanda, e si chiede ‘le macchine sono in grado di pensare?’. Ipotizza che in un futuro è possibile e ipotizza anche la possibilità di comprendere se una macchina davvero pensa. Per arrivare a misurare questa capacità delle macchine sa pensare si ispira ad un gioco tipico del suo tempo il ‘ gioco dell’imitazione’ = in cui sostituisce l’uomo con la macchina. Finisce poi per generalizzarlo = è il Test di Turing, in cui i soggetti devono indovinare chi è l’individuo e chi è la macchina. La potenzialità della macchina di Turing è stata messa in discussione da:

  • Dreyfuss : critica, ritiene che la conoscenza umana non possa essere completamente codificata da meccanismi meccanici. Non è possibile definire in maniera precisa regole per codificare la conoscenza umana che ha un certo grado di ambiguità.
  • Searle : seconda critica, ammette che sia possibile costruire un sistema di regole preciso da permettere l’automazione, come diceva Turing, però la sua critica verte sulla differenza tra l’applicare delle regole e avere una conoscenza profonda di una materia. Arriva a proporre l’esperimento della stanza cinese. ALGORITMI E PROGRAMMI Fase di elaborazione : input- elaborazione -output La fase di elaborazione ha lo scopo di risolvere un problema , per risolverlo parto da una serie di dati input e calcolo una soluzione  algoritmo = che descrive come un sistema di elaborazione automatico può risolvere un problema. Descrizione delle istruzioni che consentono ad un esecutore di compiere autonomamente un’elaborazione. ALGORITMO: è dunque un metodo per calcolare la soluzione di un problema. Usa una sequenza di istruzioni per elaborare i dati di input e produrre la soluzione (output). Tali istruzioni possono essere più o meno complesse. Quattro proprietà degli algoritmi:
  • Finitezza = l’alg deve essere finito, deve terminare la propria esecuzione di elaborazione
  • Eseguibilità = l’alg deve descrivere l’elaborazione con istruzioni basilari
  • Correttezza = l’alg deve effettivamente risolvere il problema
  • Determinismo = se applico l’algoritmo a uno stesso numero di dati in input otterrò sempre uno stesso risultato L’algoritmo è costruzione astratta, affinché possa essere inteso concretamente deve essere scritto in linguaggio di programmazione. Programma : algoritmo scritto in un linguaggio comprensibile a un computer, programma è il complesso di operazioni che un artefatto informatico è in grado di eseguire. Dunque a partire da un algoritmo posso costruire diversi e molteplici programmi. Mentre l’algoritmo non è comprensibile alla macchina il programma lo è, questo significa che un programma può essere eseguito (farlo elaborare concretamente dalla macchina). Quando la macchina esegue un programma, tale programma è chiamato processo. Diagrammi di flusso = Strumento grafico per descrivere gli algoritmi ed i programmi. L’elaborazione dell’algorismo è presentata con due tipi di elementi: i blocchi , che descrivono una operazione di elaborazione elementare e le linee di flusso, che collegano tra loro blocchi, indicano il flusso dell’elaborazione nell’algoritmo. Due tipi di blocchi: sono degli ovali

Usandoli si creano le strutture di controllo che possono essere di due tipi:

  • Diramazioni = Situazione in cui ci sono due rami /strade che fuoriescono dal blocco di controllo e a seconda della condizione l’elaborazione seguirà una di queste due strade. In generale abbiamo una condizione in base alla quale eseguiamo due possibili strade costituite anche da diversi blocchi di elaborazione.
  • Iterazioni (cicli) = È una struttura di controllo basata su blocco di controllo, chiamata così perché ci sono alcune operazioni che vengono eseguite ripetutamente. Il numero di volte dipende dalla condizione scritta nel blocco di controllo, o fino a che la condizione è vera si continuano a eseguire iterazioni e usciamo dal ciclo, oppure finchè la condizione è falsa si continuano a ripetere. Fattoriale : n! 1!=1 n! = n* n- Decrementazione a ogni ciclo tolgo 1 al valore di n. LINGUAGGIO DI PROGRAMMAZIONE: Sono linguaggi che cercano di essere più vicini alla lingua umana, quando dobbiamo far eseguire un linguaggio alla macchina sorge un problema, ossia che linguaggio parla la macchina? Linguaggio macchina = linguaggio costituito da simboli binari 0 e 1, mentre invece chi scrive i linguaggi usa un linguaggio simile, le codifiche 0 e 1 corrispondono a delle istruzioni specifiche. Problemi della codifica:
  • Le macchine parlano questo linguaggio che per l’uomo è difficile da capire
  • Non tutte le macchine usano le stesse codifiche, due macchine che usano compatibile identiche sono compatibili. Per questi problemi sono stati introdotti linguaggi di programmazione che permettono la scrittura di programmi eseguibili da una macchina. Sono detti di alto livello e definiscono operazioni più complesse delle istruzioni primitive. Però facciamo a far eseguire i programmi alla macchina data l’incompatibilità dei linguaggi? Bisogna usare un traduttore che ha come scopo prendere programmi scritti in linguaggio di alto livello e tradurli in linguaggio macchina. I compilatori sono programmi che svolgono la funzione di prendere programmi scritti da programmatori e tradurli in linguaggio. I vantaggi sono che si usano linguaggi più semplici, più veloce la scrittura del programma e si avrà una semplificazione. ARCHITETTURA DELL’ELABORATORE: I computer (anche telefoni o tablet) sono sistemi di elaborazione:
  • Sistemi costituiti da molte componenti che svolgono una funzione precisa
  • Funzionamento coordinato delle diverse componenti
  • Sono stati pensati diversi schemi del funzionamento dell’elaboratore, noi ci rifacciamo all’architettura di Von NeumannProgetto EDVAC Alcune caratteristiche di quest’architettura:
  • È la descrizione di un elaboratore universale, Turing equivalenti (stessa capacità di elaborazione della macchina di Turing)
  • Dati e istruzioni sono memorizzati nello stesso dispositivo
  • Utilizzo dell’aritmetica binaria: perché è legata ai valori logici
  • Distinzione tra memorizzazione ed elaborazione Componenti dell’architettura di Von Neumann:
  1. Processore = unica componente che elabora, compie funzioni di elaborazione. (detto anche CPU, Central processing unit).
  2. Memoria = collabora con il processore nelle fasi di elaborazione. Componente che la CPU usa per prendere e usare componenti. È organizzata in celle ed ognuna ha un indirizzo univoco. Contiene le istruzioni (che il processore deve eseguire) e i dati ( che il processore dovrà elaborare).
  3. Interfaccia input/output: comunicazione con esterno.
  4. Bus: canale di comunicazione tra le componenti.
  5. Orologio di sistema: coordina le varie fasi.

Orologio di sistema= ha lo scopo di coordinare le componenti del sistema, necessario perché l’elaborazione lavora in modo ciclico, ed ogni volta che l’orologio invia un impulso ha inizio il ciclo di elaborazione. Poi è importante perché controlla la velocità delle operazioni del computer. BUS = diviso in tre parti:

  • Bus dati, che invia dati da elaborare
  • Bus indirizzi, indirizzi delle celle di memoria per la lettura/scrittura dati
  • Bus di controllo, istruzioni per coordinamento delle componenti Quest’architettura di Von Neumann ha dei limiti chiamati ‘Collo di bottiglia di von Neumann’. La velocità di elaborazione di una CPU è superiore alla velocità di trasferimento del bus. Tempo di attesa del trasferimento dati , speco di tempo di elaborazione della CPU.  come si manifesta il collo di bottiglia? Rallentamento della CPU che attente la lettura/scrittura sul bus. Se consideriamo un elaboratore moderno basato sull’architettura di Von Neumann è costituito da queste componenti:
  • Bus di comunicazione
  • Orologio di sistema
  • CPU
  • Memoria primaria
  • Memoria secondaria
  • Periferiche di input/output: mouse tastiera casse monitor… Componenti con cui l’elaboratore comunica con l’esterno.
  • Case: scatola che racchiude le componenti principali dell’elaboratore
  • Alimentatore
  • Scheda madre: circuito stampato a cui si collegano le carie componenti del computer come la CPU, memoria, i connettori periferici.. Permette la comunicazione tra le componenti : bus CPU = componente che elabora, esegue istruzioni in linguaggio di macchina. Lavora in modo sequenziale (perché compie una operazione alla volta) e ciclico (ciclo macchina o ciclo CPU). Effettuando operazioni di lettura delle istruzioni dalla memoria centrale, il cpu accede alla memoria centrale tramite il Bus e tramite indirizzo delle celle. La CPU è costituita da transistor = sistemi elettrici che riescono a rappresentare i valori 0,1, poiché riescono a restituire in uscita segnali: tensione alta (0) e tensione bassa (1). La CPU ha diverse memorie locali, dette registri per la memorizzazione di istruzioni e dati: IR (Instruction Register) e PC (Program Counter). Legge empirica che osservò lo sviluppo dei computer. Legge di Moore , Moore osservo che sui circuiti della Cpu il numero di transistor raddoppiava ogni due anni  ogni due anni la capacità di elaborazione diventava due volte più veloce, la Cpu era in grado di elaborare il doppio dei dati. Legge dibattuta, poiché l’aumento di velocità era determinato dalla diminuzione delle dimensioni dei transistor e la presenza maggiore. Tornando ai processori: sono costituiti da due componenti:
  • ALU (Arithmetic Logic Unit): svolge le istruzioni aritmetiche (somma, sottrazione, moltiplicazione..) e logiche (=, <,>..) dotata di alcuni registri per la memorizzazione dei dati input/output
  • Unità di controllo: controlla come avviene l’elaborazione da parte della CPU, coordina il funzionamento della Cpu e il trasferimento dati dalla memoria.  comanda il trasferimento di informazioni tra CPU e la RAM. Registri fondamentali dell’unità di controllo: PC: registro contatore delle istruzioni, quando la Cpu inizia un ciclo macchina deve andare a prendere l’istruzione da eseguire che non ha a disposizione subito ma è contenuta in memoria, la cerca dove gli dice il registro PC. Contiene dunque un indirizzo di una cella di memoria. IR: contiene una copia dell’istruzione da eseguire, leggerà il contenuto della memoria e scriverò nel registro l’istruzione da eseguire. La fase di elaborazione che svolge la CPU è suddivisa in 4 fasi:
  • Lettura
  • Decodifica
  • Accesso Associativo : l’accesso alle celle è legato al valore che si sta cercando che deve essere specificato, diverso dall’accesso diretto in cui accedo tramite indirizzo. Tempo di accesso costante per ogni cella. Usato nelle memorie cache. Memoria ROM: Read only memory, ossia memoria di sola lettura e permanente
  • Poco capiente e non usata dall’utente per memorizzate i dati, è usata per memorizzare la fasi di avvio dell’elaboratore. Dati contenuti in memoria ROM sono programmi e istruzioni per la fase di inizializzazione. La memoria principale e registri hanno alcuni limiti: in particolare la volatilità e la capacità limitata. Per questo si è pensato di introdurre un altro tipo di memoria (che si aggiunge, quindi se ne usano due), la memoria secondaria o di massa: che è
  • Permanente: capacità di mantenere il proprio contenuto anche quando non alimentata
  • Di grande capacità: memorizza molti più dati
  • Modificabile Capacità di memorizzazione dei dispositivi di memoria:
  • Memoria centrale attualmente arriva ad alcuni GB
  • Memoria secondaria arriva a centinaia di GB o TB Caratteristiche della memoria secondaria:
  • Persistenza dei dati
  • Richiede un tempo di accesso maggiore rispetto alla RAM
  • Minor costo per bit: produrre un bit costa meno che produrlo di memoria centrale
  • Ci sono dispositivi fissi e anche rimovibili Vediamo i dispositivi di memorizzazione secondaria in base alla tecnologia su cui sono basati: memorie magnetiche = dischi fissi, floppy e nastri magnetici memorie ottiche = dischi ottici memorie flash = memorie elettroniche 1 Memorie magnetiche = così chiamate perché usano proprietà del magnetismo. Usano materiali ferromagnetici influenzati da un campo magnetico esterno  stato di magnetizzazione. Dunque sono supporti ricoperti da strati di materiale ferromagnetico, poiché tali materiali possono essere influenzati da campo magnetico e hanno stati di magnetizzazione se opportunamente influenzati (positivo + e negativo -). Ciò permette di rappresentare informazioni binarie. Ognuna di questi dispositivi suddivide il supporto in piccole zone, sulle quali sono creati poli di magnetizzazione. Poi c’è anche una testina ossia uno strumento per accedere al disco o nastro, deve leggere il polo magnetico o scrivere e quindi cambiare o impostare il polo di magnetizzazione. Esistono diversi tipi di supporti che vengono usati, il più usato è quello fatto a disco magnetico. Strutturati in modo opportuno:
  • Divise in tracce concentriche
  • Diviso anche in settori
  • Blocco o record: intersezione tra settori e tracce
  • Tracce e settori adiacenti separati da parti vuote Accesso al disco: Quando dobbiamo accedere a un disco esso è in rotazione e vi è una testina di lettura che si muove dal centro verso la periferia, qui la testina deve per leggere una certa informazione deve posizionarsi in luogo preciso. L’operazione di accesso al disco è divisa in due fasi:
  • Tempo di ricerca: tempo che la testina impiega per posizionarsi su una traccia corretta
  • Latenza di rotazione: posizionamento all’inizio del blocco cercato Esiste un altro tempo: quello di trasferimento = tempo che la testina impiega a leggere il blocco e trasferirlo. Esistono due tipi di memorie magnetiche che utilizzano il disco: uno è il disco rigido ( hard disk)
  • Costituito da uno o più dischi sovrapposti
  • Racchiuso in un contenitore metallico
  • Capacità di memorizzazione fino a qualche TB

I dischi rigidi sono spesso soggetti ad usura poiché ci sono molte componenti meccaniche. L’altro tipo di memoria magnetica storicamente utilizzata è il disco floppy:

  • Diametro 3,5 pollici
  • Capacità di memoria di 1,44 MB Non sono più utilizzati per: la limitata capacità di memoria, per la rotazione avviata solo per accedere ai dati  ritardo nell’accesso ai dati, e infine erano particolarmente sensibili ai danneggiamenti. L’ultimo tipo di dispositivo magnetico è il nastro magnetico (cassette):
  • Supporto: nastro di materiale plastico, ricoperto da strato ferromagnetico
  • Elevate capacità di memorizzazione
  • Accesso ai dati sequenziale  aspetto negativo (se devo cercare un’informazione a metà del nastro devo ripercorrerlo tutto)
  • Utilizzati per backup 2 Memoria ottica: basata sulla riflessione della luce: i dischi ottici
  • Lettore per l’accesso ai dati
  • Supporto costituito da un disco
  • Costituiti da più strati: substrato di materiale plastico, strato riflettente e strato protettivo. La superficie del substrato: suddiviso in piccole zone e ognuna può assumere due possibili configurazioni o ‘ pit’ o ‘ land’. Il disco prevede l’alternanza di codici 0 e 1, e i pit e land corrispondo a tali, quindi nel materiale ogni zona può essere land o pit e vengono colpite da un laser di luce che percorre la traccia. Se la zona colpita è pianeggiante la luce viene riflessa, viceversa se la luce colpisce una zona infossata viene riflessa meno  quindi in base a come la luce riflette o meno capiamo se quella zona del disco è pit o land. Il disco è poi costituito da un’unica traccia a spirale. Tipi di supporto disponibili: dipendenti dalla definizione di zone pit/land e sia dalla possibilità di poter essere modificate o meno. In questo secondo caso parliamo di :
  • Di sola lettura (ROM)
  • Scrivibili (WORM)
  • Riscrivibili (RW) La scrittura dei dati richiede uso di un dispositivo per la scrittura: masterizzazione. Poi ci sono diversi tipi di dischi in base alla definizione delle zone: differenziazione per grandezza pit e land
  • Compact disk (CD) zone relativamente ampie: si memorizza 700m
  • Digitale versatile disk (DVD) zone fino a 17 gb
  • Blue ray zone più piccole ancora funo a 50 gb
  1. Memorie elettroniche: costituite da transistor che hanno la capacità di essere riscrivibili e permanenti. Alcuni tipi:
  • Memory card (telefoni, consolle..)
  • Drive USB: memorie elettroniche che usano un’interfaccia USB. È persistente. Permette un certo numero di riscritture, esteso ma limitato.
  • Drive a stato solido (SSD): sostituti dell’hard disk. Vantaggiosi perché non hanno parti meccaniche e sono meno soggetti a usure. Gerarchie di memoria = Elaboratore ha diversi tipi di memoria organizzate con gli obbiettivi di: velocizzare le prestazioni e ridurre i costi. Questi sono due obbiettivi conflittuali. Per cercare di raggiungere e soddisfare entrambi i requisiti l’elaboratore usa diversi tipi di memoria che hanno caratteristiche diverse, organizzati in gerarchia:
  • Dalla più veloce e meno capiente
  • Alla più lenta e più capiente Gerarchia di memoria del calcolatori moderni:
  1. Registri CPU
  2. Cache di livello 1 2 3 = tipo di memoria intermedio
  3. Memoria centrale, RAM

Ma come fa il computer a controllare il monitor? La CPU gestisce lo schermo tramite scheda grafica che definisce il contenuto del monitor, ossia lo stato che i pixel devono assumere e costruisce una mappa in base all’immagine da rappresentare. La quantità di calcoli per il controllo dello schermo ha portato all’introduzione di processori dedicati: GPU (Graphical processing unit) dedicati a casi in cui la quantità di elaborazione richiesta è importante. Luminosità Contrasto delle immagini Frequenza di aggiornamento : ricaricare ciò che è visualizzato sullo schermo Angolo di visibilità : la possibilità di vedere uno schermo in posizioni angolari e non sol frontali.

  • Stampanti: trasferiscono l’immagine sul foglio tramite punti di inchiostro. Caratteristiche: Risoluzione è la densità di punti stampanti sul foglio, misurata in dpi (dots per inch) Velocità di stampa si misura in ppm (pages per minute), ed è una misura non standardizzata Tipologie:
  • A getto d’inchiostro: il foglio scorre sotto una testina che applica l’inchiostro
  • Laser: raggio laser proietta immagine su un rullo, i punti del rullo sono caricati elettrostaticamente, la carica elettrostatica attrae la polvere del toner, ossia l’inchiostro, ed i punti attivati sono trasferiti sul foglio. Torniamo alle periferiche di input:
  • Scanner, che permette di acquisire in un elaboratore un testo e immagini di documento cartaceo. Funziona grazie ad una luce fluorescente che percorre il documento, i sensori individuano luminosità delle diverse zone. Qualità di risoluzione è misurata il ppi. Cosa accade quando vogliamo acquisire un documento in cui è presente del testo? Sono stati elaborati software detti OCR che quando viene acquisito un documento dallo scanner, questi software individuano se le forme acquisite sono lettere e la interpretano come testo.  processo di riconoscimento del testo è complicato. Altre perferiche:
  • Macchine fotografiche digitali
  • Webcam
  • Altoparlanti
  • Lettori mp
  • Telefoni cellulari
  • Combinazione (lim) SOFTWARE: parte logica dell’elaboratore. Diviso in due categorie:
  • Applicativo: applicazioni per problemi specifici
  • Di base: gestione dell’elaboratore  sistema operativo Sistema operativo ha due compiti principali:
  • Gestire le risorse del computer, tali risorse corrispondono alla memoria, tempo di elaborazione della CPU..
  • Il sistema offre un’astrazione rispetto all’hardware (una macchina virtuale o astratta): ne beneficiano gli utenti e poi i programmi applicativi sfruttano la visione astratta. Il sistema operativo ha anche il compito di gestire diversi elementi:
  • Nucleo ossia la gestione del CPU
  • Gestione della memoria centrale
  • File system
  • Gestione delle periferiche
  • Gestione della rete
  • Interprete dei comandi Alcuni sistemi operativi = Unix, Linux, Microsoft Windows, Mac OS..

Gestione della CPU I primi elaboratori erano monoprogrammati ossia in ogni momento la memoria centrale era assegnata ad un solo programma, privi di sistema operativo, così la gestione dell’hardware da parte degli utenti era diretta. Successivamente si trasformano in dispositivi Batch, prevedevano l’automazione dell’avvio di programmi e durante l’esecuzione non vi era nessuna interazione con l’elaboratore. Avevano ancora molti limiti. Dagli anni ’60 si fece un’analisi degli elaboratori esistenti: emerge che ci sono momenti in cui l’elaboratore non sta facendo nulla, la macchina è in attesa con l’esterno (periferiche o dispositivi di massa). Si sprecava molto tempo, vennero creati sistemi multiprogrammati. Sistemi multiprogrammati: Ram è suddivisa in spazi, ognuno è associato a un determinato programma. In ogni istante un solo programma viene eseguito dalla CPU. In seguito nascono i sistemi operativi time-sharing (multitasking): viene condiviso il tempo della CPU. Il tempo della CPU viene diviso in intervalli piccoli, ed è condiviso tra i processi in memoria. Simulano un’esecuzione parallela, si crea un parallelismo virtuale: apparentemente mandiamo in esecuzione più programmi ma ne viene eseguito uno, però gli istanti di elaborazione sono così piccoli che abbiamo l’impressione che tutti i programmi che stiamo usando vengano effettivamente eseguiti. Context swapping è il salvataggio dello stato di un processo e il ripristino dello stato di un altro. Differenza tra sistemo monoprogrammati vs timesharing: nei primi il tempo usato per la lettura da periferiche, interazione con l’utente ecc è sprecati, nel secondo questo tempo viene utilizzato da parte di altri programmi. Processo : è un programma in esecuzione. Quali sono le differenze tra programma e processo? Il primo è un’entità statica, che non cambia più, ed è costituito da codice (istruzioni che lo compongono), quando viene mandato in esecuzione viene creato un processo, questo si evolve dinamicamente, cambia durante l’esecuzione, poi è inoltre costituito da: codice (che lo lega al programma), dati che sta elaborando, ogni processo ha anche una parte di memoria. Quando dobbiamo gestire più processi in una memoria è bene definire gli stati in cui il processo si può trovare:

  • In stato pronto : attende l’esecuzione da parte del processore
  • In stato di esecuzione : processore dedicato all’esecuzione del processo
  • In stato di attesa : il processo non può essere eseguito, è in attesa di una comunicazione con una periferica (es utente che digita su tastiera..), in genere operazioni che richiedono molto tempo. Possiamo avere un solo processo in esecuzione, ma molti in stato pronto e in attesa. Altra caratteristica del sistema operativo è lo schedulatore = lista dei processi in stato pronto gestita da una componente del nucleo, stabilisce l’ordine con cui i processi vengono eseguiti dal processore. Influisce in modo particolare sul processi in stato pronto che formano una coda, ossia una sequenza, stabilisce un criterio che stabilisce l’ordine del processo da seguire  tramite una politica di scheduling, ossia diversi metodi di ordine. Talvolta un processo in esecuzione può ritornare nello stato pronto quando un processo ha bisogno di un tempo di esecuzione e terminandolo torna a pronto. Quando un processo viene sospeso, spostato da esecuzione a pronto o attesa, è necessario prendere opportune precauzioni. Avviene il salvataggio di informazioni sul contesto di esecuzione, viene salvata la situazione della macchina in quel momento in cui è stato sospeso il processo, al fine di riprendere l’esecuzione dal punto salvato. Gestione della memoria (centrale): E’ necessaria la gestione poiché la multiprogrammazione fa si che la memoria centrale sia condivisa sa più processi, è più complicato. Problematiche:
  • La memoria centrale ha dimensioni limitate, problematica poiché ci sono più processi e non riesce ad avere memoria per ognuno.
  • Necessaria la gestione dello spazio privato di ciascun processo, è una problematica se questo non è presente e accade che un processo scrive nello spazio privato di un altro L’organizzazione della memoria è gestita tramite una tecnica, ossia la memoria virtuale : ogni processo in esecuzione ha un proprio spazio di memoria privato e virtuale. Da un punto di vista concreto accade che la memoria centrale è suddivisa in pagine fisiche (blocchi di dimensione fissa). Invece lo spazio virtuale di ogni processo è organizzato in pagine logiche. È quindi il sistema operativo a definire la corrispondenza tra pagine logiche e fisiche. Ciò risolve la prima problematica sopracitata.

RAPPRESENTAZIONE DEI DATI:

Un elaboratore permette la fruizione di diversi contenuti: numeri, testi, immagini, audio, video… Quando consideriamo i dati è necessario che essi siano opportunamente codificato dall’elaboratore. Negli elaboratori la rappresentazione binaria si misura in bit. Dunque la rappresentazione dell’informazione è basata su una codifica , ossia una corrispondenza biunivoca tra elementi di un insieme e un insieme dei numeri naturali. La corrispondenza deve essere biunivoca perché altrimenti la codifica sarebbe ambigua. Gli standard di comunicazione sono basate su una convenzione condivisa, comunicando con altri ci deve essere una codifica condivisa al fine di evitare incomprensioni. Alla fase di codifica segue una di decodifica. Ci concentriamo sulla Codifica binaria = costruzione di sequenze solo con lo 0 e l’1. La codifica a lunghezza costante = tutti gli elementi che sta rappresentando sono rappresentati da sequenze di uguale lunghezza. Una sequenza lunga 1 avrà come elementi possibili 0 o 1, se di lunghezza due saranno possibili 00,11,01,10 ecc… Quando dobbiamo codificare un insieme di elementi voglio associare ad ogni elemento una sequenza di 0 e 1 univoca, e in genere si tende a usare la codifica più compatta possibile. Informazione analogica e digitale: quando intendo codificare un’informazione posso seguire:

  • Codifica analogica = rappresenta un’informazione con una grandezza analoga a quella da rappresentare. (es termometro a mercurio o l’orologio analogico).
  • Codifica digitale = avviene una rappresentazione numerica, tramite simboli, che rappresentano una certa quantità. Funzionano sulla base di regole di codifica, basate su legame tra un valore e una sequenza di simboli (orologio digitale). L’informazione digitale si definisce discreta , ossia possiamo rappresentare un certo insieme finito di valori, riconducibile a numeri naturali. Mentre l’informazione analogica è definita come continua , in cui l’insieme di valori è riconducibile a numeri reali, e sono numeri infiniti. Vediamo come rappresentare con codifica binaria un’informazione non numerica, ossia testo, immagini e suoni:
  • Codifica del testo: Occorre dividere il testo in parole e codificare ciascuna lettera.  Carattere è il simbolo dell’alfabeto. Stringa è la successione di caratteri. Conversione in codifica dei caratteri  Codifica univoca per ogni simbolo dell’alfabeto: lettere maiuscole e minuscole, interpunzione, cifre numeriche e simboli matematici e infine altri caratteri.. Primo tentativo di codifica è la Codifica ASCII, una codifica di 7 bit, poi estesa a 8 bit. Estesa ancora ulteriormente definita Unicode da 16 bit per rappresentare un carattere, l’obbiettivo era quello di scambiare informazioni tra elaboratori di stati e quindi lingue diverse. La codifica di variante per il Web è detta UTF-8, la più diffusa e di lunghezza variabile al fine di risparmiare spazio e tempo di comunicazione.
  • Codifica delle immagini: Rappresentazione digitale delle immagini, vanno considerati due aspetti: Colore = uso di colori primari combinati. Usa la codifica RGB (red, green, blue), modello additivo perché considera che la massima intensità forma il nero, e la minima forma il bianco. Questo modello combina colori con varia intensità da 0 a 255. 000=nero 255,255,255 =bianco 255,0,0=rosso 0,255,0=verde e 0,0,255= blu Forma dell’immagine = i due tipi di grafica usati per la forma dell’immagine sono: Formato raster , che usa un bitmap ossia tabella costruita da punti opportunamente colorati per formare nel complesso l’immagine. Possono essere compressi o non compressi. Formato vettoriale , quando si costruisce l’immagine si usano le primitive geometriche (forme geometriche) di base che nella grafica vettoriale costruiscono l’immagine complessiva. La grafica vettoriale non perde di qualità.

Dal punto di vista della qualità dell’immagine nella grafica raster il numero di pixel è proporzionale alla qualità dell’immagine; quindi, l’occupazione del file è proporzionale alla qualità dell’immagine e al numero di pixel utilizzati. Lo stesso discorso non vale per la grafica vettoriale, qui più le forme sono complicate più devo usare forme geometriche e quantità di memoria, dunque dipende dalla complessità dell’immagine.

  • Codifica dei suoni Un suono è un’onda , che cambia nel tempo. Le tre grandezze che fanno sì che i suoni cambiano sono: la forma che è legata al timbro, l’ampiezza legata all’intensità del suono e la lunghezza (distanza tra i picchi) legata alla frequenza dell’onda e all’altezza del suono. Due problemi nella rappresentazione di un’onda sonora: l’onda è composta da un numero infinito di punti e noi dobbiamo avere una quantità finita. La seconda questione riguarda il loro valore, che è anche in questo caso infinito, possiamo solo rappresentare valori finiti. Sono state così introdotte diverse soluzioni
  • Campionamento del suono: per rappresentare l’andamento nel tempo di una grandezza continua. Sceglie un certo valore ‘campionato’ che rappresenterà il valore che l’onda assumerà. La frequenza di campionamento misura il numero di campioni nell’unità di tempo (ogni secondo). Quindi rappresento l’onda sonora con un numero finito di valori.
  • Identificando i valori campionati devo rappresentarli e trasformarli in valori finiti, per farlo uso la quantizzazione che consente di rappresentare una grandezza continua, l’idea è di dividere l’intervallo dei possibili valori in intervalli discreti. Nella codifica digitale (cd audio): la freq di campionamento è di 44.100 Hz, il numero di livelli di quantizzazione è di 65.636. Comunque approssimata, ma fedele grazie a una frequenza alta di campionamento e molti livelli di quantizzazione, così da seguire in modo fedele l’onda sonora. Inoltre i file audio possono essere compressi e non compressi. I formati analogici sono più fedeli  Quantizzazione e campionamento sono alla base della codifica digitale e provocano la perdita di informazione. La teoria dell’informazione ha studiato le problematiche del suono e hanno affermato che aumentano la frequenza la perdita di informazione è sostanzialmente trascurabile. Uno dei motivi per cui la codifica digitale si è affermata e sostituita all’analogico è perché basata su valori binari, su due valori 0 e 1, ed è quindi più resistente al rumore rispetto ad altri tipi di modifica (es disco in vinile è sensibile se rovinato). Altro motivo è la facilità d’utilizzo, con l’uso di file ad esempio è possibile scambiarli, duplicarli o condividerli. Problematiche della codifica: La codifica binaria favorisce la corretta trasmissione (individua e corregge eventuali errori) dell’informazione, è semplice poiché solo due valori dell’alfabeto sono possibili, ogni altro errore è considerato errore. Oltre a questo aspetto sono stati sviluppati meccanismi detti ‘di protezione’ , ossia quando un segnale viene trasmetto è presente un rumore che può alterarlo e di correggerlo. In questi casi si cerca di prevedere dei messaggi ridondanti , nella codifica si tende a ridurla il più possibile, più compatta; tuttavia, c’è una parte aggiunta per cercare di individuare se un errore ha cambiato il messaggio inviato. Meccanismi di protezione: per proteggere ed eventualmente correggere il messaggio inviato - Schema di ripetizione: invia un messaggio più volte, più precisamente due volte. Così da evitare che entrambe le volte avvenga l’alterazione. - L’aspetto negativo per la correzione degli errori è il raddoppio dei tempi e dello spazio. Per questo progettati altri sistemi. - Controllo di parità: non si duplicano tutti i messaggi, ma quando invio un messaggio aggiungo un solo valore binario. Messaggio diviso in blocchi e aggiunta di un bit di parità (numero di 1 nel blocco). Vantaggio è che se devo trasmettere messaggio di molte cifre ne posso usare una. Svantaggio è che mettendo meno informazioni c’è maggior rischio di non individuare l’errore. È più facile che il bit di parità porti a non riconoscere l’errore.

Dal punto di vista fisico, di come si collegano i dispositivi tra loro, esistono due metodologie: uso dei mezzi guidati e non guidati. I primi sono collegati da cavi fisici che trasmettono dati, i secondi sono connessi a segnali irradiati nell’etere. Una delle tecnologie per il collegamento è la DSL : utilizza normali linee telefoniche per trasferimenti ad alta velocità. Sfrutta frequenze non usate dalla dimensione telefonica. Tale tecnologia include altre tra qui quella ADSL: asimmetria nella velocità di trasferimento, maggiore velocità in download. Uno degli ambiti della telematica è analizzare le Reti commutate : rete di trasmissione condivisa tra diversi elaboratori (in cui non tutti sono collegati direttamente). Da un punto di vista strutturale le reti sono composte da: computer collegati a dispositivi e da dispositivi usati per gestire la comunicazione stessa, detti ‘dispositivi di instradamento’ (oggi detti router). Sono quindi comunicazioni indirette, il compito di gestire il trasferimento dati è nelle mani dei vari instradatori. Due aspetti:

  • connessioni condivise, alcune linee di comunicazione possono essere condivise, più elaboratori possono utilizzarle.
  • percorsi alternativi, previsti quando alcuni percorsi per la comunicazione tra elaboratori sono impossibili da seguire perché guastati. La rete deve essere lo stesso in grado di consentire la comunicazione in modo alternativo. Nel caso delle connessioni condivise, sono state elaborate varie modalità che gestiscono tale comunicazione evitando danneggiamenti:
  • commutazione di circuito = viene riservato un canale logico dedicato tra chiamante e ricevente, ossia tra i due dispositivi in comunicazione. Limiti: spreco di linee di comunicazione no sincronizzazione e perdita di tempo quando la com si satura gli altri sono impossibilitati a comunicare
  • commutazione di pacchetto = il messaggio viene diviso in parti, ossia in pacchetti ognuno dei quali contiene: dei dati da trasmettere, l’indirizzo del destinatario (chi è il destinatario) ed il numero progressivo (pacchetto 1,2,3.. perché non è detto che arrivino in sequenza corretta). Quando i pacchetti sono pronti vengono inviati agli instradatori, che ricevono i pacchetti poi li memorizzano e infine li inoltrano a un instradatore successivo, e poi l’ultimo lo invia al dispositivo destinatario. I pacchetti vengono ricomposti quando arrivati a destinazione in base al numero progressivo. Vantaggi della commutazione di pacchetto:
  • le linee di com sono usate in modo più efficiente, non spreco
  • non vi sono problemi di sincronizzazione
  • migliore gestione del traffico elevato
  • gestione priorità, talvolta pacchetti diversi possono essere associati a importanze diverse Rete Internet = nasce alla fine degli anni ’60 da un progetto dell’agenzia ARPA (Advanced Research Projcts Agency) il cui obbiettivo era prevedere sistemi di protezione delle comunicazioni in seguito a possibili attacchi, durante la Guerra fredda. Diede avvio alla rete Arpanet il cui obiettivo era interconnettere reti diverse, una rete di reti ossia reti di tipo differente interconnesse tra loro. Protocolli di comunicazione: insiemi di regole condivise tra chi intende comunicare, nel tempo via via definito. Esistono 2 famiglie di protocolli (standard) storicamente importanti:
  • Standard ISO/OSI: una delle sua funzioni è definire standard di comunicazione delle rete. Questo definì 7 livelli.
  • Protocollo internet (TCP/IP): costituito da 4 livelli
  1. Applicazione: livello applicativo (sistemi di messaggistica, web, email)
  2. Trasporto: livello TCP livello di trasporto e gestisce la possibilità di avere una trasmissione il più possibile affidabile
  3. Internetworking: livello IP. Per garantire la comunicazione sulle reti si compie una identificazione univoca del destinatario  indirizzo. Il protocollo corrisponde a un indirizzo univoco di ogni nodo sulla rete. Indirizzi IP (internet protocol) che corrispondono a indirizzi numerici costituiti da 4 numeri ognuno costituito da 1 Byte (8 bit) e quindi 32 bit complessivi. Si è verificato che gli indirizzi ip non erano più sufficienti, sono state usate

diverse tecniche per ovviare a questa limitazione. L’idea di base è quella di passare ad una versione 6, che utilizzano più byte. *Per collegarci a dispositivi si usano indirizzi simbolici, che invece di essere costituiti da numeri sono costituiti da parole, ossia stringhe di testo (quelli che usiamo per collegarci a un sito) ogni stringa è un dominio. Per rendere ciò possibile occorre un servizio di traduzione, il DNS servizio distribuito su internet che traduce indirizzi ip in indirizzi simbolici.

  1. Collegamento *Sintassi degli indirizzi simbolici: come sono costituiti Stringhe di testo separate da punti, che rappresentano dei domini (classificazione dei dispositivi che appartengono a una certa parte della rete), la stringa più a sinistra non è il dominio, ma il nome del dispositivo. I domini sono associati ad un livello: posizioni nell’indirizzo a partire da destra, dominio più a sinistra è di primo livello, spostandosi a destra è di secondo livello e così via. Il dominio più a destra, di primo livello , descrive diverse caratteristiche: come la suddivisione nazionale, quindi per stato di appartenenza (.it,.fr, .uk..), o possiamo avere una suddivisione sovrannazionale relativa ad una caratteristica di appartenenza, ossia ne specifica l’attività [.com per attività commerciali,.org per organizzazioni, .net per reti..]. Il secondo dominio, di secondo livello , specifica l’ente, la società, la persona o azienda a cui il sito fa riferimento (server1.commerciale.fiat.com). Domini dei livelli successivi identificano singolo computer all’interno della rete. Il computer può appartenere a sottodomini oppure può essere nel dominio principale. Servizi su Internet Internet e Web sono diversi. Internet = infrastruttura di rete alla base di alcuni software, come posta elettronica o Web. Il Web è uno dei servizi che usa la rete internet per comunicare. Caratteristiche del Web: E’ un ipertesto, ossia i documenti hanno oltre al testo una struttura detta grafo nella quale vi sono elementi (nodi ossia pagine web) e link (collegamenti tra nodi) ipertestuali che li collegano. E’ multimediale, ossia prevede la presenza di molte forme di comunicazione in un unico contesto (testo+immagini+suoni+filmati).  Il web è ipermediale in cui converge ipertestualità+multimedialità. World Wide Web nasce al CERN da Cailliau e Berners-Lee alla fine degli anni ’80. Pensano ad un progetto che faciliti la comunicazione. Le caratteristiche: ipertestuale, multimediale e distribuito su rete (ossia i nodi che costituiscono l’insieme dei documenti sono distribuiti su reti) Internet. Il Web è costituito da pagine web:
  • Distribuite su server
  • Dotate di collegamenti unidirezionali (link)
  • Per fruire del web fruiamo del browser (explorer, chrome,firefox..) i cui compiti sono: guidare la navigazione, poi consente la visualizzazione delle pagine Le pagine web possono essere: statiche: costituite da documenti presenti su server completamente descritti su di esso dinamiche: in cui non vi è la descrizione completa su server, la pagina viene creata attingendo a varie informazioni Il web nasce costituito da pagine statiche poi in seguito evolve in pagine dinamiche Web creato da Berners-Lee è basato su tre standard:
  • HTTP
  • HTML (Hypertext markup language) linguaggio di marcatura (marche per descrivere il documento) per la scrittura di documenti ipertestuali. Vengono proposti comandi detti Tag per: definire come incorporare oggetti multimediali, come incorporare link ipertestuali e per definire le caratteristiche strutturali (paragrafo, titolo..) e anche per ma formattazione del documento (questo genera problematiche che porta alla nascita del CSS ossia fogli di stile). Es di comandi HTML:

    un paragrafo

    .

In generale analizzeremo i motori di ricerca generalisti (analizzano il contenuto di tutto il web) ma ne esistono anche di specialistici. Un motore specialistico è ad esempio Google Scholar che ricerca su testi di letteratura scientifica. Tornando ai generalisti: Le ricerche web presentano una grande quantità di dati e per questo è fondamentale stabilire un ordine di presentazione dei risultati di ricerca (ranking). Analisi statistiche dimostrano che gli utenti controllano pochi risultati, i primi, e per questo l’ordine è essenziale. I motori di prima generazione basavano la loro analisi sul testo, ma questo non dava buoni risultati. In seguito, si sviluppano nuovi metodi di ordinamento che cercavano di comprendere il valore di una pagina, non basandosi solamente sul testo, il motore che emerse fu Google (1997-98). Il motivo dell’affermazione di quest’ultimo è dunque dovuto al suo sistema di ricerca e di ordine dei risultati, il metodo è detto PageRank che cerca di misurare la rilevanza delle pagine e lo fa analizzando i link ipertestuali delle altre pagine, e tengono anche traccia dei risultati selezionati dagli utenti. EVOLUZIONE DEL WEB Web = ambiente dinamico. Il suo sviluppo negli anni ha portato a cambiamenti:

  • Da web costituto da pagine statiche a web costituito da pagine dinamiche, è dunque un ambiente interattivo
  • Permette di condividere informazioni in modi differenti
  • Porta a una dimensione partecipativa dell’utente: facilità nel pubblicare i contenuti Tipi di pagine usate dal Web 2.0:
  • Forum: primi spazi di interazione tra utenti, spazio di discussione e conversano creando thread ossia possibili diramazioni. Sono presenti poi moderatori, gestiscono che la comuic non diventi aggressiva e poi hanno una funzione di organizzare i contenuti del forum - Blog: ‘diario personale di chi scrive’, consiste nella pubblicazione di contenuti. Nel tempo sono nate piattaforme come Tumblr o Wordpress, in cui chi li usa non deve avere conoscenze informatiche. Caso Twitter, considerata piattaforma di microblogging: nasce così perché c’è una limitazione di caratteri, e poi nasce l’idea di aggregare contenuti all’hashtag, e classificarli.
  • Piattaforma ‘Wiki’: era uno spazio per la scrittura condivisa, in cui è memorizzata la cronologia delle modifiche e sono presenti molti link ipertestuali (come Wikipedia).
  • Social network: piattaforme di collegamento tra utenti. Esistono diversi tipi di relazione: facebook, linkedin, instagram.. CRITTOGRAFIA Tecnica per la protezione di informazioni (messaggi) per limitare la lettura ai destinatari. Permette di costruire un messaggio non decifrabile per chi non ha la chiave di decifrazione. Ciptoanalisi: tentativo di ricostruzione del messaggio non cifrato. Due metodi per la crittografia:
  • A chiave segreta (simmetrica): il messaggio viene cifrato/decifrato con una chiave in possesso del mittente e del ricevente. Esempio: messaggio ‘ciao come stai?’- chiave segreta ‘4432 4126 3212’ - messaggio decriptato ’ciao come stai?’ Problema: è la trasmissione della chiave al destinatario e non ad altri che intercettano.
  • A chiave pubblica (asimmetrica): usa due chiavi complementari con funzioni diverse: la chiave pubblica per trasformare il messaggio da chiaro a cifrato, e la chiave privata serve solo per decifrare il messaggio. Esempio: mess ‘ciao come stai?’- chiave pubblica ‘4432 4126 3212’- chiave privata, mess decriptato ‘ciao come stai?’