Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
prof.Fabrizio Corona
Elementi di Informatica
Università Telematica Giustino Fortunato (UNIFORTUNATO)
73 pag.
Delle prime macchine programmabili sono nate da Joseph Marie Jacquard con un telaio e
Charles Babbage che ideò una macchina per calcolare i logaritmi che fu realizzato da Lady
Augusta Ada Lovelace, la prima programmatrice della storia. Lei quindi immagino che il
motore analitico di Babbage potesse giocare a scacchi e persino comporre musica anticipando
quelle che sono oggi le ricerche di intelligenza artificiale.
Negli anni 30 si ottennero alcuni risultati fondamentali, nel campo della teoria degli algoritmi
da parte di grandi logici e matematici come Alan Turing, Kurt Godel e Alonso Church, in
particolare si giunse poi alla formulazione della tesi Church-Turing, secondo la quale qualsiasi
problema algoritmico, può essere risolto utilizzando delle macchine semplici in grado di svolgere
poche operazioni elementari. Successivamente si stabilì anche la possibilità di realizzare
macchine universali, capaci di elaborare qualsiasi tipo di algoritmo ed eseguono una
procedura definita e astratta, ossia che non è finalizzata ad un particolare risultato, essa
consiste nell’eseguire qualsiasi programma che venga fornito alla macchina, andando poi ad
applicare e a dagli input per tali programmi.
I moderni calcolatori, corrispondono al concetto di macchina universale e proprio la loro
universalità gli fa avere la capacità di accogliere non solo i dati ma anche i programmi, possono
quindi eseguire qualsiasi programma consistenti in operazioni su numeri binari e confrontati
tra tali numeri, applicandolo poi a qualsiasi combinazione di dati.
Infine poi si determinò anche l’equivalente di tutte le macchine universali, cioè quest’ultime
opportunamente programmate è in grado di eseguire qualsiasi algoritmo. Quindi ciascuna
macchina universale è in grado di eseguire anche l’algoritmo che determina il
funzionamento di qualsiasi altra macchina universale, e di conseguenza ogni
macchina universale, una volta programmata secondo l’algoritmo che descrive il
funzionamento di una diversa macchina universale è in grado di elaborare anche i
programmi scritti per quest’ultima e quindi di fatto ogni macchina universale è in
grado di emulare qualsiasi altra macchina universale.
Il modello client-server
In questo modello noi abbiamo un rapporto che si va a creare all’interno della rete stessa dove
il server rappresenta il soggetto che fornisce servizi ai vari clienti e i clienti sfruttato quei servizi
in modo passivo e quindi accettano le condizioni che sono previsti all’interno del server per
usufruire di servizio. Nel mondo del web noi possiamo ritrovare tantissime ipotesi di sistema
client-server in quanto questo sistema è caratterizzato dal fatto che tutte le informazioni, i
dati e i servizi sono contenuti all’interno del server.
Un esempio banale che tutti noi utilizziamo è proprio la connessione ad internet, poiché no
accediamo ad una connessione proprio grazie ad un sistema client-server. Il cliente che è il
router di casa, accede e fa si che il computer possa accedere ad un servizio che viene erogato
da un server centrale.
In un modello client server potremmo avere servizi a pagamento( ad es. la possibilità di
poter accedere ad una connessione ad internet pagando) o servizi gratuiti (ad es. l’utilizzo
della posta elettronica come gmail).
La caratteristica di questo sistema è che il cliente non è un utente che partecipa attivamente a
questa rete perché il sistema è reticolare verso il centro, cioè tutti i vari clienti che orbitano
intorno a quel server non hanno la possibilità di poter comunicare tra di loro, ma la
comunicazione è 1:1 verso il server e il server è 1 a molti, di fatto il cliente A non è in grado
di sapere quanti altri clienti usufruiranno del medesimo servizio, ed il server
erogherò il suo servizio ad uno o più soggetti a seconda di quanti sono gli utenti che
hanno deciso di partecipare a quel sistema.
Il sistema client-server già rappresenta un sistema più evoluto rispetto a quelli precedenti,
perché in passato soprattutto con l’affermazione del personal computer noi avevamo
strumenti che fra loro non comunicavano in rete, non si poteva comunicare fra un cliente ed un
altro perché ogni singolo personal computer era un noto isolato all’interno di un’abitazione
che non era connesso ad una rete di calcolatori.
Con il sistema clientelare noi abbiamo vari server che danno la possibilità di erogare dei
servizi, ma il cliente stesso accede al proprio server per comunicare l’info qualora la volesse
trasmettere ad un altro.
Ad esempio il caso dell’invio di un email, da un cliente ad un altro all’interno dello stesso
server (ad esempio utilizzano entrambi Gmail), quindi il cliente A manda il messaggio al
server che a sua volta lo trasmetterà al cliente B. Diverso è invece quando il soggetto è dotato
di casella elettronica Gmail, vuol trasmettere la propria email al server Yahoo, in questo
caso la
La fornitura di servizi cloud computing è concentrata in poche imprese che offrono un’ampia
gamma di funzioni ai propri clienti, grazie a grandi infrastrutture di calcolo distribuite.
La scelta di utilizzare un fornitore di cloud è il risultato dell’attività di numerosi data center dei
centri di elaborazione di dati, ciascuno dei quali può consistere in centinaia o migliaia di
calcolatori (server farm).
Oltre a poter fruire di specifici applicazioni informatiche, gli utenti possono anche acquistare
dal fornitore di servizi di cloud, spazi di memoria o addirittura computer virtuali. Nel primo
caso l’utente acquista la disponibilità di una certa quantità di spazio di disco che risiederà su
uno o più dei computer della nuvola nel quale registrare i propri dati, nel secondo caso invece
l’utente acquista un computer virtuale risultante dall’attività di uno o più server all’interno
della nuvola, da utilizzare per le proprie elaborazioni. L’utente potrà accedere ai propri dati o
al proprio computer virtuale, semplicemente collegandosi alla rete internet ovunque egli si
trovi.
Accanto ai notevoli vantaggi, non mancano però le preoccupazioni collegate proprio alla
diffusione del modello di cloud. Tra gli svantaggi troviamo il rischio dell’oligopolio, ossia la
possibilità che poche imprese offrono questo tipo di servizio, e quindi la difficoltà proprio di poter
aver avere una grande cerchia di soggetti che utilizzano questi servizi e il secondo svantaggio
è quello del rischio della privacy di ognuno di fronte alle enormi quantità di dati presenti
nell’infrastruttura del fornitore. Altro elemento da considerare è anche la perdita del
controllo sul proprio sistema di elaborazione da parte degli utenti in quanto il fornitore del
servizio viene poi a disporre di un controllo tecnico sulle macchine e sui programmi, che potrebbe
usare anche per limitare l’attività degli utenti o indirizzarla verso i propri interessi andando
poi a comprimere la libertà dei singoli e la creatività di internet.
L’idea della virtualizzazione nasce quindi non tanto per il problema della privacy, ma per
garantire un sistema più sicuro di conservazione delle informazioni elettroniche, dei dati
digitali, e per far si che questi dati possano esser fruiti facilmente in qualsiasi parte del mondo
ovunque si trovi l’utente che ha deciso di attivare quelle credenziali .
Uno dei fenomeni pervasivi del nostro tempo è proprio il passaggio dall’ analogico al digitale.
Si tratta di una trasformazione tecnologica che riguarda tutti noi, anche se in molti ne hanno
una conoscenza limitata.
Ad esempio con gli anni abbiamo abbandonato il giradischi analogico, a favore del lettore CD;
abbiamo abbandonato la macchina fotografica analogica a favore di quella digitale; stiamo
abbandonando piano piano il telefono analogico (quello di casa) a favore del telefono digitale
e stessa cosa vale anche per la televisione.
Le differenze fondamentali tra le tecnologie analogiche e digitali: confrontiamo ad esempio un
vecchio registratore di cassette e un moderno masterizzatore c’è. Il registratore è dotato di una
testina che percorre il nastro realizzando poi su di esso una struttura fisica che possiamo
definire “traccia”, le cui caratteristiche corrispondono proprio alle caratteristiche delle onde
sonore riprodotte che vengono rilevate dal microfono o dalla testina di lettura. La traccia quindi
è analoga alle onde sonore , per esempio possiamo assumere che la traccia magnetizzata presenti
oscillazioni più alte se il suono è più forte e il passaggio opposto si compie invece quando a
partire dalla traccia si produce il suono corrispondente. Le onde magnetizzate vengono quindi
trasformate in onde sonore analogiche, la traccia analogica è quindi continua.
Il masterizzatore di c’è invece registra il suono in una struttura che non assomiglia al fenomeno
sonoro e il suono viene espresso mediante una sequenza di numeri interi, quindi a partire da
quei numeri il lettore riproduce il suono corrispondente.
Modulo 2
Hardware e software
I primi computer erano in grado di sviluppare una sola funzione: erano costruiti fisicamente per
quello e il programma che doveva svolgerla era integrato direttamente nella costruzione del
sistema. Il risultato era che ogni computer aveva una destinazione specifica: se era stato
costruito per fare somme e sottrazioni non poteva essere utilizzato per gestire i dati di una
rubrica o per scrivere dei testi. I computer attuali invece vanno oltre questo limite e offrono una
versatilità applicativa che consente di utilizzarli ormai in ogni aspetto della nostra vita, dal
lavoro al divertimento, e questo grazie al fatto che l’architettura è suddivisa in due parti,
l’hardware e il software, che interagiscono fra di loro. Tutti i componenti del computer rientrano
in una di queste due categorie.
L’hardware è l’aspetto fisico del computer, i componenti che possiamo toccare.
L’hardware comprende vari componenti del computer come il monitor, la
tastiera, la CPU, praticamente senza di essi il computer non esisterebbe e il
software non servirebbe a nulla.
Il software è l’aspetto non fisico che permette all’hardware di compiere le
operazioni volute dall’utente. Un modo sbrigativo per distinguere tra i due è
che tutto ciò che vediamo quando il computer è spento è l’hardware, mentre
tutto ciò che vediamo sullo schermo è generato dal software.
Il software quindi è costituito da qualsiasi programma che si carica sul
computer, come ad esempio il sistema operativo, il browser, il driver.
Essi è dunque l’insieme del codice che fornisce all’hardware del computer le
istruzioni su come funzionare.
Il computer senza software rimarrebbe una scatola con alimentatori, ventole,
cavi è l’educazione, incapaci di svolgere qualsiasi funzione.
Il software quindi è l’anima dell’hardware e trasforma un ammasso di ferraglia
in una macchina che è in grado di compiere infinite operazioni.
I due componenti hanno vita diversa, l’hardware una volta istallato raramente richiede
modifiche in quanto è difficile che si guasta, certamente con il tempo i componenti tendono ad
usurarsi aumentando la probabilità di guasti fisici, ma di fatto l’hardware resta immutabile. Il
software invece non si usura e non ha una percentuale di guasti che aumenta con il passare
del
L’unità centrale
Il componente fondamentale di un computer è la scheda madre, conosciuta anche
alternativamente come scheda di sistema, scheda di base o scheda piana. La scheda madre è
una scheda a circuito stampato fissata all’interno dello Chassis del computer, che provvede a
fornire l’alimentazione, le comunicazioni tra i componenti del sistema, come l’unità centrale
dell’elaborazione (CPU), la memoria e i connettori per altre periferiche di input e output.
La prima scheda madre fu quella utilizzata nel Personal Computer della IBM.
La scheda madre oltre ad essere presente nei personal computer, è anche presente nei computer
portatili, negli smartphone e nei tablet dove spesso viene definita come scheda logica.
In questi device a causa dei requisiti di menzionare delle schede, i componenti come il processore
e la memoria RAM sono proprio saldati sulla schede, inoltre poiché molti di questi dispositivi
non dispongono di opzioni di aggiornamento, non hanno slot socket per supportare l’aggiunta
o l’aggiornamento dei componenti come nel caso di una classica scheda madre nei personal
computer.
Il componente più importante della scheda madre è l’unità di elaborazione (CPU). Essa ha il
compito di gestire le istruzioni di un programma, eseguendo le operazioni aritmetiche logiche di
controllo e input output specificate da tali istruzioni. Secondo l’architettura di von Neumann,
il ciclo ripetitivo del computer è come primo punto caricare un istruzione della memoria nella
CPU, secondo punto decodificare le istruzioni in comandi, terzo punto eseguire i programmi,
quarto punto salvare i dati in memoria.
L’esecuzione delle istruzioni può rivedere operazioni aritmetiche o logiche nonché il caricamento
o la memorizzazione dei dati “da e verso la memoria”. Terminata l’esecuzione dell’istruzione il
computer recupera l’istruzione successiva dalla memoria e la esegue ripetendo il ciclo
indefinitamente fino a quando non viene incontrata un’istruzione di arresto.
Memorie di massa
La cosiddetta memoria di massa costituisce l’archivio permanente dei dati leggibili e scrivibili
dal computer. Di fatto, la caratteristica principale della memoria di massa è la non volatilità ,
ovvero la possibilità di memorizzare in modo permanente i dati. Questi vengono memorizzati
nei dispositivi id memoria di massa sotto forma di file e possono essere file di programma o
file di dati che contengono informazioni come testi, immagini ecc.
Tutti i dati memorizzati sui dispositivi di archiviazione comunemente utilizzati Eni computer
desktop, server e portatili, sono poi organizzativo in un file sistem. Questo componente consente
di gestire la memorizzazione e il recupero dei file sui dispositivi di memoria all’interno di una
cerchia di cartelle e sottocartelle.
I supporti per le memorie di massa comprendono numerose tipologie e tecnologie che negli ultimi
decenni hanno avuto una notevole evoluzione per garantire l’archiviazione di quantità
sempre maggiori di dati. Ci sono una serie di memorie di massa:
L’unità a disco rigido che sarebbe un dispositivo di memoria di massa che utilizza uno
o più dischi magnetici per l’archiviazione di dati. Un tipico disco rigido è costituito da
uno o più piatti che ruotano rapidamente realizzati in alluminio o vetro e da due testine
per ogni disco, una per lato, che si spostano alla distanza di poche decine di nanometri
dalla superficie del disco per leggere e scrivere i dati. I dati vengono registrati
magnetizzando il sottile strato ferromagnetico, depositato su entrambe le facce dei dischi.
Dopo la formattazione, ogni lato del disco è suddiviso in tracce ad anello e settori,
venendo così a costituire i cilindri virtuali.
L’unità a disco floppy, è un tipo di unità che era destinata alla lettura e scrittura di
dischetti flessibili, quindi un tipo di memoria di massa composta da un sottile disco
magnetico flessibile inserito in un contenitore di plastica rettangolare rivestito di un
leggero tessuto che rimuove le particelle di polvere. Il funzionamento di questi dischi è
analogo a quello dei dischi rigidi con l’unica differenza che le testine di scrittura e
lettura si trovano all’interno dell’unità .
Il disco ottico è costituito da un disco sottile di policarbonato trasparente al cui
interno è inserito un sottile foglio metallico su cui vengono registrate le informazioni
tramite un raggio laser. Le informazioni vengono memorizzate sequenzialmente in una
traccia continua a spirale, da quella più interna a quella più esterna. I dischi ottici sono
particolarmente resistenti agli agenti atmosferici e hanno una grande capacità di
memorizzazione.
Un disco ottico può essere di sola lettura, può essere scrivibile e riscrivibile.
L’unità a nastro che consente di leggere e scrivere dati su un nastro magnetico.
Questa tecnologia è tipicamente utilizzata per l’archiviazione di dati online. I supporti a
nastro hanno un costo contenuto e una lunga durata. Essa fornisce un’archiviazione ad
accesso sequenziale.
L’unità a stato solido che è basata su semiconduttore che utilizzano una tecnologia
allo stato solido per l’archiviazione dei dati. A differenza quindi dei dischi tradizionali
le SSD non contengono componenti meccanici in movimento, cosa che le rende più
resistenti, silenziose e con tempi di accesso più bassi.
La tecnologia SSD utilizza principalmente interfacce compatibili con i tradizionali
dischi rigidi consentente una facile intercambiabilità . Le tecnologie che consentono
alla memoria SSD di essere non volatili, ossia di conservare i dati anche in mancanza di
alimentazione è nota come tecnologia flash e tutte le memorie oggi usate nei
dispositivi mobili sono memorie flash.
Le stampanti
Una stampante è un dispositivo hardware di output esterno che riceve i dati memorizzati su
un computer o un altro dispositivo, e genera una copia a stampa. Le stampanti sono una delle
periferiche per computer più diffuse e sono comunemente utilizzate per stampare testi e foto.
Il funzionamento di una stampante prevede in genere che l’utente utilizzi un’applicazione per
predisporre il contenuto da stampare ed esegua il comando di stampa. I dati di stampa
vengono quindi inviati alla stampante che li interpreta e crea la copia fisica. Esistono
differenti tipi di stampanti in base alla tecnologia utilizzata:
La stampante meccanica ideata da Babbage e essa utilizzava asticelle meccaniche su
cui erano impressi i caratteri in rilievo per stampare il testo.
La stampante a matrice di punti, dove il suo principio operativo si basava
sull’utilizzo di una testina di stampa costituita da una fila verticale di 7 aghi metallici
collegati a solenoidi. La testina è posta d’avanti ad un nastro di inchiostro che scorre
orizzontalmente e quando vene applicata corrente ai solenoidi l’ago viene spinto
contro il nastro di inchiostro che colpisce la carta stampando un punto.
Per Plotter invece paliamo di un dispositivo hardware simile ad una stampante che viene
utilizzato per la stampa di grafici vettoriali su grandi formati, a differenza di una normale
stampante questa può disegnare linee continue mediante penne che vengono mosse sul foglio.
Esistono in questo caso diversi tipi di plotter: Plotter a tamburo che disegnano su una carta
avvolta attorno ad un tamburo che ruota definendo una direzione del tracciato;
Plotter piani che disegnano su un foglio di carta posto su una superficie piana; I plotter
elettrostatici che disegnano su carta caricare negativamente con un toner caricato
positivamente.
Nella scelta dello scanner è importante considerare alcune caratteristiche come: il tipo di
connessione, uno scanner può essere collegato al computer utilizzando varie interfacce e quelle
più diffuse ora sono tramite USB e firewall; Un tipo di alimentazione cioè gli scanner piani
sono gli ideali per l’acquisizione di fogli singoli, un’alimentatore automatico invece è utile per
scansione automatica di una serie di documenti; La velocità di scansione espressa in
margine al minuto che dipende dal formato del documento e dalla risoluzione della scansione;
La risoluzione di scansione che viene misurata in punti per pollice, tanto maggiore è questo
valore tanto più definita è l’immagine acquisita;
Schede di espansione
La categoria delle periferiche comprendi altri componenti che spesso sono ormai parte
integrante della scheda madre di computer e altri dispositivi simili. Le schede di espansione
sono schede elettroniche non comprese nella dotazione standard di un computer e che, una volta
installate, ne espandono le funzionalità . Anche se i progressi degli ultimi decenni in fatto di
miniaturizzazione dei componenti hanno consentito di integrare molte di queste periferiche
direttamente nella scheda madre, esiste sempre la possibilità , soprattutto nei computer desktop
che hanno più spazio a disposizione, di aggiungere o potenziare le funzionalità del sistema.
Ne esistono diverse:
Scheda audio, il suo scopo è quello di elaborare un flusso audio digitale ricevuto in
input in un segnale analogico-digitale da inviare in output ad una periferica audio
come altoparlanti o cuffie audio. La maggior parte delle schede audio consente anche
di ricevere audio in input da microfoni o strumenti musicali che possono essere
successivamente elaborate e digitalizzate grazie ad appositi programmi.
Scheda video, intendiamo una scheda di espansione che genera immagini di output su
un display collegato al computer. Questo tipo di scheda viene inserita nei po’ per
integrare le limitate funzionalità di visualizzazione e consentire la gestione di
immagini e video più complessi. Una scheda video contiene uno o più processori grafici
che gestisce
Modulo 3
Lezione 3.2 – Le caratteristiche dell’algoritmo
La ricetta specifica una serie di operazioni da eseguire per preparare il piatto ed è rivolta
all’essere umano che è fornito dei consueti strumenti di cucina.
In questo caso l’essere umano rappresenta l’esecutore autonomo al quale si rivolge la ricetta.
Tutta via la ricetta da lo spunto ad una serie di considerazione di carattere generale che si
possono trasferire anche in ambito informatico. La prima considerazione riguarda la distinzione
tra il testo della ricetta ed il contenuto informativo della stessa. Ad esempio se il testo fosse
tradotto in un’altra lingua oppure cambiassero i tempi verbali, concorderemo che il testo sia
cambiato, ma al contrario il suo contenuto informativo sia rimasto immutato. La seconda
considerazione attiene al fatto che la ricetta della mousse sia per un cuoco di media
competenza e quindi presenta un livello di precisione che corrisponde alla competenza
digitale dell’ esecutore. La ricetta dovrebbe essere più dettagliata specificando ad esempio come
procedere a far fondere il cioccolato a bagno Maria, oppure come fare per montare gli albumi a
neve ferma se il soggetto fosse un cuoco completamente inesperto. D’altro lato la ricetta
potrebbe essere molto più sintetica se invece fosse destinata a cuochi professionisti. Per
quest’ultimo la prima parte della ricetta potrebbe essere semplicemente sostituita dalla
richiesta di preparare una mistura di burro zucchero e cioccolato. In generale una
specificazione deve essere adeguata al suo esecutore prescrivendo allo stesso solo
azioni che questo è in grado di compiere autonomamente, ma allo stesso tempo
evitando di dettagliare le componenti elementari di azioni complesse che l’esecutore sa
già svolgere in modo adeguato. La terza considerazione è che la nostra ricetta non si limiti
ad indicare un insieme di azioni da compiere, essa indica anche l’ordine nel quale quelle azioni
debbano essere eseguite e specifica come esse debbano essere combinate.
La struttura di base è la seguente: si assume che le azioni si eseguano nell’ordine in cui sono
indicate quindi prima si scioglie il cioccolato, poi si aggiunge lo zucchero, si sbattono le uova
ecc… tutta via alcune azioni si debbono eseguire qualora risulti vera una certa condizione ad
esempio la cioccolata si deve riscaldare se si è rappresa, invece altre azioni si devono ripetere
affinché risulti vera una certa condizione, ad esempio i tuorli si devono sbattere finché non
risultino gonfi e spugnosi. La quarta considerazione riguarda invece la distinzione fra i tre
aspetti innevati nella ricetta, il dato di partenza o input che sarebbero gli ingredienti, il risultato
da raggiungere o output che sarebbe la mousse al cioccolato e infine la procedura e quindi il
piano d’azione da eseguire per raggiungere l’output partendo dall’ input.
La fedele esecuzione della procedura consente di passare dall’input al risultato e se la procedura
è corretta si otterrà poi il risultato desiderato.
In senso generico possiamo dire che un algoritmo per un certo esecutore è una
combinazione precisa ed univoca di azioni eseguibili autonomamente da parte di
un’esecutore senza la necessità di un aiuto da parte di altri che consentono quindi di
risolvere un problema. Un algoritmo eseguibile da un esecutore automatico deve
possedere rigorosi requisiti di precisione ed univocità che mancano in una ricetta da
cucina. Ad esempio la ricetta contiene delle indicazioni imprecise come riscaldare
molto, scaldare leggermente e ogni caso contiene istruzioni da applicare con buon
senso o capacità umane che non esistono in un esecutore automatico.
Un algoritmo possiamo definirlo come una sequenza di istruzioni che specifica una
combinazione di azioni da compiere per risolvere un problema, ciò vale tanto per le
procedure che riguardano le operazioni materiali come ad esempio la creazione di una ricetta,
tanto per quelli che riguardano elaborazioni simboliche. Tutta via nel campo dell’informatica
le azioni da considerare sono solo quelle computazionali che consistono in elaborazioni
simboliche. Ogni azione indicata nell’ algoritmo, deve essere eseguibile da parte dell’
esecutore dell’algoritmo, o in quanto l’esecutore possegga la capacità di svolgere tale
operazione in un unico passo, o in quanto l’esecutore conosca un ulteriore algoritmo che
specifichi come la nuova azione possa risultare da una combinazione di azioni che l’esecutore
sa già eseguire.
Inoltre non devono esserci dubbi per quanto riguarda l’ordine nel quale eseguire le azioni per
qualsiasi azione della procedura, l’algoritmo deve quindi individuare l’azione successiva. La
certezza sull’ordine di esecuzione non esclude che l’ordine dipenda da condizioni la cui
verifica è affidata all’esecutore stesso, anzi le istruzioni algoritmi che sono spesso
condizionate, tutta via una volta che abbiamo verificato quelle condizioni, l’esecutore deve
essere in grado di determinare in modo univoco la prossima azioni da seguire.
Proprietà dell’algoritmo
Finitezza: L’algoritmo deve portare alla soluzione in un numero finito di passi;
Generalità: l’algoritmo non risolve un problema, ma un classe di problemi;
Non ambiguità: le istruzioni indicate sono specifiche univocamente, cosicché la loro
esecuzione avviene sempre nello stesso modo, indio ed temente dall’ esecutore;
Ripetibilità: dati gli stessi dati in input l’algoritmo deve fornire gli stessi risultati in
output.
Anche l’efficienza è un aspetto molto importante all’interno degli algoritmi. Alcuni algoritmi
hanno processi che sono molto efficienti e che in breve tempo conducono alla soluzione del
problema, altri invece generano processi molto meno efficienti che conducono poi alla soluzione
del medesimo problema in tempi molto lunghi. Per misurare l’efficienza di un algoritmo, non
basta quindi considerare il suo comportamento in relazione ad un input particolare, infatti un
algoritmo non da vita d un solo processo di esecuzione ma ha diversi processi di diversa
lunghezza a seconda dell’ input che gli è stato fornito.
Di regola tutti gli algoritmi corretti hanno risposte sufficientemente apice, se applicate ad
input di piccola dimensione, il problema invece nasce quando l’input diventa di grandi dimensioni,
per questa ragione nel valutare l’efficienza degli algoritmi se ne considera la complessità
computazionale, che fa riferimento al rapporto tra due termini:
L’aumento dell’ampiezza dell’input di un algoritmo;
L’aumento della lunghezza del processo di esecuzione dell’algoritmo stesso.
Negli algoritmi con bassa complessità computazionale, l’aumento dell’ampiezza dell’input
determina un piccolo aumento della lunghezza del processo di esecuzione, un esempio di
algoritmo con complessità molto bassa è la ricerca binaria.
Come sappiamo, ogni lettura di un nome dell’elenco, dimezza la lunghezza della lista ancora
da considerare, quindi il raddoppio dell’ampiezza dell’elenco da esaminare, richiede un
aumento minimo della lunghezza del processo di esecuzione, cioè una sola lettura in più ,
effettuata alla quale ci troviamo a considerare un elenco dimezzato.
Negli algoritmi con media complessità computazionale, la lunghezza del processo di
esecuzione cresce in proporzione all’ampiezza dell’input. Si dice che tali algoritmi hanno una
complessità lineare, per esempio, nell’esecuzionedell’algoritmo per la ricerca sequenziale in
un elenco telefonico, il raddoppio della lunghezza dell’elenco comporta in media il raddoppio
del numero dei nomi da leggere per giungere al nome cercato.
Negli algoritmi invece con alta complessità computazionale, l’aumento dell’input determina
un aumento più che proporzionale, della lunghezza dei processi di esecuzione, tanche che ad
un certo punto diventa poi impossibile eseguire l’algoritmo in un tempo ragionevole.
Il modello così illustrato è quello tradizionale dello sviluppo a cascata. Questo modello è seguirò
nello sviluppo di molti grandi progetti nello sviluppo software.
Come indicano le linee tratteggiate in figura, bisognerà risalire la cascata se emergono problemi,
fino al livello al quale i problemi possono essere risolti in modo adeguato, se vi sono errori o
mancanze bisognerà riprogrammare le parti del software sbagliate o insufficienti. L’esigenza
di riprogrammare potrà condurre poi a mettere in discussione la progettazione, e la necessità
di riconsiderare la progettazione potrà portare a riesaminare aspetti dell’analisi.
Il modello a. A cascata presuppone che lo sviluppo del software proceda ordinatamente sulla
base di un piano globale, le cui linee direttrici vengono progressivamente specificate e attuate
avanzando ordinatamente nelle successive fasi del progetto. Tale modello, giustificato nella
misura in cui è possibile procedere in modo ordinato e coordinato, passando dal generale al
particolare, secondo assunzioni stabili e precise. Tuttavia esso espone al rischio che eventuali
errori negli assunti di partenza, rilevabili solo mediante l’esecuzione dei programmi, si
manifestino molto tardi, quando il software è ormai completo. Questo modello inoltre sembra
implicare un’organizzazione centralizzata e gerarchica e in qualche modo autoritaria del lavoro,
nella misura in cui le diverse fasi di sviluppo, in particolare la progettazione e la
programmazione, affidate a soggetti diversi, dotati di competenze decrescenti.
In alternativa al modello a cascata sono poi stati posti dei modelli di sviluppo nei quali si fa
più spazio alla sperimentazione e al decentramento e si parla al riguardo di programmazione
iterativa, in particolare nello sviluppo di progetti di software open-source, l’accento si pone sulla
collaborazione basata su iniziative autonome dei singoli più tosto che sull’organizzazione
pianificata del lavoro. Una volta che il software sia entrato in funzione, il lavoro informatico non
cessa, si entra nella fase di manutenzione, termine con cui si fa il generico riferimento agli
interventi successivi intesi a migliorare il funzionamento del software.
A riguardo si può distinguere una manutenzione correttiva che è volta a rimediare agli
errori sfuggiti nella fase di verifica, e una manutenzione integrativa che è volta ad arricchire
il software di nuove funzioni. Nella manutenzione integrativa a sua volta possiamo
distinguere le integrazioni necessarie perché il software possa svolgere a pieno le proprie
funzioni.
Tipologie di software
Sotto il profilo della funzione, si possono distinguere le seguenti tipologie di software:
Software di sistema, che offrono le funzioni di base per il funzionamento del sistema
informatico. Al software di sistema appartiene ad esempio il software operativo che
sovrintende al funzionamento del calcolatore facendosi carico di attivare l’esecuzione
di programmi, di gestire il funzionamento della memoria e dei dispositivi di
memorizzazione e di offrire un’interfaccia verso l’utente;
Software di programmazione, destinato alla realizzazione di applicazioni
informatiche, allo sviluppo di nuovi programmi e sistemi. Esso comprende l’interprete
o il compilatore necessari per rendere eseguibile il programma sorgente e inoltre vari
strumenti destinati ad agevolare la scrittura e la correzione dei programmi, a tracciare
grafici e i disegni che rappresentano le architetture;
Software applicativo, che comprende i programmi che svolgono le funzioni di cui
l’utente ha bisogno. Questi software sono dedicati alle attività più diverse come la
preparazione dei testi, la gestione dei database, l’automazione industriale, i giochi
elettronici e la gestione di procedure amministrative.
Sotto il profilo del loro utente, i software si possono distinguere in:
Pacchetti standardizzati, cioè destinati a rispondere alle esigenze di una vasta
cerchia di utenti e offerti ad essi in un’unica forma che ammette spesso successivi
adattamenti che possiamo definire personalizzazioni da parte dell’utente;
Software su misura, che sono sviluppati proprio per esigenze specifiche si uno o più
clienti.
Oggi chi si accinge a sviluppare un programma informatica non è più il pioniere che, giunto in
una terra disabitata, provvede da solo a tutte le proprie necessità , costruendo tutto ciò di cui
ha bisogno. Ormai il mondo dell’informatica è un ambiente densamente popolato, dove
coesistono numerosi prodotti software in grado di rispondere a gran parte delle esigenze e dove,
anzi, molti problemi si possono risolvere solo grazie alla cooperazione e alla coordinazione dei
sistemi informatici esistenti, usando strumenti già disponibili.
La necessità del coordinamento di componenti molteplici eterogenee si è fatta ancor maggiore
grazie ad internet, per esempio un programma destinato a operare nell’ambito del processo
telematico, dovrà coordinarsi con diversi software, tutti destinati a funzionare, in tutto o in
parte, su un’elaboratore.
L’esigenza del coordinamento, si pone anche nell’ambito di singole applicazioni informatiche,
infatti un grande sistema software è comprensibile all’uomo solo se modularizzato, ossia
suddiviso in unità indipendenti di dimensioni ridotte, padroneggiati dalla mente umana.
Il singolo programmatore, sviluppa singoli moduli di un progetto complessivo, cui
partecipano anche altri programmatori, e anche i singoli moduli risultano spesso dalla
combinazione di software preesistenti, tratti quindi da ampie raccolte di programmi dette
anche librerie software.
Lo sviluppo di un sistema software, consiste pertanto nella creazione di un ambiente nel quale
i diversi oggetti possano interagire e poi nella definizione di ciascuno di essi, specificandone
l’interfaccia verso l’esterno e i programmi con i dati che contiene. Pensiamo alla creazione di un
videogioco: il programmatore, oltre a creare il personaggio del videogioco, ha specificato le
diverse classi di personaggi che partecipano al gioco, ciascuna delle quali è caratterizzato da
certe regole di comportamento, in funzione dei messaggi che può ricevere da altri oggetti (ad
esempio i colpi ricevuti, premi vinti) e dotata di certi attributi (ad esempio il numero di colpi a
disposizione, il livello di potenza ecc.).
I metodi di cui un oggetto è dotato e i suoi attributi, sono quelli associati alla classe che gli
riguarda , ma i diversi oggetti della stessa classe, possono avere diversi valori per i propri
attributi, per esempio, diversi personaggi di uno stesso tipo potranno aver ricevuto un
diverso numero di colpi o aver accumulato un diverso numero di vite.
Lo stesso utente del sistema una volta che abbia inserito i propri dati, può essere
rappresentato da un oggetto del sistema, i cui attributi sono associati valori corrispondenti ai
dati dell’utente. Quando il comportamento dell’oggetto che rappresenta l’utente è controllato
interattivamente dall’utente stesso, si dice che esso ne costituisce l’AVATAR ossia il corpo
virtuale. Gli avatar sono usati in particolare nei videogiochi e nei sistemi per la realtà virtuale
nei quali sono raffigurati come icone che possono essere bi o tridimensionali capaci di
movimento. Ovviamente dobbiamo sempre ricordare che il calcolatore resta un fedele esecutore di
istruzioni, espresse nel suo linguaggio macchina anche quando esso anima un sistema
informatico consistente di molteplici oggetti di interazione. L’esecuzione di tali istruzioni
determina il comportamento degli oggetti e la dinamica dell’interazione tra gli oggetti.
Negli ultimi anni si parla del passaggio di un’architettura basata sugli oggetti ad una basata su
servizi, e potremmo caratterizzare quest’evoluzione mediante la metafora “l’oggetto software da
lavoratore dipendente che esplica la sua funzione all’interno dell’impresa nella quale opera e
nella quale è stato formato, si trasformi in lavoratore autonomo, che svolge un certo servizio per
chiunque lo richieda” , ciò implica che l’oggetto software anziché essere racchiuso nell’ambito
di un particolare sistema, dovrà esser capace di interagire con qualsiasi persona ne richieda il
servizio o secondo convenzioni condivise. L’oggetto software diventa quindi il fornitore di un
servizio, servizio che deve esser ben definito e suscettibile di esser fornito in modo
indipendente.
Reticolo di nodi
Considerando questo reticolo di nodi, anche se il collegamento diretto tra due nodi, ad
esempio B ed È , venisse ad interrompersi, tutti i nodi resterebbero accessibili utilizzando
diversi collegamenti, ad esempio un messaggio potrebbe viaggiare da B ad E seguendo il
cammino B A C E oppure il cammino B D G E, allo stesso modo se un nodo dovesse
scomparire, ad esempio quello B, tutti gli altri nodi rimarrebbero in comunicazione.
Questa indifferenza rispetto ai contenuti veicolanti costituisce la neutralità della rete, che
rappresenta innanzitutto un’importanza garanzia di innovazione decentrata: la rete può
essere usata per qualsiasi nuova soluzione tecnologica o nuovo modello economico, la sua
organizzazione non impone vincoli agli utenti. La neutralità della rete ha inoltre implicazioni
sociali e politiche: comporta l’assenza discriminazioni rispetto al contenuto del messaggio
veicolato e rispetto alla natura del mittente.
Tale neutralità verrebbe meno qualora la rete fosse predisposta in modo da dare precedenza ai
messaggi forniti da certe categorie di mittenti. La neutralità della rete inoltre non esclude che
la trasmissione di certi contenuti sia vietata dal diritto, ne che certi messaggi siano eliminati al
punto di arrivo, come quando si adottavano filtri anti spamming; Essa esclude però che
l’attuazione dei divieti giuridici o delle preferenze di certi utenti possa essere affidata alla rete
stessa. Recentemente autorevoli voci, oltre a rappresentati dell’industria delle
telecomunicazioni e anche alcuni studiosi importanti, hanno affermato la necessità di voler
superare la neutralità della rete, offrendo a pagamento condizioni preferenziali, una maggiore
velocità , ai pacchetti che presentano certe caratteristiche, inviati da certi fornitori di
informazioni contenenti determinati contenuti destinati a determinati utenti. Si otterrebbero
così risorse che potrebbero essere utilizzate per potenziare le infrastrutture di internet, di
conseguenza si dice anche che grazie all’abbandono della neutralità della rete, si otterrebbe un
miglioramento di pareto, cioè si passerebbe dalla situazione è attuale nella quale tutti si devono
accontentare di un servizio modesto, ad una nuova situazione nella quale alcuni (chi è disposto
a pagare) potrebbero ottenere un servizio migliore senza peggiorare il servizio offerto agli altri,
o forse quest’ultimo potrebbe migliorare in seguito al grande potenziamento delle infrastrutture
reso possibile dai nuovi investimenti.
Molte autorevoli voci sono contrarie all’abbandono della neutralità della rete, si teme che ciò
comporterebbe gravi pericoli per lo sviluppo di internet e per l’economia della rete, potrebbe
comportare un peggioramento del servizio per chi non può pagare il prezzo richiesto per
prestazioni superiori a pagamento, potrebbe condurre a violazioni della concorrenza, potrebbe
anche mettere a rischio la stessa creatività di internet, inoltre si teme che l’abbandono della
neutralità della rete metterebbe a rischio la libertà di espressione e la democrazia su internet.
Queste diverse anime sono potute coesistere e hanno potuto comunicare grazie alla condivisione
dei protocolli e più in generale degli standard di internet, ma anche grazie al fatto che
l’architettura della rete ne ha fin ora garantito la collettività .
Agli inizi quando internet era utilizzato da un numero illimitato di persone, spesso implicate
nella sua costruzione, le componenti tecnico meritocratiche e hacker erano le principali
ispiratrici della rete. Internet appariva ai suoi primi utilizzatori, soprattutto studiosi di
informatica o sviluppatori software, come un ambiente aperto, a possibilità inesplorate di
azione, interazione e cooperazione.
Gli hacker
Si noti che il termine hacker è spesso usato per denotare chi si introduce in sistemi
informatici altri contro contro la volontà del titolare del sistema, in particolare al fine di
accedere a informazioni riservate o di compromettere il funzionamento del sistema. La
cultura hacker rifiuta però tale accezione e identifica invece gli hacker in chi si rapporta in
modo liberatorio creativo e inventivo all’informatica
L’hacker è insofferente rispetto alle restrizioni, alla sua libertà informatica ma non intende far
un’isola digitale di tale libertà in modo malevolo, anche quando accede a sistemi informatici
superandone le misure di protezione.
Gli hacker riservono il termine cracker a chi invece danneggia il funzionamento dei sistemi o
comunque opera nel mondo dell’informatica in modo distruttivo o asociale.
Grazie ad internet le persone che condividevano gli stesso interessi, potevano coltivarli insieme,
si parla quindi di individualismo collegato in rete per indicare questa particolare attitudine
che condurre alla costruzione di comunità settoriale, potremmo dire che all’un9ca comunità
di internet nascente si sostituisce la frammentazione in un insieme di comunità rivolte ad interessi
particolari.
L’idea della condivisione non è però sparita, in particolare si estende aldilà del software verso
altre forme di creatività intellettuale, infatti internet unita agli sviluppi di altre tecnologie
informatiche comporta una drastica riduzione dei costi legati alla produzione e alla
distribuzione dell’informazione, ciò ha consentito ad individui e gruppi di contribuire
attivamente alla creazione di opere dell’ingegno, anziché limitarsi ad accedere ai contenuti
disponibili in rete per indicare questa nuova dimensione di internet enfatizzando la novità
rappresentata dal contributo creativo degli utenti, si usa per questo il termine WEB 2.0. Da
qui quindi sono nate nuove forme di collaborazione distribuita che hanno esteso a nuovi
ambiti il modello del software open source e si consideri in particolare il progetto di
Wikipedia che ha condotto in poco tempo alla creazione cooperativa di un enciclopedia enorme
di elevata qualità , liberamente e gratuitamente, accessibile a tutti.
Il dubbio però è che sono state le attività commerciali a caratterizzare maggiormente lo
spirito di internet negli ultimi anni, e proprio in questo campo è possibile ravvisarne una
duplice dialettica, in quanto da un lato internet ha rivoluzionato molte attività produttive e
commerciali, consentendone l’articolazione su scala globale, e modificandone profondamente lo
svolgimento (i rapporti con clienti e fornitori, le strutture interne alle aziende ecc.). Si tratta di
un cambiamento che va ben al di là del commercio elettronico in senso stretto (uso di internet
come mezzo di comunicazione tra clienti e commercianti). D’altro lato le attività economiche
hanno modificato profondamente internet che si è arricchito di spazi dedicati all’attività
commerciale come ad esempio la pubblicità , negozi e centri commerciali, caratterizzati da nuovi
prodotti, come le opere in formato digitale, nuove forme di distribuzione ossia lo
scaricamento
Il processo di standardizzazione
Il processo dello standardizzazione ha finora garantito l’allineamento tra la qualità dello
standard e la sua “salienza”, tra la razionalità collettiva dell’adozione dello standard e la
razionalità individuale della scelta di confermarsi a esso.
Molti ritengono, però che tale allineamento diventi progressivamente più difficile, in seguito
ai crescere degli interessi economici e politici implicati nel funzionamento di internet. La
comunità di internet si sta pertanto interrogando su come assicurare, anche in futuro, la
qualità e l’imparzialità delle scelte riguardanti internet, garantendone l’eccellenza tecnologica
e proteggendole dalla pressione degli interessi particolari, sia economici che politici.
Le opinioni al riguardo sono assai diverse, c’è chi ritiene che internet una volta divenuta
risorsa essenziale allo sviluppo della comunità non possa sfuggire ad un controllo politico
facente capo agli stati nazionali e alle comunità internazionali, altri invece ritengo lo che solo
mantenendosi separata rispetto alle istituzioni politiche, anche a livello internazionale,
internet possa conservare la propria eccellenza tecnologica e la propria imparzialità ; quindi
l’idea del controllo su internet da parte della comunità internazionale, è stata poi discussa su
iniziativa delle Nazioni Unite, nell’ambito degli incontri del vertice mondiale sulla società
dell’informazione, tenutasi a Ginevra nel 2003 e successivamente a Tunisi nel 2005.
Il cyber spazio, rappresenta la nuova casa della mente ed è dotato di una propria struttura,
etica, di un codice non scritto che fornisce più rodine di quanto possa essere realizzato dalle
imposizioni del governo, per tanto non ha bisogno della politica e del diritto, è capace di
autoregolarsi e di risolvere da solo i propri conflitti con i propri metodi.
Le modalità di funzionamento dei sistemi informatici della rete infatti, determinano quali
comportamenti siano possibili e quali impossibili, ad esempio se si possono prelevare certi
documenti, partecipare a certe discussioni, quali azioni siano osservate e registrate e quali
azioni restano invece anonime e non lasciano traccia, ad esempio se rimanga traccia della
email che abbiamo inviato o delle nostre interazioni con certi siti e così via.
Come possiamo vedere nella precedente foto, le prime cifre del numero identificano la rete in
cui il calcolatore afferisce, mentre le ultime cifre identificano un particolare calcolatore
all’interno di quella rete.
Un calcolatore può avere un proprio indirizzo IP permanente, è così per i calcolatori
permanentemente collegati alla stessa rete o può ricevere ogni volta che si collega in rete, un
diverso IP temporaneo che torna poi disponibile dopo il collegamento e può essere assegnato ad
un nuovo utente, e questo è il caso dei calcolatori che utilizzano internet mediante collegamento
telefonico via radio. È sempre possibile individuare l’indirizzo, utilizzando il sistema in base al
quale è stata compiuta una certa operazione in rete, come ad esempio lo scaricamento di un
file, l’invio di un messaggio di posta. Ciò può consentire in. Molti casi per esempio nell’ambito
di una indagine di polizia, l’individuazione della persona che ha compiuto quella particolare
operazione.
L’assegnazione di un particolare indirizzo IP, è un operazione di solito controversa, cioè un
numero vale l’altro e al richiedente è assegnato il primo numero libero tra quelli disponibili nella
rete a cui egli afferisce.
I nomi di dominio
Come si può vedere nelle foto, un nome di dominio si costruisce combinando più parole separate
da punti. Nell’analisi del nome si parte dalla fine, cioè l’ultima parola è un suffisso che indica la
nazionalità dell’ente cui il nome appartiene o il tipo di attività svolto dall’ente stesso, nel caso
di un nome privo di suffisso nazionale (gov per gli enti afferenti a una pubblica amministrazione,
org per gli enti senza scopo di lucro, com per gli enti commerciali, ecc.).
Tale suffisso è preceduta da una parola che solitamente indica l’ente cui fa capo il dominio che
può essere ancora preceduta da ulteriori specificazioni, qual’ ora il dominio afferisca una
ripartizione all’interno di quell’ente.
Un nome di dominio identifica quindi un dominio, cioè un gruppo di indirizzi per identificare poi
un particolare calcolatore appartenente a quel dominio. Bisogna poi anteporre al nome di
dominio un ulteriore specificazione, ossia il nome dell’host, il calcolatore collegato ad internet
che desideriamo contattare, aggiungendo al nome di dominio il particolare nome dell’host che lo
contraddistingue all’interno del dominio, il calcolatore in cui voliamo fare riferimento, otteniamo
poi il nome di dominio completamente qualificato che identifica quel particolare calcolare, per
esempio ad esempio aggiungendo l’host nome Mozart al nome di dominio “giuri.unibo.it” ottengo
il nome di dominio completamente qualificato.
Aggiungendo ad un nome di dominio completamente qualificato il prefisso “www”, richiamiamo
il servizio web svolto da quel calcolatore ad esempio www.Mozart.giuri.unibo.it così come
aggiungendo il prefisso andiamo a richiamare il servizio di posta elettronica, premettendo il
nome di un servizio direttamente al dominio cioè digitando ad esempio “giuri.unibo.it, ci
colleghiamo poi al calcolatore deputato a svolgere quel servizio all’interno del dominio, esiste
quindi un infrastruttura chiamata sistema dei nomi di dominio, che si occupa proprio di tradurre
i nomi di dominio completamente qualificato in indirizzi IP, e tale infrastruttura consta di una
rete di calcolatori, i server DSN, i quali fungono da elenco telefonico di internet, quando il nostro
browser deve accedere ad un calcolatore di cui abbiamo indicato il nome di dominio; esso quindi
invia il nome di dominio ad un server DNS che risponde inviando il corrispondente indirizzo
IP. L’innovazione consistente nell’ affiancare i nomi di dominio agli indirizzi IP numerici ad un
rilievo tecnologico limitato, cioè si tratta delle creazione gestione di un elenco
utilizzataautomaticamente, ma ha un grande impatto giuridico e sociale, impatto che poi
evidenza i problemi causati dall’estensione di internet alle attività economiche. Tale
estensione ha condotto alla perdita dell’innocenza della rete, quindi come luogo di pacifica e
produttiva collaborazione, e alla sua omologazione al mondo fisico.
I nomi di dominio sono diventati presto oggetti di controversi che hanno evidenziato attitudini
ben diverse rispetto allo spirito cooperativo delle origini di internet.
Log file
Nella figura sopra sono rappresentate le registrazioni su un log file di due operazioni di accesso.
La prima registrazione con un determinato indirizzo IP concerne poi un’operazione compiuta
dal robot indicizzatore di google, che ha fatto l’accesso al sito l’8 ottobre del 2007 alle ore 04:54:20
per estrarre poi i termini da inserire nell’indice del motore di ricerca.
La seconda registrazione invece, riguarda un normale accesso effettuato mediante il browser
Mozilla, del calcolatore cui era stato assegnato quel numero IP, l’8 ottobre del 2007 alle 11:17:55.
Si è discusso quindi se l’informazione registrata in un log file si possa considerare un dato di
tipo personale anche se l’informazione che una certa persona abbia compiuto in rete per certe
attività , è un’informazione personale e il log file non consente poi di collegare
immediatamente la descrizione dell’attività al suo autore perché si limita poi ad associare un
indirizzo IP.
I cookie
Le informazioni regalate nel log file di un sito sono insufficienti a identificare un determinato
calcolatore: il meccanismo dell’allocazione dinamica fa si che uno stesso IP possa essere
assegnato a diversi calcolatori in momenti successivi, e che uno stesso calcolatore possa ricevere
diversi IP.
Ciò impedisce in particolare di costruire la storia dell’interazione di un determinato utente
con il sito e i diversi accessi di una stessa persona, essendo normalmente effettuati con diversi
IP. La storia dell’interazione è particolarmente rilevante per i siti commerciali, perché può
consentire loro di personalizzare la comunicazione con l’utente, per esempio se l’utente si è
già registrando fornendo i propri dati anagrafici si potrà limitare di chiedere nuovamente quei
dati, se l’utente ha memorizzato gli acquisti a cui è interessato nel proprio cartello virtuale di
spesa, gli si potrà ripresentare il carrello chiedendogli se intenda procedere agli acquisti.
Se l’utente ha già compiuto acquisti o espresso preferenze, sarà possibile fornirgli informazioni
e suggerimenti; La soluzione comunemente adottata poter raggiungere tali risultati, consiste
poi nell’utilizzo dei cookie che sarebbe un insieme di dati invitai dal sito, e memorizzati dal
browser in un file che risiede sul calcolatore dell’utente. Quando un calcolatore si collega per la
prima volta ad un certo sito, quest’ultimo gli invia un cookie caratterizzato da uno proprio
identificatore univoco. Ogni qualvolta il calcolatore si collegherà al sito, il cookie
precedentemente inviato viene rispedito al sito e quest’ultimo quindi sa che il nuovo cookie è
stato compiuto proprio dal calcolatore quale aveva precedentemente inviato i cookie.
I cookie certai da un certo dominio sono successivamente rispedito solo a quel dominio.
I cookie sono semplici dati, non virus e non danneggiano neanche e il calcolatore, che però
allo stesso tempo comportano dei rischi per la privacy.
Il sito quindi potrà ipotizzare che l’utente abbia certe caratteristiche, esigenze, ma anche
condizioni economiche, sociali e di salute, appartenenza a gruppi etnici, orientamenti culturali
oppure sessali, e su questa base il sito potrà inviare una pubblicità mirata, oppure un’offerta
personalizzata che però . Non necessariamente sono le più favorevoli per l’utente. L’utente
inoltre potrà gradire l’invio di indicazioni e suggerimenti personalizzati e invece reagire
negativamente al tentativo di cogliere aspetti della sua personalità , all’invio anche di messaggi
che non sono richiesti.
Gli standard
Lo sviluppo delle tecnologie di internet fa capo all’ISOC, che costruisce “un’organizzazione senza
fini di lucro, fondata nel 1992 per essere guida negli standard, l’educazione e le politiche relative
a internet”, con sedi a Reston, in Virginia e a Ginevra, in Svizzera. Benché la partecipazione a
ISOC sia aperta a tutte le persone interessate a contribuire allo sviluppo di internet, ISOC non
è governata secondo il modello della democrazia rappresentativa, che richiederebbe poi
l’affidamento delle scelte più importanti a organi eletti con l’eguale voto degli iscritti.
Il principio democratico è realizzato, alla possibilità di accedere alle informazioni, in particolare
ai documenti di lavoro e di esprimere delle idee, le scelte invece sono affidate agli organi
collegiali prevalentemente tecnocratici conformati in modo da garantire la presenza di
competenze tecniche e di specialisti, accanto alla rappresentanza dei diversi interessi
implicati nello sviluppo si internet.
La formazione del web 2.0 p stata resa possibile dalla disponibilità di piattaforme per la
condivisione di contenuti, nelle quali l’utente può liberamente trasferire i propri contenuti (testi,
tracce musicali, filmati); rendendoli accessibili al pubblico. La pubblicazione dei contenuti è
un’operazione facile, rapida e gratuita, alla portata anche degli utenti più inesperti
Esistono numerose piattaforme per a condivisione dei contenuti, analizziamo in questo caso due
piattaforme: La prima è quella dell’SSRN e YouTube che invece fornisce filmati di ogni genere.
Ad esempio la SSRN, contiene circa 2080 sommari e 2050 mila contributi nel campo delle scienze
giuridiche e sociali che sono liberamente scaricabili e gratuiti.una volta che ci si registra
presso il sito, l’autore può pubblicare online i propri contenuti rendendoli accessibili a tutti,
può limitarsi ad inserire sul sito solo il sommario del proprio contenuto, ma generalmente si
mette online anche il contributo completo; in questo modo l’autore può ottenere da altri
utenti della stessa piattaforma, indicazioni e commenti utili per completare l’articolo e
aggiustarlo per eventuali difetti. Quindi è disponibile sull’SSRN, un’enorme quantità di
contributi ed è diventato poi un punto di partenza indispensabile per compiere un’attività di
ricerca.
YouTube invece è il più popolare tra i siti per la condivisone di filmati e di tracce musicali online,
creato nel 2005, conobbe poi una grandissima popolarità e fu acquisito da google nel 2006.
YouTube è anche tra i siti più visitati in internet; tutti possono accedere ai filmati su YouTube,
mentre chi si registra presso il sito può anche caricare un numero illimitato di filmati. Di
regola i filmati non possono essere scaricati, ma possono essere visualizzati solo all’interno
della piattaforma. Gli utenti che poi accedono ad un filmato, possono inserire commenti su di
esso ed esprimere le proprie valutazioni, possono in oltre segnalare video sconvenienti ed
illegali sollecitandone la rimozione. Per tanto gli utenti contribuiscono a YouTube non solo
caricando i filmati ma anche pubblicando le proprie riflessioni, opinioni, riflessioni sui filmati
che sono poi messi a disposizione di tutti gli utenti del sistema.
Le raccolte di materiale online hanno condotto poi una serie di problematiche anche di natura
giuridica attenente al diritto d’autore e alla protezione dei dati. I problemi sul diritto d’autore
nascono dalla pubblicazione online di contenuti protetti Enza il consenso del titolare dei diritti,
in particolare si tratta di stabilire se accanto a chi abbia caricato il video, possa considerarsi
responsabile anche il gestore della piattaforma; problemi invece sulla protezione dei dati
nascono in una duplice direzione, perché da un lato si tratta del trattamento non autorizzato o
comunque illegale dei dati concernenti le persone che hanno caricato i filmati online, dall’altro
invece si tratta di dati afferenti alle persone raffigurate all’interno del filmato, ad esempio
immagini di persone contenute all’interno del filmato che possono essere dati personali in
Caso Facebook
Facebook e di origine 2005 presso l’università di Harvard, nella quale esisteva la
consuetudine di distribuire ai nuovi studenti, al fine di facilitare la conoscenza reciproca, un
volume che riportava le foto di tutti i nuovi iscritti. Mark Zuckerberg uno studente di
informatica, Ebbe l’idea di informatizzare il volume e inoltre di renderlo user-gender (prodotto
dagli utenti), e non più dall’amministrazione universitaria.
Gli studenti stessi avrebbero quindi fornito la propria forte e le informazioni con le quali
presentarsi ai colleghi, con la collaborazione di alcuni compagni, realizzò un sito, atto a svolgere
questa funzione, e lo mise poi a disposizione degli studenti di Harvard. Il successo di questo sito
fu rapidissimo, tanto è vero he nel giro di pochi mesi, la maggior parte degli studenti di tale
università , si registrò presso questo sito, che fu messo poi anche a disposizione di altre
università , fino ad aprirlo alla generalità degli utenti.
Oggi Facebook è utilizzato da circa 500milioni di persone e la sua funzione fondamentale è
proprio quella di definire il proprio profilo, condividere delle connessioni e partecipare a delle
comunità . Il sito consente a ciascuno di decidere con chi condividere i dati del proprio profilo,
per esempio consentendone l’accesso solo ai propri amici; esso richiede anche l’accordo delle parti
per la loro partecipazione ad una nuova connessione, quindi chiunque può offrire ad altri la
propria amicizia, ma la connessione si attiva solo se l’offerta è accettata, così che il grafo sociale
si allarga proprio con il consenso dei nodi direttamente interessati.
Facebook è stato caratterizzato da una rapida evoluzione, arricchendosi anche di una serie di
funzioni aggiuntive, cioè gli utenti ad esempio possono inviarsi messaggi utilizzando un
applicazione per la messaggistica che è sempre interna però alla piattaforma Facebook, poi
ogni profilo è dotato di una bacheca sulla quale gli amici possono inserire i propri messaggi, il
titolare
Resta irrisolta la questione tra privacy individuale e le dinamiche comunicative nelle reti sociali,
una volta che qualcuno abbia aperto il proprio profilo ad altri diventa poi difficile se non
anche impossibile controllare l’ulteriore riutilizzo che questi facciano delle informazioni cui
hanno avuto accesso e quindi poi la disciplina delle reti sociali richiede un bilanciamento
difficile tra le esigenze e i valori in conflitto, perché da un lato noi abbiamo la possibilità di
tutelare la privacy, dall’altro invece la libertà di informazione, di comunicazione e di
espressione.
Il termine blog può essere utilizzato in due modi: con riferimento allo strumento utilizzato
per la realizzazione del sito, oppure con riferimento alle funzionalità di cui il sito è dotato,
funzionalità che possono essere realizzate anche in siti web tradizionali, seppur con uno
sforzo maggiore.
La pratica dei blog ha determinato, due fondamentali innovazioni nell’uso della rete:
La prima innovazione è l’accresciuta dinamicità , anche prima dei blog esistevano
numerosi siti personali nei quali una o più persone presentavano se stesse e
mettevano poi a disposizione del pubblico materiale di vario genere, possiamo fare come
esempio un sito universitario dove il docente presenta il proprio curriculum. Tutta via
questi siti erano tendenzialmente statici, o comunque caratterizzati da periodi d
stabilità interrotti da occasionali o periodiche modifiche quando ad esempio l’interessato
acquistava nuove qualifiche, oppure andava a produrre nuove opere o avviava nuove
iniziative. I blog invece sono di regola dinamici, cioè in essi, nuove informazioni sono
pubblicate di continuo, spesso anche con una frequenza giornaliera o anche più
elevata;
La seconda innovazione è l’accresciuta interattività , ossia anche prima dei blog era
possibile comunicare con il titolare del sito, inviandogli messaggi di posta elettronica
oppure in alcuni casi, sfruttando forum o gruppi di discussione collegati al sito. Tutta
via di regola i materiali presentati sul sito personale erano opera del titolare del sito,
mentre l’interazione si sarebbe svolta al di fuori di essa, invece i blog consentono ai
lettori di associare commenti alle pagine e ai messaggi dell’autore, commenti poi che
sono visualizzati sul blog e dai quali l’autore o altri lettori possono rispondere. Il blog
diventa quindi il luogo di dialogo tra l’autore e i lettori: l’autore del blog può regalare tale
dialogo, limitandolo ad alcune persone o anche esercitando un controllo preventivo sui
messaggi inviati, ma la massima libertà è anche consentita nella maggior parte dei
blog dove
I quest’immagine si possono vedere tre tipologie di versioni:la versione redatta dall’autore del
wiki utilizzando il linguaggio di marcatura disponibile su Wikimedia; quindi, il wiki utilizzato
per redigere le voci di wikipedia; la versione di testo in HTML corrispondente; infine nella
terza casella si vede il testo visualizzato dal browser del lettore.
Alcuni sistemi offrono anche dei titoli di testi, quindi il sistema presenta all’autore il risultato
che sarebbe presentato al lettore, registrando la corrispondente marcatura. Una funzione
essenziale del wiki è il controllo delle modifiche, è possibile quindi esaminare tutte le modifiche
subite da un testo ed individuare con precisione chi ha effettuato la modifica e in quale tempo;
i wiki offrono anche strumenti per la gestione delle versioni di un testo, ed è quindi di possibile
risalire alla versione del testo che è stata precedentemente modificata.
Queste funzionalità fanno anche dei wiki lo strumento ideale per la collaborazione decentrata
di comunità aperte di autori, quindi più autori possono intervenire sul medesimo testo,
controllandole l’evoluzione nel tempo e un wiki può essere accessibile anche solo ad alcune
persone che sono coloro che collaborano al progetto cui il wiki è destinato a anche ai membri di
una certa organizzazione; molti wiki però sono anche aperti al pubblico, ossia qualunque utente
registrato e anche l’utente non registrato a volte, può intervenire modificando anche il contenuto
delle pagine.
Si potrebbe immaginare che questa gestione anarchica dovrebbe condurre alla distruzione
del contenuto informativo del wiki, in seguito anche ad interventi di autori incapaci o anche a
deliberati atti di vandalismo, invece l’esperienza ha mostrato che gli interventi incompetenti o
malintenzionati sono relativamente rari, e i successivi interventi di revisioni competenti di
ben intenzionati pongono ad essi rimedio in breve tempo anche nella maggior parte dei casi.
Grazie alla tecnologia dei wiki ha potuto svilupparsi la più grande, e più letta, enciclopedia
oggi esistente, Wikipedia, Che contiene più di 5 milioni di voci ed e Letta da centinaia di
milioni di persone in 200 lingue diverse.
Wikipedia nacque dal fallimento di un progetto precedente di ispirazione più tradizionale
chiamato Nupedia, un’enciclopedia online alla quale tutti potevano proporre propri contributi,
La cui pubblicazione era però subordinata a un processo di revisione e controllo affidato a esperti
retribuiti.
L’organizzazione del progetto, di fronte allo scarso numero di contributi ottenuti al fronte di
costi comparativamente elevati, dovette di fatto o abbandonare il progetto; egli venne però a
conoscenza della tecnologia dei wiki e nel 2000 decise poi di avviare un nuovo progetto di
enciclopedia chiamata proprio Wikipedia, basata su tale tecnologia, nel quale si alla redazione
delle voci, sia i controlli, fossero completamente decentrati e quindi affidati alla generalità
degli interessati. Chiunque poteva scrivere una nuova voce e chiunque poteva intervenire
modificando una voce preesistente.
È il caso di ricordare che il trasferimento dei dati su una piattaforma online comporta comunque
una perdita di controllo da parte dell’utente, anche quando questi Abbiano la possibilità di
rimuovere i dati dalla piattaforma sulla quale sono stati inseriti. Infatti quei dati possono
essere stati prelevati da altri soggetti virgola che possono usarli in modo non previsti e non
desiderati, per esempio il profilo di una persona su Facebook può essere consultato dal potenziale
datore di lavoro.
Di qui l’esigenza di elaborare nuove soluzioni tecnologiche e giuri che consentono a chi abbia
trasferito dati dati personali su piattaforma web, di far si che quei dati possano essere cancellati
e quindi dimenticati dal web nel suo insieme, e non solo dal sito web nel quale sono stati caricati.
Ovviamente la possibilità di effettuare la cancellazione di questi dati nel soggetto a cui si
riferisce, si contrappone al diritto poi di informazione e quindi in particolar modo al ricordo
di
Ma l’avvento del Internet of things fa capire che ormai ci troviamo di fronte già al web 3.0 e
quindi la possibilità del dialogo con le cose grazie alla rete. Come è noto l’aspetto della
comunicazione fra uomini e macchine e tra macchine era già stato approfondito da un noto
studioso , Norbert Winer, chi aveva creato una nuova scienza denominata “cibernetica” il cui
obiettivo è proprio quello dello studio scientifico del controllo e della comunicazione nel animale
e nella macchina.
Questi, quindi, sono i principali impieghi di carattere operativo dei droni, ma come si e già avuto
modo di sottolineare anche in l’ambito civile ormai sta vedendo un uso sempre più generalizzato
di droni, sia per attività di ricognizione come ad esempio agli eventi come alluvioni, incendi,
I primi robot possono essere considerati macchine dottate di una certa autonomia e aventi
capacità di manipolazione, cioè in grado di muovere nello spazio dei pezzi o utensili
assimilandoli a corpi rigidi, sulla base di istruzioni memorizzate e fornite di volta in volta. Si
noti che un’istruzione può anche essere realizzata con sistemi puramente meccanici usando
per esempio un profilo che deve essere seguito da un certo elaboratore.
Il primo prototipo di robot entrò in funzione nel 1961 presso la fabbrica di automobili della
general motors. Di seguito dopo un rapido e grande sviluppo in campo industriale, la robotica
cominciò ad essere intesa come la disciplina riguardante ogni oggetto, anche virtuale, capace di
produrre movimento in modo anche solo parzialmente autonomo; contemporaneamente in
diversi paesi industrializzati, si andavano delineando alcuni fenomeni associati all’aumento del
costo del lavoro, per esempio abbandono di alcune produzioni e delocalizzazioni di altre, con
conseguenze di grande rilevanza sociale ed economica che indussero un numero sempre
crescente di aziende manifatturiere a ridurre l’apporto umano al processo produttivo, affidando
i lavori più semplici, ma più pericolosi a robot opportunamente programmati.
La definizione di robot industriale, proposta dall’International organization for standardization,
nella sua norma 8373 del 94, si addice abbastanza bene al settore manifatturiero: un
manipolatore governato automaticamente riprogrammai le e multiscopo, programmabile in
tre o più gradi di libertà , che può essere sia fisso sul posto che mobile per l’uso in applicazioni
di automazioni industriale; tale definizione si applica meno bene alle numerose estensioni
anche industriali che sono state date ai termini robot e robotico. Un esempio per tutti
riguarda il cambio automatico delle automobili, detto cambio robotico, anche se è stato
realizzato con semplice meccanismo articolato comandato dal conducente o da un
programma di calcolo sulla base di un certo numero di parametri misurati. Di fatto esiste una
grande quantità di oggetti e apparati automatizzati in misura maggiore o minore, che vengono
chiamati robot, in questo senso possono essere adottate altre definizioni, per esempio quella
che con riferimento alle tecniche di intelligenza artificiale, definisce la robotica come la
scienza che riguarda il concepimento, l’uso e la programmazione di macchine intelligenti in
grado di integrare varie capacità tra cui quelle sensoriali, di percezione, quelle associate al
ragionamento autonomo e quelle anche di movimento come le capacità di azione, con la
finalità di svolgere compiti anche solo in parte prefissati.
Con il trascorrere del tempo, i concetti di robot e robotica, si sono estesi a tutti i settori nei quali
il governo del movimento è associato ad autonomie decisionali basate su programmi e sulla
percezione; un robot destinato ad applicazioni industriali odi altro tipo, è costituito da quattro
componenti essenziali: una struttura meccanica in grado di trasmettere il moto, un sistema di
attuatori motori e relativi organi di comando e di alimentazione, un sistema di governo costituito
quasi sempre da uno o più calcolatori e infine un sistema di percezione formato da più sensori
con varie finalità ; a questi componenti se ne aggiungono altri a seconda delle applicazioni, se
il sistema di governo non è collocato in una sfera d’azione circoscritta del robot, ma è
suddiviso in una parte comunque prossima e in una parte distante o remota e si parla in tal
caso di telemanipolatori. Il robot quindi agisce sull’ambiente che lo circonda e nel quale
lavora, modificandoli in misura maggiori o minore e si va quindi dagli spostamenti di oggetti
nello spazio, a interventi con utensili su pezzi in lavorazione, fino anche al recupero di oggetti
pericolosi.
I robot di servizio
Con questo termine generico si indica il robot non manifatturiero; si va dal robot destinato a
operazioni di sicurezza o di esplorazione spaziale, a oggetti sofisticati destinati al gioco. Si tratta
del segmento più numeroso: circa 6 milioni di robot funzionano, a fronte, di circa un milione
di operanti nell’industria manifatturiera. I costi relativi sono molto variabili: si va da diversi
milioni fino a poche centinaia di dollari.
Si tratta di robot mobili con gradi. Assai differenziati di autonomia, cioè dotati di capacità
autonome di scelte di comportamento sia pure in un insieme predefinito, fermo restando che dal
punto di vista strutturale ciascuno di questi robot può essere ricondotto alle strutture e
La robotica medica
A partire dagli anni 90, in medicina si è assistito ad un consistente aumento della presenza di
robot in ambienti ospedalieri, talvolta in sostituzioni di personale qualificato come medici ed
infermieri, ma spesso con funzioni di ausilio per svolgere i compiti di routine e di precisione
incerti e ben definiti casi. D’allora, sono emerse molte applicazioni mediche, tra cui le
principali che riguardano: la formazione chirurgica, la chirurgia a distanza, la telemedicina e il
teleconsulto, la riabilitazione e l’aiuto ai disabili anche gravi come i non vedenti.
La diffusione tuttavia non è uniforme, trattandosi quasi sempre di oggetti destinati a svolgere
funzioni già assolte dal personale sanitario e per la loro introduzione è necessario superare
alcune barriere legate all’atteggiamento ostativo del personale, per esempio a causa
dell’anzianità e ai consistenti investimenti necessari sia per le attrezzature che per la
formazione degli addetti.
Il settore della robotica chirurgica ha raggiunto in alcuni suoi segmenti risultati di grande
rilievo ed è poi proiettato verso ulteriori progressi. I robot usati in chirurgia sono quasi
sempre telemanipolatori nei quali al livello di comando si colloca nei movimenti compiuti dal
chirurgo nell’unità a sua disposizione a livello operativo i movimenti di specifici attrezzi
chirurgici che coincidono con l’effettuazione l’attività del robot stesso a livello di sensori e le
telecamere visive stesse.
I vantaggi risiedono nel fatto di non essere vincolati alla predisposizione di cavità in grado di
contenere le mani del chirurgo o parti di esse e nella possibilità di effettuare movimenti in
qualunque scala, riducendo le dimensioni delle ferite o le perdite di sangue, assicurando
elevate precisioni non raggiungibili cn il movimento della mano e garantendo degenze molto
brevi. Non tutti gli interventi chirurgici sono suscettibili di esser compiuti con strumenti di
questo tipo, la diffusione maggiore si è avuta per quanto riguarda l’invasività negli interventi
alla prostata, in quelli in lavaroscopia nei cavi addominali e toracico e negli interventi di
artroscopia; mentre per untato riguarda la precisione, gli interventi più diffusi son quelli di tipo
oculistico e nella scatola cranica, il chirurgo opera sulla base di informazioni visive fornite da
una o più camere o microcamere e di piani di intervento basati su immagini strumentali
preventivamente ottenute. Per la chirurgia robotica sono stati realizzati un certo numero di
robot prodotti da più industrie e per il settore di prevede un grande sviluppo, si sta cercando
di aggiungere all’attuale sistema di percezione per il chirurgo basato quasi unicamente sulla
visone, un’ulteriore livello di sensorialità , soprattutto per gli aspetti dinamici e per la capacità
di rappresentazione ad esempio sovrapponendo in un'unica immagine quelle provenienti da
altre camere e da altri strumenti diagnostici; si pensa inoltre di aggiungere al sistema di
comando attualmente costruito dalle due manopole, che vanno a saturare completamente le
capacità del chirurgo, funzionalità anche alternative basate per esempio sull’utilizzo della
voce.
Definizione di Hacker
Il termine hacker deriva dall’inglese “to hack” che letteralmente significa “fare a pezzi” o
“tagliare” e indica una persona per la quale la programmazione informatica rappresenta una
vera e propria passione, ha quindi la voglia, l’interesse, di voler smontare sistemi, di osservare
e allo stesso modo di voler comprendere come sono strutturati i sistemi informatici e quindi c’è
proprio un interesse da parte del soggetto a voler comprendere il funzionamento del sistema
informatico e di tutte le caratteristiche che quel sistema informatico comporta.
Steven Levy
Con l’espressione etica hacker, noi facciamo riferimento ad un’etica che è emersa nelle prime
comunità virtual o “cyber communiti ed”, dedite alla programmazione informatica. Un elemento
che accomuna tutti gli hacker è la curiosità , che nasce nel voler scoprire il funzionamento e
valutare perfezionamenti in grado di migliorare L’elaboratore o un programma stesso.
Steven Levy, nella sua opera “Hackers. Gli eroi della rivoluzione informatica”, evidenzia i
principi generali su cui si fonda l’etica Hacker:
- Secondo il primo principio l’accesso ai computer e a tutto ciò che può insegnare il
funzionamento del computer stesso, deve essere illimitato e completo, cioè secondo
Steven Levy, si deve dare sempre precedenza ad un imperativo, cioè si intende
l’utilizzo di un approccio curioso verso quelli che sono i problemi, andando proprio a
voler sperimentare e andare ad apprendere ciò che si sta studiando; secondo Steven
Levy, occorre quindi permettere agli hacker di poter esaminare quelli che sono i
sistemi già esistenti, in modo tale che in questi possano comunque capirli e conoscerli e
solo in questo modo sarà possibile poi migliorare i sistemi e la creazione di nuovi, in
quanto l’accesso ai sistemi informatici prevede e da la possibilità di poter sviluppare
delle nuove tecnologie;
- Il secondo principio stabilisce che tutta l’informazione deve essere libera, quindi le idee
e le informazioni devono essere necessarie al fine di poter migliorare, correggere ma allo
stesso tempo anche creare quelli che sono nuovi sistemi;
- Altro principio è quello di dover dubitare dell’autorità e promuoverne il
decentramento. Secondo Steven Levy il modo migliore per poter promuovere un libero
scambio di informazioni è quello dia vere un sistema aperto, privo di ogni ostacolo da
un hacker e ciò che sta cercando di imparare, per questo motivo gli hacker sono contrari
ad ogni forma di burocrazia, indipendentemente dal fatto che sia di tipo governativa o
di matrice universitaria e che infatti ritengono che non abbia alcuna altra funzione se
non quella di poter rallentate o ostacolare la conoscenza. Gli hacker si definiscono
sempre soggetti liberi, quindi non sottoposti ad alcun tipo di autorità e quindi. di
conseguenza gli hacker
Pekka Himanen
Un’altra importante opera nella quale si parla di etica hacker è quella di Pekka Himanen,
professore di sociologia in Finlandia ed in California, intitolata “L’etica hacker e lo spirito
dell’età dell’informazione”.
Nella sua opera, l’autore suddivide l’etica in tre categorie:
- La prima categoria è quella dell’etica protestante che concepisce un lavoro come un
dover essere che è un fine che si deve elevare perché è più importante anche della vita
stessa e quindi non ha un valore la natura del lavoro che si vada a segnare ad un soggetto,
ma ciò che rileva è che questo tipo di lavoro viene comunque portato a compimento e
venga portato a compimento nel modo giusto
- La seconda categoria è l’etica del lavoro, che secondo Pekka Himanen l’etica del
lavoro hacker deve esser guidata dai valori della passione e della libertà ; Passione
intesa proprio come una consacrazione di un’attività che deve essere per l’hacker
stimolante e piacevole anche se a volte si devono portare avanti i compiti che possono
esser noiosi e allo stesso tempo meno divertenti, però che sono poi necessari per la
creazione di un insieme stesso, infatti si sostiene che essere hacker significa
tendenzialmente divertirsi molto, ma è un tipo di divertimento che implica una serie
di sforzi.
Un hacker quando applica l’etica del lavoro all’interno della sua vita, può stare con gli
amici, andare a pranzo con gli amici e allo stesso modo ha la possibilità di recuperare il
lavoro più tardi o addirittura il giorno successivo, perché non è un progetto che è
legato ad un luogo fisico o a degli orari stabiliti, perché la tecnologia da la possibilità ad
un soggetto di poter compiere e gestire un’attività come meglio lo si crede e io posso
accedere e svolgere quell’attività in qualunque momento;
- L’ultima categoria è l’etica del network. Con questa espressione ci si riferisce soprattutto
al modo che attuano gli hacker nei rapportarsi alla rete della network society. Gli
hacker hanno sempre sostenuto la necessità che nelle reti si andassero a sviluppare
coerentemente due valori fondamentali: da un lato la libertà di espressione e dall’altro
la privacy e la riservatezza.
Ip-spoofing
Intendiamo per “spoofing” l’usurpazione dell’identità di un soggetto oppure i una macchina.
Ogni elaboratore connesso ad internet è identificato da un indirizzo IP che è formato da
quattro numeri decimali separati da un punto. L’IP spoofing permette di utilizzare una
debolezza intrinseca del protocollo TCP/IP, a un computer A di far credere ad un computer C
di essere il computer B, quindi si crea questa attività di confusione.
La situazione ipotizzabile è quella secondo la quale il computer A è il computer dell’attaccante
che è generalmente un sistema che è stato già oggetto di intrusione, il computer C è la
macchina bersaglio ed è la macchina a cui io voglio accedere, mentre il computer B è una
macchina della quale il computer C si va ad affidare. Il principale tipo di controllo che si
effettua proprio per garantire la sicurezza delle connessioni è pagato sulla rilevazione
dell’indirizzo IP delle macchine e quindi lo spoofing consiste proprio nell’andare a falsificare
un indirizzo IP di una macchina ad esempio una macchina A, in modo tale da farla apparire
come un’altra, la macchina B, ed andare a superare in questo modo la difesa che è basata
proprio su tale controllo che generalmente è gestita da un file word.
Questa tecnica richiede necessariamente che l’aggressione sia in grado di impedire alla
macchina, quella B, di comunicare con la macchina bersaglio, altrimenti l’elaboratore B
andrebbe a svelare a C di non aver inviato alcun tipo di richieste e quindi si deve cercare di
interrompere la connessione tra la macchina B e la C.
Network Sniffing
Un altro tipo di attività e di attacco è quello del Network Sniffing. È uno degli attacchi più
utilizzati su Internet. Lo sniffing e l’ascolto in rete e la cattura dei dati che sulla rete vengono
trasmessi. Per mettere in atto questa tecnica occorre prima aver preso il controllo di una
macchina che fa parte della rete alla quale appartiene la macchina bersaglio. Ciò che rende
possibile attacco e il modo in cui funzionano i protocolli di rete e il fatto che tali protocolli non
prevedono di per sé alcun tipo di crittografia.
Per fare un esempio, consideriamo la rete ethernet, usata nelle LAN. L’ethernet rappresenta
un canale di comunicazione, su cui sono collegati dei nodi, ovvero i singoli computer.
Quando ad esempio il computer A risulta esser connesso alla rete che vuole mandare
un’informazione al computer B, costituisce tendenzialmente un pacchetto, con un indirizzo IP
e lo va ad inserire all’interno della rete, questa scheda di rete rappresentano il pacchetto, ma
solo la macchina B riceve perché è la macchina che deve ricevere quell’informazione, quindi il
pacchetto tendenzialmente si propaga sotto forma di un impulso elettronico per tutta la
lunghezza del cavo di rete, tutte le macchine che sono connesse a quella rete ricevono
l’impulso, ma solo B decide di leggere il contenuto; questo è il funzionamento standard però è
possibile andare ad alterare questo funzionamento, facendo in modo che un calcolatore ad
esempio C che anch’esso connesso a questa rete, legga tutti i pacchetti che vi transitano
compreso i pacchetti che A indirizza a B e quindi il pacchetto che di fatto passerebbe anche
per quella macchina C, ma che generalmente non viene letto da C perché è indirizzata da
un’altra macchina che ha solo lui l’interesse ad aprire, in questi caso invece nel network sniffing,
la macchina non può accedere e legge ugualmente tutto il tratto e tutte le comunicazioni che
passano tra la macchina A e la B, in questo caso infatti si dice che la macchina C serve da
sniffing nei confronti della macchina B per i messaggi che le vengono inviati dalla macchina A,
solamente poi con l’adozione di protocolli crittografati, si è in grado di poter risolvere il
problema, perché anche se il messaggio viene intercettato non si ha la chiave per poter
decifrare quelle informazioni. Se invece diversamente i dati non sono criptati, le informazioni
preziose come ad esempio l’autenticazione degli utenti potrebbero essere intercettati in chiaro.
Denial of service
Gli attacchi d tipo DoS che letteralmente significano “rifiuto del servizio”, non sono finalizzati a
violare la sicurezza di un sistema, ma consistono nell’adoperare una qualunque tecnica che
sblocchi o rallenti, in parte o totalmente un sistema, impedendo agli utenti regolari di accedervi
e di fruire dei relativi servizi. Spesso rappresentano una una reazione al fallimento di un
precedente attacco mirato o sono dettati Dalla necessità di ottenere un riavvio del sistema
operativo bersaglio per rendere effettivi i cambiamenti effettuati.
Gli attacchi di denial of service son particolarmente temuti perché sono in grado di procurare
alle imprese dei grandi danni economici che consistono a milioni e milioni di euro.
Gli attacchi di denial of service possono essere di varie tipologie, ma una significativa evoluzione
sembra esser rappresentata da un distribuite d of denial of service (DDoS), in particolar modo
questo tipologia di attacco consiste di voler distribuire su più macchine sparse per la rete,
normalmente in questo scenario vi possono essere una o più macchine che assumono il controllo
dell’attacco, mentre tutte le altre eseguono lo stesso;
Su queste macchine viene installato un programma che possiamo definire “programma zombie”
che si pone in attesa di un comando per far partire l’attacco, in quel modo non si riesce a
capire quale sia il computer che ha fatto partire l’attacco perché l’attacco proviene da più
computer simultaneamente. L’installazione di questi programmi è resa semplice mediante
l’utilizzo di appositi software che vanno poi a scandagliare rapidamente interi gruppi di
indirizzi IP alla ricerca di qualche computer che abbia delle vulnerabilità e che permette
proprio l’installazione di questo software “zombie”, in computer che sono sparsi in tutto il
mondo e una volte che l’aggressione invia il comando di attivazione, tutti gli host inizieranno
ad inviare e ad attivare traffico al computer che è stato mirato.
I virus
La forma di attacco più famosa è quella rappresentata dai virus informatici, le cui prime
epidemia risalgono alla metà degli anni ’80.
L’inarrestabile dilagare di software “maligni pone di fonte al problema della loro precoce
rilevazione prima che questi possano recare danni. Questo problema è particolarmente
sentito nell’ambito delle reti, essendo permanentemente esposte ai rischi di infezione perché
accadeva spesso che nonostante sia stato installato sulle macchine un software antivirus
adeguato, lo stesso non venga regolarmente aggiornato.
La tipologia di virus è inoltre anche variata rispetto al passato, prima il principale veicolo di
virus era dettato dai file eseguibili, perché arrivava un’email con un file.exe che veniva cliccato
e lui installava i virus all’interno del computer. Attualmente invece esistono molte possibilità
di veicolare un virus e questo è rischioso, naturalmente ogni utente che opera in rete deve
responsabilmente possedere un software antivirus aggiornato in modo da poter regolare e
non introdurre nella rete stessa nulla che non sia stato controllato in modo adeguato.
Inoltre si deve sempre tener conto delle enormi quantità di virus che sono poi esistenti e che a
volte anche aggiornando periodicamente l’antivirus non vengono rilevati poiché sono di
nuovissima generazione, quindi il sistema più efficace è quello di effettuare una
sensibilizzazione degli utenti relativamente a questo problema proprio per poter premeditare
quelle che sono le ipotesi di attacco informatico . Gli amministratori invece devono cercare di
andare ad arginare il problema dove questo si po' verificare e soprattutto nei canali di
comunicazione nei canali di accesso alla rete, tramite la posta elettronica ad esempio.
Spyware
Gli spyware sono dei programmi che comunicano ad un server contralte delle informazioni di
diverso genere sul nostro conto (sistema operativo utilizzato, preferenze dell’utente, siti web
visitati, lunghezza dei collegamenti ecc.). Queste informazioni vengono usate successivamente
dal ricevente per fini statistici o come accade nella maggior parte dei casi, allo scopo di inviare
della pubblicità mirata agli utenti definita “spam”, quindi è tutta un’azione di marketing.
Questa tipologia viene chiamato virus perché comunque è invasiva come azione, ma non va a
distruggere le informazioni, ma rientra nei virus perché sottraggono comunque delle
informazioni dell’utente al fine poi di rivendergli una serie di cose, tramite la posta
elettronica.