Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: dai calcolatori alle reti, Appunti di Fondamenti di informatica

Appunti delle lezioni di informatica di base del professore Bucciero, integrati con il manuale indicato dal professore per idoneità

Tipologia: Appunti

2020/2021

Caricato il 03/05/2021

solilla1522
solilla1522 🇮🇹

4.6

(51)

14 documenti

1 / 21

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LEZIONE 1
Il termine “informatica” deriva dal francese informatique (contrazione dei termini “information” e
“autonomique”) con il quale si intente la disciplina che si occupa della progettazione e costruzione di
macchine in grado di trattare, o elaborare, in modo automatico l’informazione. Gli strumenti, frutto delle
tecnologie informatiche, di cui oggi disponiamo, primo fra tutti il calcolatore elettronico, rappresentano la
realizzazione, almeno parziale, della disposizione di macchine in grado di compiere autonomamente attività
di elaborazione dell’informazione. È interessante notare come l’informazione che per prima ha attirato
l’attenzione dell’uomo verso la realizzazione di elaboratori dapprima semi-automatici e poi automatici è
quella espressa in forma quantitativa e, in particolare, numerica. Ciò ha condotto alla diffusione del termine
“calcolatore”. In alternativa a informatica è piuttosto frequente anche il termine “tecnologia
dell’informazione” (IT). Poiché negli ultimi decenni il potenziale dei singoli calcolatori si è notevolmente
incrementato grazie alla loro interconnessione in rete, la convergenza tra la tecnologia dell’informazione e
le telecomunicazioni, che si occupano della trasmissione dell’informazione a distanza ha dato origine a una
nuova disciplina che va sotto il nome di Information e Communication Technology ICT. Sotto questa
definizione rientrano ormai un’enorme quantità di tecnologie con le quali abbiamo a che fare
quotidianamente: tv, cellulari. Nell’ambito dell’informatica e delle discipline a esse collegate è importante
analizzare il significato di informazione e metterlo in relazione con i termini dato e conoscenza. Un DATO è
un insieme di simboli tracciati cu un supporto fisico. Un dato necessita di essere messo in relazione con il
contesto a cui fa riferimenti: ad esempio, il numero 39 non avrebbe nessuno senso o potrebbe significare
varie cose ma contestualizzandolo, potrebbe segnare la temperatura di Tizio, così facendo attribuiamo un
significato al dato e lo trasformiamo in conoscenza. Per comunicare tra di noi utilizziamo un linguaggio
come l’italiano, per comunicare con un calcolatore bisogna utilizzare un nuovo linguaggio che è il
LINGUAGGIO FORMALE il quale ha un alfabeto di simboli, ha una grammatica formale (insieme di regole
che specificano come i simboli dell’alfabeto possano essere combinati tra loro). Un’informazione deve
essere CODIFICATA: noi siamo abituati a codificare un’informazione con simboli che possono essere numeri
come le cifre arabe (1,2,3…) oppure tramite i numeri romani. Il computer codifica l’informazione con i BIT,
ovvero due simboli 0 e 1, che costituiscono l’alfabeto binario. Si definisce BYTE l’insieme di 8 bit. In genere,
l’informazione prodotta in INGRESSO all’elaborazione viene denominata INPUT, mentre quella prodotta in
uscita dall’elaborazione stessa prende il nome di OUTPUNT. Ad un esecutore bisogna fornire delle istruzioni
che gli consentano di operare tale trasformazione in modo autonomo e automatico. Possiamo definire
ALGORITMO una tale descrizione.
LEZIONE 2
Il primo sistema che è stato utilizzato per eseguire i calcoli sono state le dita di una mano. La parola digitale
che noi ormai utilizziamo costantemente per identificare risorse, contenuti, sistemi che si basano sul
meccanismo del funzionamento numerico, di fatto derivi dal latino digitus che poi è stato italianizzato in
digidit, che significa cifra. Il primo strumento è stato, quindi, banalmente le mani. L’ABACO invece ha
permesso di fare dei calcoli anche più complessi, nei termini di addizioni e sottrazione. Veniva utilizzato per
sommare o sottrarre quantità su un sistema di tipo posizionale, cioè ci sono diversi binari (10) che
contengono un certo numero di tasselli, ogni pallina è posta in una fila delle unità e delle decine: significa
che inserire 5 tasselli nella fila delle unità significa rappresentare il numero 5, mettere 3 tasselli nella fila
delle decine rappresentiamo il 30. L’abaco è importante perché sulla base del numero e della posizione
dove si inseriscono i bussolotti questi hanno un significato diverso: il bussolotto che ha meno peso in
assoluto è quello che sta all’estrema destra e vengono definite CIFRE MENO SIGNIFICATIVE, mentre a
sinistra sono cifre più significative. 5 A DX, 5 AL CENTRO è 50 E A SN è 500, il numero totale dell’abaco si
ottiene sommano il 5x100 + 5x10+5x1= 555
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Anteprima parziale del testo

Scarica Introduzione all'informatica: dai calcolatori alle reti e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

LEZIONE 1

Il termine “informatica” deriva dal francese informatique (contrazione dei termini “information” e “autonomique ”) con il quale si intente la disciplina che si occupa della progettazione e costruzione di macchine in grado di trattare, o elaborare, in modo automatico l’informazione. Gli strumenti, frutto delle tecnologie informatiche, di cui oggi disponiamo, primo fra tutti il calcolatore elettronico, rappresentano la realizzazione, almeno parziale, della disposizione di macchine in grado di compiere autonomamente attività di elaborazione dell’informazione. È interessante notare come l’informazione che per prima ha attirato l’attenzione dell’uomo verso la realizzazione di elaboratori dapprima semi-automatici e poi automatici è quella espressa in forma quantitativa e, in particolare, numerica. Ciò ha condotto alla diffusione del termine “calcolatore”. In alternativa a informatica è piuttosto frequente anche il termine “tecnologia dell’informazione” (IT). Poiché negli ultimi decenni il potenziale dei singoli calcolatori si è notevolmente incrementato grazie alla loro interconnessione in rete, la convergenza tra la tecnologia dell’informazione e le telecomunicazioni, che si occupano della trasmissione dell’informazione a distanza ha dato origine a una nuova disciplina che va sotto il nome di Information e Communication Technology ICT. Sotto questa definizione rientrano ormai un’enorme quantità di tecnologie con le quali abbiamo a che fare quotidianamente: tv, cellulari. Nell’ambito dell’informatica e delle discipline a esse collegate è importante analizzare il significato di informazione e metterlo in relazione con i termini dato e conoscenza. Un DATO è un insieme di simboli tracciati cu un supporto fisico. Un dato necessita di essere messo in relazione con il contesto a cui fa riferimenti: ad esempio, il numero 39 non avrebbe nessuno senso o potrebbe significare varie cose ma contestualizzandolo, potrebbe segnare la temperatura di Tizio, così facendo attribuiamo un significato al dato e lo trasformiamo in conoscenza. Per comunicare tra di noi utilizziamo un linguaggio come l’italiano, per comunicare con un calcolatore bisogna utilizzare un nuovo linguaggio che è il LINGUAGGIO FORMALE il quale ha un alfabeto di simboli, ha una grammatica formale (insieme di regole che specificano come i simboli dell’alfabeto possano essere combinati tra loro). Un’informazione deve essere CODIFICATA: noi siamo abituati a codificare un’informazione con simboli che possono essere numeri come le cifre arabe (1,2,3…) oppure tramite i numeri romani. Il computer codifica l’informazione con i BIT, ovvero due simboli 0 e 1, che costituiscono l’alfabeto binario. Si definisce BYTE l’insieme di 8 bit. In genere, l’informazione prodotta in INGRESSO all’elaborazione viene denominata INPUT, mentre quella prodotta in uscita dall’elaborazione stessa prende il nome di OUTPUNT. Ad un esecutore bisogna fornire delle istruzioni che gli consentano di operare tale trasformazione in modo autonomo e automatico. Possiamo definire ALGORITMO una tale descrizione. LEZIONE 2 Il primo sistema che è stato utilizzato per eseguire i calcoli sono state le dita di una mano. La parola digitale che noi ormai utilizziamo costantemente per identificare risorse, contenuti, sistemi che si basano sul meccanismo del funzionamento numerico, di fatto derivi dal latino digitus che poi è stato italianizzato in digidit, che significa cifra. Il primo strumento è stato, quindi, banalmente le mani. L’ABACO invece ha permesso di fare dei calcoli anche più complessi, nei termini di addizioni e sottrazione. Veniva utilizzato per sommare o sottrarre quantità su un sistema di tipo posizionale, cioè ci sono diversi binari (10) che contengono un certo numero di tasselli, ogni pallina è posta in una fila delle unità e delle decine: significa che inserire 5 tasselli nella fila delle unità significa rappresentare il numero 5, mettere 3 tasselli nella fila delle decine rappresentiamo il 30. L’abaco è importante perché sulla base del numero e della posizione dove si inseriscono i bussolotti questi hanno un significato diverso: il bussolotto che ha meno peso in assoluto è quello che sta all’estrema destra e vengono definite CIFRE MENO SIGNIFICATIVE, mentre a sinistra sono cifre più significative. 5 A DX, 5 AL CENTRO è 50 E A SN è 500, il numero totale dell’abaco si ottiene sommano il 5x100 + 5x10+5x1= 555

WILLIAM OUGHTRED

All’inizio del 1622 un pastore anglicano wo, utilizzò una sorta di righello, chiamato REGOLO CALCOLATORE, che consentiva attraverso una serie di anime che scorrevano una all’interno delle altre, di calcolare oltre le adizioni e le sottrazioni: consente di realizzare moltiplicazioni e divisioni. Fu proprio wo a introdurre il singolo X (croce di sant’andrea) per la moltiplicazione. Sia il regolo che abaco risolvono in maniera manuale un problema, ovvero il calcolo automatico con il quale si doveva gestire il riporto. Questo problema ha impedito di costruire macchine che potessero gestire i calcoli in maniera semiautomatici fino a quando non si sono utilizzati gli stessi meccanismi degli orologi (ingranaggi) e traslarli dal campo dell’orologeria a quelli del calcolo. Infatti gli scienziati dell’epoca avevano valutato che si poteva attribuire il riporto pensando che ad una rotazione completa di una ruota dentata delle unità, corrispondeva uno scatto singolo della ruota che corrispondeva alle decine. Questa semplice intuizione consentì a pascal a inventare la prima macchina di calcolo che era in grado di realizzare una alla volta le operazioni di addizione, sottr, molt e divisioni in maniera automatica, assistita da ingranaggi meccanici. LEIBNIZ realizzò la sua macchina di calcolo, più complicata di quella di Pascal perché calcolava anche le radici quadrato oltre a porte fare sottrazioni, adizioni, moltiplicazioni, divisioni. Verso il 1820 CHARLES BABBAGE, riuscì per primo a intravedere in qualche modo il modo di implementare una serie di operazioni in sequenza in modo automatico: il grande merito fu quello di essere in grado di automatizzare una sequenza di operazioni. Purtroppo questa macchina analitica non fu mai completata sebbene in tempi moderni sia stata realizzata e questa macchina poteva computare fino a 50 cifre decimali e poteva eseguire anche i confronti (valutare se un numero è maggiore di un altro o è uguale). Un’altra studiosa ADA KING, figlia del poeta Lord Byron, scrisse un programma che avrebbe consentito alla macchina analitica di Babbage di calcolare i numeri di Bernoulli. Di fatto Ada viene considerata una delle progenitrici della moderna programmazione, tanto che nel 79 il dipartimento della difesa degli Usa, per unificare i linguaggi di programmazione da impiegare sui suoi sistemi, finanziò lo sviluppo di un nuovo linguaggio chiamato poi ADA in suo onore. Il grande salto della tecnologia che ha consentito di aumentare le potenzialità del calcolo matematico è avvenuto quando si è potuta utilizzare l’elettricità. Alla stessa funzione della ruota dell’ingranaggio, possono essere sostituiti dei circuiti elettrici. Proprio sulla base della disponibilità della corrente elettrica e degli interruttori (relè), KONRAD ZUSE realizzò uno dei primi prototipi di calcolatore automatico basato su relè elettromagnetici. Un relè è un componente elettronico basilare che fa contatto o non contatto sulla base del fatto che ci sia elettricità, quindi un relè è un interruttore che fa fare un contatto o lo fa rilasciare. La storia del calcolo automatico non può omettere di citare tra i propri padri, è Alan Turing. Se da una parte il conflitto si realizzava (2GM) in maniera bellica, dall’altra parte c’erano una serie di scienziati riuniti nel BLETCHLEY PARK, nel quale era coinvolto anche Alan T. quale è stato il grande contributo di Turing? Lui presenta il progetto di una macchina che viene chiama BOMBA che viene costituita da due elementi principali:

  1. Un elemento di memorizzazione che doveva essere rappresentato da un nastro magnetico che doveva essere diviso in celle che potevano contenere ed essere magnetizzata 1 o 0 e che poteva essere il contenitore di un simbolo dell’alfabeto macchina (sono i simboli che la macchina riesce ad interpretare. Ricordiamo che le macchine riescono a rappresentare solo lo 0 e l’1, quindi interruttore aperto che fa contatto vale 1 e vale 0 quando è chiuso e non fa contatto. Parliamo, quindi di alfabeto primario).
  2. Una testina magnetica che passa sopra il nastro e legge lo stato di magnetizzazione oppure è in grado di magnetizzare. Turing viene considerato un pioniere dell’architettura degli attuali calcolatori e sempre a lui si deve la realizzazione di un vero e proprio calcolatore per mano dell’ingegnere Tommy Flowers che seguì i progetti di Turing. Venne realizzato il COLOSSUS, il quale poteva decodificare i messaggi che venivano mandati in maniera crittografata via radio, dalle navi naziste. Quindi lui comprendeva gli ordini che ciascuna unità riceveva e così si scoprivano i piani del nemico, tanto che la 2GM si può dire essere stata vinta soprattutto

era in grado di servire ciascun utente, il quale non si rendeva conto di avere un uso condiviso. Negli anni 80 con l’avvento dei processori, l’elemento pensante del calcolatore che è anche il più costoso, non lo è più. Quindi si può iniziare a ad avere un computer per ogni utente. Nell’81 nasce l’Ibm compatibile. Un altro tipo di persola computer è il COMMODOR 64. Negli anni 80 c’è una guerra tra chi riesce a vincere sugli altri: c’è lo Spectrum (è lo Zilog), Apple, ecc. Negli anni 80 nasce il concetto di software per licenza, ovvero il fatto che si può utilizzare un programma in un computer, senza però possedere il programma stesso. Questo susseguirsi di aumento di capacità di elaborazione e la riduzione dei costi è stata osservata da uno dei due fondatori di Intel, Gordon Moore, di cui è famosissima la prima legge: “LA COMLESSITÀ DI UN MICROCIRCUITO, MISURATA AD ESEMPIO TRAMITW IL NUMERO DI TRANSITORI PER CHIP, RADDOPPIA OGNI 18 MESI (E QUADRUPLICA QUINDI OGNI 3 ANNI)” Cosa vuol dire? Vuol dire che il più performante microprocessore che viene costruito in un dato momento, la complessità raddoppierà tra un anno e mezzo. Perché tra un anno e mezzo esisterà un transistor di potenza doppia. Oggi si fa in modo che i dispositivi elettronici non abbiano vita lunga perché altrimenti noi non saremmo incentivati a comprarli. SECONDA PARTE Andiamo a vedere i componenti del calcolatore Ritorniamo al 1846 quando Von Neumann teorizza la sua idea di calcolatore universale che è in grado di assolvere vari compiti. Ci vuole una memoria generica su cui è possibile rappresentare con gli stessi simboli sia le istruzioni e sia i dati su cui operano le istruzioni. Piuttosto che pensare in decimale (come facciamo noi) il calcolatore si avvale del famoso alfabeto binario e pensare in binario (1 e 0). Teorizza la separazione tra il dispositivo di memorizzazione e di elaborazione. Infine per far cambiare il funzionamento del computer è necessario cambiare il programma. Secondo VN il computer è formato da un componente principale che è la CPU (cioè il microprocessore) che legge dalla memoria le istruzioni che devono essere eseguite e anche i dati. Ha anche l’interfaccia, che sono le porte di comunicazione con le cosiddette periferiche, cioè quei componenti che si dividono in input e output (tastiera è una periferica di input) (il monitor o la stampante sono periferiche di output). Tutto comunica attraverso un canale di comunicazione che viene chiamato BUS che è una serie di collegamenti elettrici che collega elettricamente tutti i componenti. Secondo VN la CPU deve essere:  in grado di leggere un dato/istruzione nella memoria  scrittura di un dato nella memoria  addizione, sottrazione, moltiplicazione, divisione, elevazione a potenza  confronto tra due numeri  salto condizionale: sulla base di una condizione logica (maggiore di, minore di, uguale a) la sequenza di esecuzione di operazioni varia l’insieme di tutte le istruzioni che una specifica CPU è in grado di spiegare è chiamato linguaggio macchina. Dire che due Cpu sono compatibili vuol dire che hanno lo stesso linguaggio macchina. Il problema sostanziale dell’architettura di VN attualmente è il BUS perché la via di comunicazione diventa il collo di bottiglia perché oltre una certa velocità il bus non è in grado a trasferire, nonostante la cpu diventi sempre più veloce. Questo è un grosso problema, cioè il limite all’aumento di prestazione delle nostre macchine è quello di collegamenti delle nostre macchine. HARDWARE= DEFINISCE TUTTE LE COMPONENTI FISICHE DI UN CALCOLATORE

HARDWARE E SOFTWARE LIBRO: il termine software risale alla seconda guerra mondiale quando i crittoanalisti inglesi, sotto la guida di Alan Turing, erano impegnati a decrittare i messaggi che i nemici tedeschi crittografavano con la macchina Enigma. Essi, dopo la scoperta che le istruzioni per la configurazione della macchina erano scritte su carta solubile nell’acqua, chiamarono tali istruzioni software. Con riferimento all’architettura di von Newman, con il termine software ci si riferisce alle istruzioni codificate all’interno della memoria per essere eseguite dall’hardware, termine che identifica invece tutte le componenti che risultano tangibili. Un calcolatore si differenzia per le proprie prestazioni ma anche da altri punti:  la velocità a cui è in grado di portare a termine una determinata elaborazione  la capacità di archiviazione  affidabilità  sicurezza (la capacità di difendersi da accessi non autorizzati)  la capacità di connettersi ad altri calcolatori per scambiare dati e condividere risorse  dimensioni  la modularità (l’attitudine a consentire la sostituzione di suoi componenti con altri grazie alla standardizzazione)  la scalabilità (attitudine a consentire la sostituzione di suoi componenti con altri con caratteristiche migliorative)  la semplicità nell’interazione da parte dell’utente  la dotazione di SW  prezzo COME è FATTO UN COMPUTER? Abbiamo la CPU che è il fulcro delle elaborazioni, quindi p il cervello del computer. C’è la MEMORIA, il BUS che si collega a tutto (dalle stampanti, alle casse). Il componente fondamentale su cui tutti gli altri componenti sono istallati e collegati si chiama SCHEDAMADRE: ha il compito principale di mettere in comunicazione tutti gli agganci per collegare di volta in volta tutti i componenti. Tra i componenti che risiedono sulla schedamadre troviamo:  BUS: collegamenti elettrici  BIOS: ci informano che è stato rilevato qualcosa di un certo tipo. Una delle cose fondamentali di questo microprogramma, dice al calcolatore qual è l’unità di memoria di massa dai cui legge il sistema operativo. La sequenza di boot è la fase di avvio  OROLOGIO DI SISTEMA:  CONNETTORI FISICI COSA FA LA CPU: abbiamo già detto che è il cervello e secondo VN deve essere in grado di capire e mettere in pratica. È fatto da due pezzi : ALU (questa unità è in grado di fare operazioni matematiche e fare confronti numerici) e UNITÀ DI CONTROLLO (che attiva e controlla le operazioni di ingresso e uscita dei dati). La CPU è un CHIP la cui caratteristica principale è il Clock che è un metronomo che scandisce le operazioni. 1 hertz significa fare un’operazione al secondo, mentre 2 hertz vuol dire di fare 2 operazioni al secondo. I fattori principali che influenzano le prestazioni di un calcolatore sono : la Cpu (maggiore è la frequenza di clock della cpu maggiore sarà la velocità con cui il calcolatore potrà eseguire le operazioni); la MEMORIA RAM (maggiore è la memoria principale del calcolatore maggiore sarà la quantità di applicazioni che potrò utilizzare contemporaneamente sul calcolatore); IL NUMERO DI APPLICAZIONI IN ESECUZIONE (se sto utilizzando molte applicazioni contemporaneamente le prestazioni del calcolatore saranno inferiori rispetto a quando utilizzo una sola applicazione alla volta). DISPOSITIVI DI MEMORIA

SOFTWARE

L’obiettivo dell’analisi è quello di comprendere eventuali problemi di varia natura. Nell’analisi ci troviamo ad analizzare eventuali vincoli di questo dominio. Una volta che abbiamo eseguito l’analisi bisogna definire quello che viene nominato ALGORITMO. L’algoritmo è un elenco finito di istruzioni che dicono al computer una serie di istruzioni che deve compiere affinché il problema venga risolto. C’è un problema nell’algoritmo quando non ho fatto una buona analisi. Quando un computer si blocca vuol dire che non riesce a risolvere un problema che i programmatori non hanno provveduto. L’algoritmo non risolve un problema nello specifico ma deve risolvere una classe di problemi. L’algoritmo deve essere tradotto in un programma il quale ha un linguaggio di programmazione. Quindi, dato un problema, si fa l’analisi, si scrive l’algoritmo il quale è poi tradotto in un programma e solo questo programma che viene interpretato dal computer determinerà il risultato dell’elaborazione. PROCEDIMENTO ALGORITMO:  un algoritmo presuppone la presenza di qualcuno (o qualcosa) in grado di eseguirlo, che definiremo esecutore (in informatica, ovviamente, sarà un calcolatore);  2. l'algoritmo viene letto dall’esecutore il quale, partendo dai dati in input, esegue le istruzioni in esso riportate seguendo un ordine ben preciso e giungendo, al termine, a ottenere i dati di output;  3. l'algoritmo deve essere formulato in un linguaggio comprensibile all'esecutore;  4. un esecutore può eseguire un algoritmo formulato in un linguaggio che non conosce a patto che l'algoritmo stesso sia preventivamente tradotto in un linguaggio che invece gli è noto;  5. l'algoritmo deve prevedere soltanto istruzioni elementari, che richiedono all’esecutore la conduzione di operazioni elementari (operazioni che egli sa compiere senza bisogno di ulteriori specificazioni);  6. un algoritmo può richiedere l'esecuzione di altri algoritmi precedentemente specificati all'esecutore;  7. l'algoritmo deve essere formulato in un linguaggio non ambiguo, in cui cioè ogni istruzione caratterizzi univocamente una delle operazioni che l’esecutore è in grado di compiere;  8. l'algoritmo deve specificare senza ambiguità l'ordine di esecuzione delle istruzioni e l’esecutore deve attenersi scrupolosamente a esso;  9. l'algoritmo deve essere formulato in un numero finito di istruzioni;  10. l'esecuzione di un algoritmo deve terminare fornendo i dati di output in un tempo finito;  11. l'algoritmo deve essere deterministico; in altre parole, eseguendo lo stesso algoritmo più volte sugli stessi dati di input, l'esecutore deve generare sempre gli stessi dati di output;  12. un algoritmo parametrico è un algoritmo che, facendo riferimento ai dati in input, è in grado di risolvere non un solo problema ma una classe di essi (per esempio, un algoritmo che specifica come calcolare il minimo comune multiplo tra i numeri 5 e 6 non è parametrico, lo è invece un algoritmo che specifica come calcolare il minimo comune multiplo tra due numeri naturali qualsiasi). 3 proprietà degli algoritmi Finitezza : ogni algoritmo deve essere finito, cioè ogni singola istruzione deve poter essere eseguita in tempo finito ed un numero finito di volte

- Generalità : ogni algoritmo deve fornire la soluzione per una classe di problemi; deve pertanto essere applicabile a qualsiasi insieme di dati appartenenti all’insieme di definizione o dominio dell’algoritmo e deve produrre risultati che appartengano all’insieme di arrivo - Non ambiguità : devono essere definiti in modo univoco i passi successivi da eseguire; devono essere evitati paradossi, contraddizioni ed ambiguità; il significato di ogni istruzione deve essere univoco per chiunque esegua l’algoritmo

I PROGRAMMI derivano da un algoritmo e sono la traduzione dell’algoritmo fatta attraverso un linguaggio di programmazione (che è un linguaggio formale impiegato per descrivere algoritmi). Il calcolatore è l’esecutore degli algoritmi, ad esempio somma i numeri. Il programma è un algoritmo spesso in un linguaggio di programmazione. Il programmatore è colui che insegna al calcolatore come risolvere una classe di problemi utilizzando una rappresentazione ad algoritmo che il programmatore ha trasformato in algoritmo. Il computer è in grado di comprendere un linguaggio binario: lui l’unica cosa che riesce a capire senza traduzione è il programma macchina. Quindi è in grado di comprendere un elenco di operazioni decodificate in binario. Il processore comprende direttamente il codice macchina: cioè un programma che deriva da un algoritmo che è espresso in BIT, cioè in un insieme di 0 e 1. Il linguaggio macchina è l’elenco di istruzioni che quel determinato processore può decodificare ed eseguire. ASSEMBLER è per così dire l’interprete. A ciascuna operazione del linguaggio della cpu corrisponde una parola del linguaggio Assembly che viene tradotto dall’assembler. Siccome anche l’Assembly è difficile da utilizzare dato che è poco intuitivo e quindi è impossibile che un programmatore programmi direttamente in assembly, si passa ai LINGUAGGI DI ALTO LIVELLO: sono linguaggi dove una singola istruzione corrisponde ad una serie di istruzione di linguaggio in assembly. Un linguaggio di alto livello è molto più vicino al nostro linguaggio e per questo è molto più comodo. Il linguaggio di basso livello è l’assembly. Tuttavia il computer non riesce a capire nessuno dei due se non vengono tradotti in linguaggio macchina dall’assembler. Inizialmente i programmi erano scritti in maniera pioneristica e venivano realizzati dai singoli programmatori. Il termine «software» è costituito dall’unione di due termini inglesi soft (morbido) e ware (manufatto, merce, articolo) e la sua origine risale alla seconda guerra mondiale quando i cripto-analisti inglesi, sotto la guida di Alan Touring, erano impegnati a decriptare i messaggi che nemici tedeschi crittografavano con la macchina Enigma. Essi dopo la scoperta che le istruzioni per la configurazione della macchina, che cambiavano ogni giorno, erano scritte su carta solubile nell’acqua per consentirne una più facile distruzione prima che cadessero nelle mani del nemico, chiamarono tali istruzioni software («componente morbida») in contrapposizione ad hardware («componente dura»), la ferraglia con cui Enigma era realizzata. L’ingegneria del software si occupa di progettazione, sviluppo, messa in produzione del software. Una delle basi dell’ingegneria del software è quella di seguire il software per tutto il ciclo della sua vita:  La prima di esse è l'analisi che, partendo da un'indagine sull'ambito in cui il nuovo software deve collocarsi, ha come scopo la produzione di un documento di specifica contenente la definizione del problema che il software dovrà risolvere, delle caratteristiche che dovrà esibire, dei costi previsti per la sua realizzazione.  2. La progettazione, partendo dal documento di specifica, tratteggia la struttura del prodotto software.  3. Nella fase di implementazione (o codifica), partendo dai documenti prodotti alle fasi precedenti, si procede alla realizzazione di uno o più programmi la cui integrazione costituirà il prodotto software.  4. Il collaudo sottopone quest'ultimo a una serie di test allo scopo di verificare se soddisfi i requisiti indicati in fase di analisi.  5. Il rilascio consiste nell'installazione del prodotto software presso gli utenti (consegnato al committente o rilasciato sul mercato).  6. La manutenzione comprende le attività, successive al rilascio, di modifica al prodotto software per l’eliminazione di malfunzionamenti, l'estensione delle sue funzionalità o il suo adattamento a mutate esigenze. Il software per i calcolatori viene normalmente classificato in due categorie:

  • Software applicativo: programmi, detti applicazioni, che risolvono o supportano l'utente nella risoluzione di problemi specifici in determinati ambiti applicativi (un programma è word)

L’esecuzione di un programma richiede la creazione di un processo a cui è necessario allocare, nella RAM, spazio per il codice e per i dati. La multiprogrammazione, che prevede la coesistenza di più processi, ciascuno con i suoi requisiti di occupazione della RAM, favorisce naturalmente la nascita di conflitti tra essi per l'impiego di tale risorsa, in genere di capacità limitata, e impone quindi, all'interno del sistema operativo, la presenza di un gestore per dirimerli. Esso prevede:

  • controllare con efficienza la RAM;
  • garantire lo spazio necessario a ciascun processo;
  • proteggere lo spazio allocato a un processo da intrusioni non autorizzate da parte di altri processi;
  • gestire, in modo controllato, spazi comuni tra processi per la condivisione di dati e lo scambio di messaggi. Nei primi calcolatori elettronici, l'impiego di una periferica da parte di un programma richiedeva al programmatore una perfetta conoscenza delle sue modalità operative e della sua interfaccia di controllo. A partire dagli anni '60, i sistemi operativi hanno cominciato a inglobare un gestore con lo scopo di consentire a ogni processo di lavorare su periferiche virtuali: nasce il concetto di Driver (è il programma che pilota il dispositivo). L’impiego di una data periferica su un calcolatore un determinato sistema operativo è subordinato alla disponibilità del driver specifico per la periferica e per il sistema operativo: un software che fornisce al sistema operativo l'indicazione di dettaglio delle modalità operative per interagire con la periferica. Molti sistemi operativi su personal computer supportano il Plug and Play (PnP): quando il calcolatore, all'accensione o durante la sua attività, rileva la presenza di una nuova periferica, è in grado, autonomamente, di riconoscere il driver appropriato per essa, installarlo (eventualmente chiedendo all'utente di fornire il supporto che lo contiene) e configurarlo. Quindi, la gestione delle periferiche gestisce la comunicazione con i nuovi dispositivi come quando inseriamo per la prima volta una penna usb. Il file system è il componente del sistema operativo che ci gestisce file e cartelle. Il file è un raggruppamento di informazioni mentre la cartella è uno stratagemma che consente di rappresentare una gerarchia di informazioni, quindi contiene dei file. Una cosa fondamentale è che sistemi operativi differenti utilizzano sistemi operativi differenti. Tutte le memorie di massa hanno un file system. La cartella non ha contenuto informativo ma ci aiuta ad organizzare le informazioni gerarchicamente. L'uso delle cartelle consente all'utente e ai programmi di organizzare logicamente l'informazione in gerarchia a più livelli pur essendo fisicamente su un solo livello. La cartella di livello più alto si chiama radice o root. INTERFACCIA: (Shell) Interfaccia di comunicazione tra l'utente e il Sistema Operativo. Consente di selezionare ed eseguire funzioni e comandi. Può essere di tipo: – GUI (Graphical User Interface) Interfaccia grafica basata su oggetti (Desktop, Icone). Interfaccia utente standard dei moderni Sistemi Operativi (WYSIWYG). – CUI (Command User Interface) Interfaccia testuale a linea di comando. Standard nei SO più datati, è utilizzabile come opzione anche in quelli recenti (Prompt dei comandi, Terminale). LEZIONE 4 RAPPRESENTAZIONE DELL’INFORMAZIONE L’informazione è qualcosa che può essere modellata su un supporto qualsiasi (cd, nastro magnetico, carta) su cui vengono impresse delle sequenze di simboli che rappresentano le info che il computer deve elaborare. Dato che le info nel mondo reale non sono rappresentati da bit o numeri, è ovvio che ci deve essere un procedimento per trasportare dal mondo reale tutte le info nel computer e viceversa. La codifica dell’informazione: è una procedura che trasforma le lettere dell’alfabeto del linguaggio naturale alla sequenza di 0 e 1 che può essere compreso dal computer. Bisogna trovare il modo di rappresentare i numeri naturali nell’alfabeto binario e quindi l’operazione di codifica ci porta da un alfabeto ad un altro.

l’alfabeto del computer è costituito da simboli che sono 0 e 1, quindi significa che dobbiamo passare dalla lettera A (ad esempio) ad una serie, ripetiamo, di 0 e 1. La corrispondenza biunivoca significa che ad una lettera dell’alfabeto reale corrisponde un segno dell’alfabeto macchina. La cardinalità è il numero di simboli di cui è composto l’alfabeto: ad esempio la cardinalità dell’alfabeto italiano ad esempio è 21, mentre la cardinalità dell’alfabeto dei numeri è 10, mentre la cardinalità dell’alfabeto binario sono solo 2 simboli. Noi partiamo dal mondo reale e questa informazione perché venga elaborata dal mio computer deve essere convertita in sequenza di o e 1: questa operazione si chiama codifica. Noi siamo abituati ad eseguire operazioni utilizzando per i numeri la nozione decimale posizionale che indica il fatto che la posizione della cifra indica una caratteristica di quella stessa (decine, unità): il numero 555 presenta 3 numeri uguali ma la differenza di ogni numero può essere verificata in base alla posizione che ogni numero acquisisce anche sull’abaco. La cifra a destra è quella meno significativa perché è quella delle unità e può valere al massimo 9 unità. Il sistema di numerazione posizionale non è l’unico: ad esempio in epoca romana i numeri facevano uso di simboli letterari a cui ciascun simbolo aveva un valore che era calcolato sommando il valore di ogni simbolo (VIII= 5+1+1+1=8). Il sistema romano non era posizionale perché non era importante quale simbolo ci fosse per primo. Dato che il sistema di numerazione più antico era quello decimale, e infatti cifra deriva da digitus, probabilmente se avessimo avuto 8 dita saremmo stati abituati su 8 cifre. Ma se devo contare fino a nove e il nove non c’è, come si fa? Qualsiasi sia la base con cui contiamo, possiamo rappresentare qualsiasi numero che vogliamo anche se abbiamo meno cifre a disposizione perché possiamo fare il riporto. Cosa cambia con il caso decimale? La differenza è che se in decimale per scrivere il 9 uso una sola cifra, quando conto in base ottava, ad esempio, per scrivere il nome uso più cifre (in questo caso ne uso due). Meno cifre ho a disposizione, più sarà lunga la sequenza di numeri per rappresentare una cifra. Infatti nella codifica binaria per rappresentare una cifra avremo bisogno di molti 0 e 1. La codifica binaria è quella, appunto, dove abbiamo a disposizione due soli simboli che sono 0 e 1 che vengono anche chiamate BIT. Quanto può valere un bit? Può valere o 0 o 1. In particolare una sequenza di 8 bit viene denominata BYTE. Se noi abbiamo solo due bit, qual è il massimo numero decimale che possiamo rappresentare? Il numero 3 perché si rappresenta con 11. Con due bit si possono fare al massimo 4 combinazioni (00-01-10-11). Quindi quando digito, ad esempio 2 sulla tastiera, il computer accende un transistor e ne spegne un altro (viene rappresentato con 1 0). Con n cifre binarie, ovverosia bit, si possono esprimere 2n numeri naturali: da 0 a 2n-1. Fino ad adesso abbiamo parlato di numeri ma un computer come fa a gestire un’informazione diversa (foto, testi)? Il fatto che io voglia esprimere una qualsiasi info che viene codificata è un fatto di tutti i giorni: ad esempio la nostra matricola, il codice fiscale che è una codifica che al suo interno ha già molte informazioni. Perché funzioni questo meccanismo dobbiamo fare in modo che chi decide la codifica e la persona con la quale si interloquisce siano d’accordo perché se io assegno un numero e per gli altri non è condiviso si verifica un’incomprensione sulla codifica. Dimostriamo come si può rappresentare un’informazione che non sia di natura numerica. Cosa significa associare un contenuto informativo ad un codice, inteso come sequenza di simboli binari? Significa definire una codifica in cui, per ogni sequenza valida, vi sia un significato concordato tra le parti impegnate nella comunicazione. In definitiva, un bit (cifra binaria digitale) e l’unità di informazione utilizzata nei sistemi di elaborazione. Si tratta di un sistema a 2 stati rappresentati da 2 valori logici. Con 1 bit si possono rappresentare 2 differenti informazioni. Con 2 bit posso rappresentare 4 informazioni (00-01- 10-11). Il valore massimo rappresentabile è 3. In generale con n bit si possono rappresentare 2n informazioni. Con n bit posso rappresentare numeri interi positivi da 0 a 2n-1. Spesso per misurare la quantità di dati si usa un multiplo del bit il byte: § Un byte è costituito da 8 bit § 1 byte [01011100] può rappresentare 28 = 256 valori distinti § Il max numero intero positivo rappresentabile è pari a 28 -1 = 255 I MULTIPLI DEL BIT O DEL BYTE SONO INDICATI DAI PREFISSI K, M, G, T

PANORAMICA SU INTERNET

Cerchiamo di dare alcune definizioni: TELEMATICA: fino ad adesso abbiamo parlato di computer che serve al singolo utente o a più utenti come nel passato, ma di fatto l’accezione con il quale viene utilizzato il computer è 1 a 1 ovvero un computer e un utente. Tutto quello che attiene alla comunicazione di dati attraverso i calcolatori è la telematica. La rete informatica permette ai computer di scambiarsi informazioni. Una rete cablata è una rete che implica dei cavi. Per scambiare i dati i computer hanno bisogno di un canale trasmissivo. Il cavo ospita una serie di segnali elettrici che viaggiano sul cavo e arrivano a destinazione. Meno ovvio è pensare che il mezzo trasmissivo nel caso delle reti wirless è l’etere, l’aria. Lo diciamo perché entrambi i mezzi trasmissivi hanno pregi e difetti e non è detto che siano uno meglio dell’altro. parlando di reti di computer possiamo dire che essa permette lo scambio di informazioni tra i computer. PAM: sono reti particolari con ridotto raggio d’azione che sono tipiche dei dispositivi come la stampante wirless o la stampante usb con il proprio computer o alexa. BAN: è la rete dei dispositivi indossabili come gli auricolari wifi e che quindi sono indossati dagli utenti. WPN: rete che non caratterizzata dalla dimensione ma è caratterizzata dalla sicurezza. LAN: non è solo cablata ma può essere anche wifi MAN: definisce un collegamento di carattere metropolitano. Ogni singolo edificio è collegato da una rete lan. La rete man viene in soccorso con altre tecnologie come quelle basate su fibra ottica che consentono di collegare due edifici della stessa area WAN: queste reti sono anche chiamate geografiche perché si estendono geograficamente e possono collegare diverse città. Diverse città, addirittura in continenti diversi, possono essere legate da un’unica rete geografica RETE G: è la rete globale. La rete globale più famosa al mondo è INTERNET. Un’ulteriore tipologia di rete che ha una connotazione legata alla sicurezza è la rete VPN perché il tutto rimane sicuro. Di fatto questa tecnologia evita che ci siano collegamenti diretti pericolosi. La VPN non ha una rappresentazione di carattere geografico ma esclusivamente di sicurezza. Il vantaggio è che ci si possono scambiare informazioni senza che terzi possano accedere a queste informazioni. Quali sono i vantaggi del network e delle reti lan? Se notiamo in un laboratorio ci sono tanti computer e una sola stampante, perché? Perché uno dei vantaggi della rete lan è quello di consentire la condivisione delle risorse, quindi anziché comprare tante stampanti per tanti computer, se ne compra una che possa essere utilizzata da tutti i computer ma questa cosa non sarebbe possibile se non ci fosse una rete che mettesse tutto in collegamento. Quindi la rete lan mette in comunicazione tutte le periferiche (scanner, stampante, plotter) di tutti i computer. Ma non è l’unica cosa: se io scrivo un documento, è possibile che questo stesso documento possa servire ad un altro, ed ecco che si può creare una cartella con libero accesso per una certa categoria. Un altro vantaggio di questa rete lan è che si possono centralizzare i programmi informatici, come ad esempio i programmi di simulazioni. In una lan che non è collegata ad internet non è possibile avere collegamenti con diversi computer in posti lontani. Che cosa significa comunicare? La comunicazione prevede che ci siano due computer che devono scambiarsi messaggi. Il nostro segnale è una grandezza finisca che cambia nel tempo. Il sistema fisico di trasmissione: aria e cavo. La comunicazione è uno scambio di segnali che devono essere codificati per poi essere trasmessi. PARITà: la somma degli 1 deve essere sempre pari. Per il networking ho bisogno di un sistema di collegamento (cavo, swich, modem, rooter). ROUTER:

RETE WIRELESS LAN: vediamo i vantaggi. Una Lan wifi non ha vincoli di cavi. Lo svantaggio è la velocità di trasmissione. INTERNET NETWORKING La rete internet è la sommatoria di tutte le tipologie di reti già viste. IL MODEM: è uno strumento attraverso il quale i computer possono dialogare .. RETI INTERNET (LIBRO) Una RETE DI CALCOLATORI è un insieme di due o più calcolatori connessi tra loro con lo scopo di comunicare. Le reti di calcolatori possono essere classificate in:

  1. RETE PAN (PERSONALE): connette due o più pc con dispositivi periferici
  2. RETE LAN (LOCALE): connette computer in un edifico o in edifici adiacenti
  3. RETE MAN (METROPOLITANA): si estende su un’area urbana
  4. RETE WAN (GEOGRAFICA): si estende su un’ampia area geografica
  5. RETE GAN (GLOBALE): si estende a livello globale. Una rete VPN è una rete PRIVATA. Requisito essenziale affinché due o più calcolatori costituiscano una rete è che essi siano in grado di comunicare, scambiare informazioni. L’INTERNETWORKING consiste nella connessione di due nodi appartenenti a due reti diverse determinando quindi la nascita di un’unica rete estesa quanto la somma delle due reti originarie. Dal momento che i calcolatori utilizzano codifiche binarie per la rappresentazione dei dati, è evidente che i mezzi di collegamento fisico impiegati per connetterli allo scopo di realizzare la rete devono essere in grado di trasmettere segnali binari. Si possono impiegare MEZZI GUIDATI dove il segnale viaggia attraverso cavi e MEZZI NON GUIDATI (wireless, senza fili) in cui il segnale viene irradiato nello spazio. Per distinguerle dalle reti wireless, quelle che impiegano mezzi guidati sono dette RETI CABLATE. Un dispositivo è online se risulta connesso ad una rete, altrimenti è detto offline. La connessione a Internet da parte di un privato, con un singolo calcolatore o con una piccola LAN domestica, di un’impresa o di un ente pubblico si realizza normalmente per il tramite di un’azienda specializzata nella fornitura di connettività, un Internet Service Provider (ISP, fornitore di servizi internet) o, più specificamente, un Internet Access Provider (IAP, fornitore di accesso a internet). In molti casi la connessione verso l’ISP si realizza attraverso una linea telefonica alle cui estremità sono installati due MODEM a loro volta connessi a due calcolatori. Un modem è un dispositivo che, fungendo da interfaccia tra un calcolatore e una linea telefonica, trae il suo nome dalla contrazione dei due termini che definiscono le sue funzioni principali:
  6. Modulazione: il modem riceve dal calcolatore un flusso di bit e lo codifica sotto forma di segnali elettrici che trasmette lungo la linea telefonica
  7. Demodulazione: il modem decodifica i segnali elettrici che gli arrivano dalla linea telefonica sotto forma di bit che invia al calcolatore Per collegare tra loro due reti ci si avvale di due ROUTER eventualmente connessi tra loro mediante modem e linea telefonica. Un router è in grado di analizzare i blocchi di dati (pacchetti) in transito all’interno di una rete, riconoscere quelli destinati a un’altra rete e instradarli (ingl. Routing) verso il router corrispondente. I modem variano in base alla tecnologia utilizzata per connettersi ad Internet: – Modem Analogico: è il modem utilizzato con le normali linee telefoniche commutate (lo standard attuale di velocità è 56Kbps, in standard V.90) – Modem ADSL: necessari per connettersi tramite Internet a Banda Larga ADSL (Asymetric Digital Subscriber Line) caratterizzato da velocità di upload e download differenti (da cui asymetric) – Modem HDSL (High Bit Rate Digital Subscriber Line) caratterizzato da velocità di upload e download simmetriche (uguali)

una rappresentazione dell’immagine sotto forma di BITMAP, una griglia di pixel: la miglior codifica per le immagini fotografiche. Tra i formati più diffusi ricordiamo JPEG; GIF; BMP; TIFF; PNG. I file in FORMATO VETTORIALE, invece, rappresentano le immagini come composizioni di punti, linee, curve a loro volta codificate in termini di equazioni matematiche. La rasterizzazione delle immagini vettoriali consente di sfruttare al meglio risoluzioni anche molto elevate del dispositivo pur mantenendo il file in dimensioni estremamente contenute. I SUONI: i suoni vengono codificati attraverso la STEREOFONIA (due canali, altrettanti segnali audio che, rilevati dalle due orecchie dell’uomo, riproducono la distribuzione spaziale delle sorgenti sonore), FREQUENZA DI CAMPIONAMENTO (44100 Hz), QUANTIZAZIONE (codifica a 16 bit). MP3 è il più comune formato audio che impiega una compressione lossy: caratteristica che lo rende estremamente efficiente in termini di spazio occupato sui dispositivi di memoria e tempo impiegato per la trasmissione in Internet. I FILMATI: in formato digitale è costituito da una serie di FOTOGRAMMI (FRAME), immagini digitali che in fase di riproduzione vengono mostrate in rapida successione con una frequenza costante. LA COMPRESSIONE: consiste nella riformulazione del contenuto informativo del file con una codifica diversa che consente di ridurne le dimensioni, con l’obiettivo, in genere, di contenere lo spazio da esso occupato sui dispositivi di memorizzazione o il tempo impiegato per la sua trasmissione. La compressione può essere di tipo LOSSLESS (che significa senza perdita) oppure di tipo LOSSY (che significa con perdita). SLIDE ULTIMA LEZIONE Alcune definizioni utili per cominciare: DEFINIZIONE: Le tecnologie dell’informazione e della comunicazione (ICT) sono l’insieme delle regole, dei metodi e delle tecnologie che permettono ai sistemi di elaborazione di riceve ed inviare dati. L’infrastruttura di rete è il mezzo attraverso il quale è possibile rendere disponibili le risorse informatiche. DEFINIZIONE: la telematica è la disciplina che nasce dall’incontro tra l’informatica e le telecomunicazioni. TRASMISSIONE DATI: I sistemi di elaborazione possono inviare e riceve dati effettuandone il trasferimento attraverso una infrastruttura costituita da cavi, sistemi radio e/o altri sistemi (rete di trasmissione dati). La trasmissione dati si occupa delle tecnologie e dei metodi per permettere la comunicazione fra due o più utenti. La trasmissione dati permette quindi di trasferire informazioni tra due o più apparati elettronici attraverso un opportuno canale di trasmissione (canale trasmissivo). I dati vengono trasformati in gruppi di piccoli impulsi elettromagnetici, detti pacchetti e trasferiti sulle linee di trasmissione. RETI DI COMPUTER: DEFINIZIONE: una rete di computer (o più i generale di dispositivi elettronici) rappresenta la combinazione di elaboratori e sistemi di telecomunicazione che permette di essere interconnessi fra loro in modo da consentire lo scambio di informazioni, condividere risorse. Le reti possono avere dimensioni molto differenti: possono essere limitate ad una singola struttura (edificio) o avere estensioni molto vaste fino all’intero globo. In funzione delle dimensioni abbiamola suddivisione in 5 tipi di reti: PAM, LAN, MAN, WAN, GAN (che abbiamo già analizzato prima). RETE LAN: E' possibile condividere periferiche - E' possibile inoltrare dati tra utenti, trasferendo file attraverso la rete. - E' possibile centralizzare programmi informatici. - E' possibile istituire sistemi di backup automatico dei file RETE WAN/GAN: È possibile inviare e ricevere messaggi in tutto il mondo. - È possibile scambiare i file con i colleghi situati in altri luoghi o accedere da casa alla rete aziendale. - È possibile accedere alla vaste risorse di Internet e del World Wide Web. LA COMUNICAZIONE: Requisito essenziale affinché due o più calcolatori costituiscano una rete è che essi siano in grado di comunicare, ovvero di scambiarsi informazioni.

Definizione: un segnale è una grandezza fisica il cui valore cambia nel tempo, quale, per esempio, la temperatura corporea di una persona, la tensione alle estremità di un cavo elettrico o un indice di borsa. Definizione: un canale di trasmissione è un sistema fisico (es. un cavo elettrico) in grado di trasferire un segnale e alle cui estremità si trovano rispettivamente un trasmettitore è un ricevitore. Definizione: una comunicazione tra due dispositivi elettronici è uno scambio di segnali usati per rappresentare (codificare) i messaggi da trasferire (es. codice Morse). Ciascun canale è soggetto a effetti perturbanti (interferenze) detti «rumore». Per ridurre la possibilità che il rumore del canale (es. scariche elettriche) possa alterare il messaggio che viene trasferito, si utilizzano tecniche di codifica con ridondanza: oltre al simbolo del messaggio vengono trasmessi simboli aggiuntivi che consentono (al ricevitore) di verificare la corretta ricezione. Dal momento che i calcolatori usano codifiche binarie per la rappresentazione dei dati, i mezzi di collegamento fisico impiegati per connettere i calcolatori allo scopo di realizzare la rete devono essere in grado di trasmettere segnali binari. A questo fine si possono sfruttare: – mezzi guidati in cui il segnale viaggia lungo linee fisiche (tipicamente cavi); – mezzi non guidati (wireless, senza fili) in cui il segnale (onda elettromagnetica) tonda viene irradiato nello spazio. Ogni mezzo è caratterizzato da proprietà fisiche che determinano: – la distanza massima oltre la quale il segnale degrada – la velocità massima con la quale i segnali vengono trasmessi (si misura in bit al secondo, bps – o multipli Kbps, Mbps, Gbps). NB: La velocità di 1 Mbps NON SIGNIFICA che si trasferisce un file di un MegaByte in un secondo! (1byte = 8 bit!) Per collegare fra loro i computer, quindi oltre all’infrastruttura per il trasporto delle informazioni (CAVO di RETE o più genericamente SISTEMA di CABLAGGIO) sono necessari ulteriori componenti hardware specifici, questi componenti possono essere così riassunti: SCHEDA DI RETE (Hardware necessario alla comunicazione installato a bordo di ogni singolo Personal facenti parte della Rete (LAN)); HUB/SWITCH (Gli hub, o ripetitori, sono semplici apparecchiature che collegano fra loro gruppi di utenti. Ogni pacchetto di dati proveniente da un qualsiasi PC viene ricevuto dall'hub su una porta e trasmesso a tutte le altre (broadcast )); ROUTER (I router utilizzano un "indirizzo” di pacchetto più completo per determinare il router o il PC che deve ricevere il pacchetto. Si basano su una mappa di rete denominata "tabella di routing", i router possono fare in modo che i pacchetti raggiungano le loro destinazioni attraverso percorsi più idonei. Se cade la connessione tra due router, per non bloccare il traffico, il router sorgente può cercare un percorso alternativo. I moderni apparecchi “SOHO” (Small Office Home Office) integrano uno switch, un router, un access point WiFi e un modem ADSL). STANDARD ETHERNET : È la tecnologia più utilizzata per il collegamento di apparati mediante cavo in rame, tipico delle reti LAN. Ethernet funziona a 10 Megabit per secondo (o Mbps). Fast Ethernet funziona a 100Mbps. Lo standard Giga Bit ETHERNET funziona a 1Gbit/ sec IL WIRELESS é la tecnologia che permette la comunicazione tra computers mediante trasmissioni radio, microonde e infrarossi senza l’uso di cavi. La domanda di tecnologia wireless nasce dal crescente utilizzo di dispositivi di mobile computing, come i notebook, tablet, smartphone. Vantaggi: • Libertà di movimento • Installazione semplice • Apparecchiature portatili • Facilità di espansione. Svantaggi: • Velocità di trasm. inferiore • Sicurezza dati • Gestione LAN • Interferenze esterne. Uno degli standard più diffusi di rete wireless è il Wi-Fi (Wireless Fidelity). Si tratta di una rete di telecomunicazioni interconnessa tramite dispositivi di ricetrasmissione radio detti Access Point (AP) (Hot Spot) che fungono da punto di accesso verso altre reti e di collegamento. Esistono varie classi di Wi-Fi con prestazioni diverse, le principali sono: – classe a a 54 Mb/s (5 GHz) – classe b a 11 Mb/s (2,4 GHz) – classe g a 54 Mb/s (2,4 GHz) – classe n a 450 Mb/s (2,4 GHz e 5 GHz) – classe ac a 3 Gb/s (5 GHz) Reti di Co25mputer

  • Ing

FARSI TROVARE NELLA RETE: Occorre assegnare un indirizzo univoco (IP address) ad ogni computer della rete come gestito dal protocollo IP. Il "numero telefonico" di un utente è costituito da 4 gruppi di numeri di massimo 3 cifre, separati tra loro da un punto (138.120.45.87) sempre minori di 255. I calcolatori con funzione di server, con connessione permanente, dispongono di un IP fisso (IP statico). I calcolatori con funzione di client ottengono all’atto della connessione un loro indirizzo IP temporaneo (IP dinamico). Per ovviare alla difficoltà di memorizzazione degli indirizzi IP è disponibile un sistema che permette di associare ad un indirizzo IP un indirizzo simbolico. Questo sistema prende il nome di DNS (Domain Name System/Server). Ogni indirizzo simbolico è costituito da un insieme di parole separate da un punto; ogni parola identifica un dominio. L’indirizzo simbolico identifica domini sempre meno specifici da destra a sinistra: quello più a destra (.it, .com, …) viene detto dominio di primo livello. In base a quanto affermato finora, sappiamo che la rete Internet costituisce un’infrastruttura tecnologica in cui possono essere messi a disposizione dell’utenza molteplici servizi: – Posta elettronica e lista di listino discussione; – FTP reti paritarie peer to peer; – Gruppi di news e forum; – Chat, instant messaging e VOIP; – Backup, archiviazione e condivisione. il Web che è esso stesso un servizio, quello di navigazione tra i siti, che si poggia come tutti gli altri servizi sull’infrastruttura telematica che è Internet. il Web (WWW) non è Internet. GLI IPERTESTI: Negli anni 70 viene coniato il termine hypertext in relazione ai documenti implementati con sistemi informatici. Si intende ipertesto un documento informatizzato costituito da diverse porzioni di testo, collegate fra loro da nessi logici implementati tramite collegamenti che consentono al lettore il passaggio da un blocco di testo all’altro. Il documento assume di conseguenza una struttura reticolare: su questa struttura il lettore può organizzare la lettura passando di blocco in blocco, seguendo i collocamenti proposti attuando quindi una navigazione o scansione non lineare, a differenza di quella lineare praticata con i testi tradizionali. L’ipertesto è un testo digitale; L’ipertesto è composto da più parti che sono testi digitali, i cosiddetti nodi o topics o blocchi di testo; Le parti sono in relazione tramite connessioni digitali, detti i collegamenti o link, in una struttura reticolare. La struttura dell’ipertesto determina il modo in cui se ne può fruire, la cosiddetta navigazione; La struttura dell’ipertesto è legata ad un autore gruppo di autori che hanno scritto scelto i testi che gli hanno collegati tra loro; ciò nonostante è una struttura aperta nel senso che un semplice link può permettere al lettore una transizione da un ipertesto ad un altro, dal punto di vista dell’autore e i due ipertesti possono tuttavia essere percepiti come una rete unica. La forma di un ipertesto e dunque definita dei collegamenti fra i nodi: da un certo numero di nodi, le strutture più comuni che un ipertesto assume sono quella lineare, circolare, stella, quella gerarchica e quella a grafo completo. NODI E LINK: In queste strutture i nodi sono da considerare come le unità minimali di informazione, blocchi di testo dotati di autonomia e completezza; nell’implementazione correnti possiamo immaginare in prima battuta che esista una corrispondenza uno a uno fra nodi e documenti, anche se poi, parlando del web, cioè convergeremo che al nodo corrisponde un file principale che può essere corredato da una serie di documenti ancillari (audio, video, fogli di stile…). I link implementano le connessioni fra parti del documento tematicamente affini o logicamente correlate; essi hanno sede, all’interno del blocco di testo in porzioni di testo possibilmente evocative del modo destinazione che sono dette lavorative hotwords. TIPOLOGIA DI LINK: Una prima classificazione dei collegamenti distingue link interni al nodo ed esterni, ossia link che puntano da una porzione di testo di un certo blocco (pagina web) ad un’altra nello stesso blocco e quelli che trasportano il lettore in un blocco distinto di testo. Seconda discriminazione e quella che si fa tra collegamenti che puntano a nodi all’interno dello stesso sito a cui appartiene il nodo di partenza e collegamenti che puntano ad altri siti. Un terzo tipo di classificazione è legata al tipo di interattività che suscita il collegamento: si può distinguere fra link di navigazione è il link di attivazione. MULTIMEDIALITÀ: Possiamo definire un documento multimediale come un’opera nella quale ci sia compresenza di una molteplicità di mezzi di comunicazione diversi, quali testo, grafica, animazione. Talvolta la multimedialità viene erroneamente fatta coincidere con l'interattività. La confusione nasce dal fatto che spesso la multimedialità è affiancata dall'interattività: ad esempio, una enciclopedia multimediale sarà

molto probabilmente anche interattiva, ovvero permetterà all'utente di interagire con essa (ovvero comunicare delle indicazioni al programma che gestisce l'enciclopedia, tramite il mouse o la tastiera, e ricevere da esso delle risposte sul monitor); in questo modo, l'utente potrà "dire" all'enciclopedia se di un certo lemma vuole la definizione testuale, oppure vuole vedere i filmati associati, o le foto, o ascoltare l'audio, ecc. e suono. IPERMEDIALITÀ: La convergenza di ipertestualità e multimedialità e definita ipermedialità; un ipermedia è dunque un apparato documentale la cui struttura è ipertestuale e i cui contenuti sono proposti mediante quella pluralità di linguaggi eterogenei che concorrono a trasmettere un significato che è proprio della multimedialità. L’applicazione più popolare della convergenza tra ipertesti e multimedialità e certamente è costituita dal World Wide Web: ideato da Tim Berners-Lee al CERN di Ginevra verso la fine degli anni ’80. WORLD WIDE WEB: Il web è un sistema documentale ipertestuale multimediale distribuito su rete, su Internet, e come tale e dunque uno dei servizi offerti da Internet. Dal punto di vista strutturale, l’ipertesto globale è costituito da un insieme di documenti detti pagina web ciascuna delle quali può essere collegato a qualunque altra per il tramite di collegamenti link unidirezionali. Le pagine sono ospitate da nuovi specializzandi della rete detti server web o server HTTP dal nome del protocollo base del web. SITO WEB: Si è soliti indicare con il termine di sito web un insieme di pagine web che godono di una certa coerenza rispetto a determinati fattori: – Autoralità: un sito e principalmente opera di un solo emittente (persona singola, gruppo, organizzazione) – Argomento di comunicazione: un sito generalmente tratta di un certo tema principale. – Strategia argomentativa: lì di solito l’impostazione delle layout, della grafica e dell’esposizione dei contenuti è unica in tutto il sito – Destinatario: per quanto il lettore di un sito siano potenzialmente tutti colori che navigano nel web, in generale un sito si rivolge ad un pubblico obiettivo target più o meno ben precisato. – Collocazione fisica: normalmente le pagine di un sito sono ospitate da un solo server web. – Collocazione virtuale: di solito tutte le pagine di un sito condividono un solo indirizzo web radice. COME FUNZIONA IL WWW: Come nelle altre applicazioni Internet c'è un'interazione tra un Client ed un Server: il protocollo di comunicazione usato è HTTP (HyperText Transfert Protocol) e i documenti inseriti sul Web devono essere memorizzati in un formato speciale, detto HTML (HyperText Markup Language). I Client Web rappresentano l'interfaccia tra utente e sistema e le principali funzioni che svolgono sono: – Ricevere i comandi dall'utente – Richiedere i documenti ai Server – Interpretare il formato e presentarlo all'utente. Per ottenere la visione di questi ipermedia sono stati realizzati vari programmi, detti Browser (dall'inglese to browse: scorrere) tipo Netscape ed Explorer (Opera, Mozilla) che permettono, attraverso un'accattivante interfaccia grafica, di gestire in modo molto piacevole tutte le informazioni multimediali. Un aspetto particolare del funzionamento del W3 è la tecnica di indirizzamento dei documenti, detta URL (Uniform Resource Locator). La URL di un documento corrisponde al suo indirizzo in rete: ogni file o computer presente su Internet viene rintracciato appunto attraverso la sua URL che ha una sintassi del tipo: Tiposerver://Nomehost/Nomefile La prima parte indica, con una parola chiave, il server a cui si punta (FTP, HTTP, Gopher..), la seconda il nome simbolico dell'host su cui si trova il file indirizzato, la terza indica nome e posizione (Path) del documento o file al quale ci si riferisce.! Tra la prima e la seconda parte vanno inseriti :// Ad esempio: http://www.liberliber.it/index.html ci dice che si lavora su un server Web (HTTP) che si trova sul computer di nome www.liberliber.it nel quale vogliamo trovare il file index.html. PROTOCOLLI DI SICUREZZA (HTTPS): I protocolli di sicurezza garantiscono l’integrità e la segretezza dei dati e delle comunicazioni nei diversi strati TCP/IP e possono operare sia a livello di applicazione che a livello di trasporto. I protocolli a livello applicativo sono pochi, l’HTTPS (SHTTP) permette di eseguire transazioni sicure sul web e serve per garantire la sicurezza dei messaggi trasmessi tramite protocollo HTTP consente la firma, l’autenticità e la crittografia dei messaggi. Il protocollo permette di coordinare diversi meccanismi per la gestione delle chiavi di criptazione (certificati) e delle relative funzioni.