Scarica informatica base per passare idoneità e più Appunti in PDF di Fondamenti di informatica solo su Docsity!
INFORMATICA
Parte 1
Le origini
Le elaborazioni delle branche dell’informatica hanno una origine antica che si basa su
alcuni ingredienti che si sono sviluppati nel corso della storia. Prospettazioni che,
hanno stuzzicato sia il ragionamento dei filosofi che quelli degli ingegneri che subito si
sono adoperati per cercare di ricreare i primi oggetti animati. Gli automi sono
macchine in grado di operare in modo indipendente. Dall’etimologia della parola dal
greco automatos richiama al concetto di “macchina che si muove in modo spontaneo
come se avesse vita propria”. Quindi, sembrerebbe che nell’esperienza ellenistica ci
fosse l’idea di una “macchina intelligente”. Nel mondo ellenistico era vagamente
accennato, seppur in forma molto velata, la visione di macchine dotate di una seppur
minima capacità celebrare. Il concetto di automa era basato non sulla concezione di
“menti meccaniche” ma, bensì, su quella di strumenti meccanici in grado di emulare i
gesti degli esseri viventi. Il concetto di automa arcaico era già presente nell’antica
Cina dove si possono trovare riferimenti nel ‘’ Libro del Vuoto Perfetto ‘’ scritto nel III
secolo a C. In esso si narra del leggendario incontro fra il re Mu del regno ed un
ingegnere meccanico che gli mostrò un automa. Il re rimase stupito alla vista della
figura e l’automa iniziò a mimare i gesti. Tutto ciò che viene citato in questo testo
appare inverosimile ma ciò che è importante è l’idea. La consapevolezza di ritenersi in
grado, già nel III secolo a C di creare vita laddove essa non era presente ed inizia a
pensarsi come creatore di vita. Ben più concreti e dimostrabili risultano i riferimenti
all’utilizzo degli automi in epoca ellenistica, grazie a riferimenti ai numerosi miti dove
spesso compaiono, o si citano, automi in primis Talos il gigante di bronzo forgiato da
Efesto e protettore dell’isola di Creta. Appaiono, ormai, evidenti le avanzate
conoscenze meccaniche sviluppate. Esistono vari testi scritti da noti ingegneri classici
come Erone di Alessandria che spiegano le tecniche per costruire incredibili
macchinari ed automi altamente sofisticati. Ciò dimostrerebbero l’avanzata
conoscenza in campo idraulico e meccanico, oltre allo sviluppo di tecnologie che
permettevano lo sviluppo di automi. Sembra che anche in Italia vi furono capaci
inventori dell’epoca classica in grado di inventare automi, come nel caso della
‘’colomba’’ di Archita di Taranto.
I secoli bui
Con la caduta dell’Impero Romano e l’avvento del medioevo la situazione mutò
drasticamente. I rigidi rigori della Chiesa imposero forti divieti. Lo sviluppo di automi
ed i tentativi di riprodurre esseri animati venne bandito. Molte ricerche furono
interrotte o mantenute segrete per non esser accusati di eresia e condannati al rogo.
La rinascita
Nel Rinascimento gli scritti di Erone conservati con gran cura dai bizantini furono tradotti sia in latino. Questi spinsero alcuni inventori a riprodurre le macchine create, più di mille anni prima riattivando l’interesse per un mondo scientifico soffocato e quasi del tutto cancellato con l’avvento dei secolo bui. Vennero riscoperte invenzioni quali l’eolipila (una sorta di primordiale motore a getto azionato a vapore) e gli automi. Importanti contributi vennero da:
- L’ingegnere meccanico arabo Al Jazari che, già nel XII secolo d C sviluppò i concetti della meccanica moderna; 2. Creazioni di automi zoomorfi pensati nel XIII secolo dall’architetto francese Villard de Honnercourt e; 3. Le opere di Leonardo da Vinci, quest’ultimo, nel codice
Atlantico aveva inserito dei disegni che raffiguravano il meccanismo di movimento di un cavaliere in armatura in grado di alzarsi in piedi e muovere le braccia. Le macchine pensanti Tuttavia, questi oggetti mossi da ruote, sistemi pneumatici ed idrici, non aveva una vera e propria capacità di riproduzione del pensiero. Questa concezione di mente artificiale ed organismo artificiale venne sviluppate da Cartesio nel corso del XVII secolo. Il quale iniziò a proporre l’idea che il corpo non sia null’altro che un complesso di macchine e che, quindi, potrebbe esser ricostruito con l’uso di pulegge, pistoni ed impianti meccanici. L’evoluzione della tecnologia moderna, non si sarebbe potuta sviluppare senza l’invenzione del sistema binario. Quest’ultimo linguaggio è da far risalire alle teorizzazioni del vescovo spagnolo Lobkowitz 1606 d C che per primo espose i vantaggi di un sistema di calcolo con base 2 anziché 10. Il sistema binario moderno fu congeniato dal giurista, matematico e filosofo Leibniz 1646 1716 che nel corso del XVII prospettava l’idea di un linguaggio matematico
basato sull’uso dei simboli 0 ed 1. Proprio a Leibniz, si fa risalire l’inizio dello studio
dell’informatica giuridica in quanto, quest’ultimo, legava le scienze giuridiche con il
sistema di proposizioni che connetteva un soggetto giuridico ad un concetto giuridico
(sempre vero). L’intento di Leibniz era di dar certezza al diritto e, per far ciò, applicò il
metodo matematico al ragionamento giuridico. Cercando, in qualche maniera, di
trovare l’anello di congiunzione fra una scienza esatta (la matematica) ed una scienza
umanistica (il diritto). Nonostante lo sviluppo di importanti tecnologie e della
progettazione di automi meccanici via via sempre più avanzati, rimase un’ombra di
scetticismo nel mondo della filosofia che, non sembrava particolarmente convinta
sulla possibilità di creare strumenti dotati di “intelligenza’’. Nel 1801 Joseph Marie
Jacquard inventò il telaio industriale basato su di un rotolo di carta perforata. Nel
1880, si diffuse la macchina di Hollerith che, ammodernando le idee delle schede
perforate usate dal telaio della Jacquard, trovò soluzione per un annoso problema
afferente ai censimenti, Infatti le operazioni di osservazione dei risultati
dell’incredibile quantità di dati ottenuti con i censimenti, fu gestita con schede
perforate. Un sistema che risultò del tutto rivoluzionario.
La nascita dei computer
La nascita dei veri e propri computer si ebbe sul finire della Seconda guerra mondiale.
Il notissimo progetto Manhattan, ovvero il progetto segreto americano per lo sviluppo
e la realizzazione della bomba atomica, aveva raggruppato un vasto numero di fisici,
ingegneri e matematici. Così, grazie a questa opportunità di cooperazione fra
scienziati, vennero a svilupparsi due fondamentali innovazioni tecnologiche. La prima
fu la macchina di Von Neumann che, grazie anche alle nuove teorie sull’informazione,
riuscì a progettare il primo computer. Dall’altro lato vi fu, certamente, il successo di
Turing che, grazie alla costruzione di un computer elettronico costruito con valvole
termoioniche, riuscì a decifrare la macchina Enigma, un sofisticato congegno tedesco
per criptare le comunicazioni. ->
1) Turing-> Già negli anni 30 sviluppò i concetti di algoritmo grazie alla c.d.
macchina di Turing che a sua volta ha svolto un ruolo significativo nella
creazione del moderno computer. Per le sue brillanti intuizioni è considerato fra i
padri dell’informatica e fra i precursori nello studio dell’intelligenza artificiale.
Fondamentale furono le sue capacità di crittoanalista nel riuscire a comprendere
i meccanismi di funzionamento delle trasmissioni segrete dei tedeschi durante
la Seconda guerra mondiale. Le disposizioni operative per le unità dotate della
macchina Enigma prescrivevano che ogni giorno, per motivi di sicurezza,
nell’accezione moderna del termine, iniziarono ad operare sul finire degli anni
Sessanta negli Stati Uniti. Il loro obbiettivo originario era di creare delle comunità
studentesche che promuovessero un approccio attivo alla tecnologia e pretendevano
di poter modificare il computer per scopi imprevisti ed inattesi, fra cui creare i primi
videogames. In seguito, la comunità hacker si estese inglobando anche famosi
programmatori quali Steve Jobs e Steve Wozniak fondatori della Apple, Richard
Stallman ideatore di GNU e dell’idea di software libero e Bill Gates fondatore della
Microsoft. Gli hacker restano comunque criminali informatici in quanto violano le leggi
e le regole della società civile.
1) White Hat Hacker->Seguono una loro personalissima etica che non ne
sminuisce l’inquadramento come criminali.
Teoricamente perseguono l’idea di
- permettere la condivisione
- garantire l’accesso a chiunque
- decentralizzare le informazioni
- favorire l’apertura degli ambienti informatici e permetterne lo studio e l’utilizzo
- migliorare la società attraverso lo sviluppo di nuovi software e la condivisione
di informazioni
(Levy S 1984)
Spesso questa tipologia di hacker sfrutta le proprie capacità informatiche
asservendole alla lotta contro i
black Hat hacker. Quindi ex white Hat hacker possono essere ingaggiati da forze
dell’ordine, da società di antivirus ed aziende specializzate nella sicurezza
informatica.
2) Black Hat Hacker-> Questa tipologia di hacker è la più pericolosa. Non segue
alcuna etica personale ma unicamente i propri intenti criminali. Possono esser
specializzati in molte differenti tipologie ti attacchi informatici e, spesso, legati
ad una chiara volontà di danneggiare od ottenere un vantaggio economico.
3) Cracker->Il termini cracker (c.d. black Hat hacker individua una persona
specializzata nell’eludere o rompere
blocchi imposti da qualsiasi sistema informatico al fine (in genale) di trarne
profitto o creare danni. Gli attacchi possono essere realizzati attraverso due
differenti modalità dall’esterno, quindi attraverso backdoor o vulnerabilità del
sistema, ovvero bug; con attacchi locali cioè attraverso l’utilizzo fisico
dell’elaboratore attaccato od, in alternativa, utilizzando la modalità di controllo
dello stesso da remoto. L'esigenza di eliminare le tracce del proprio attacco o
della propria presenza nel sistema è essenziale, e peculiare dei cracker. Infatti,
a differenza degli hacker che spesso lasciano volontariamente tracce del loro
passaggio od una sorta di firma così da dimostrare la loro bravura, i cracker
devono cercare di rimanere occultati così da mantenere il controllo del sistema
aggredito e, contemporaneamente, nascondere la propria identità.
4) Lamer-> Il termine sembra avere origini nella metà degli anni Ottanta del secolo
scorso quando, utenti che usavano
dispositivi quali i Commodore 64 e, successivamente l’Amiga, idearono degli
strumenti di danneggiamento dei
sistemi informatici. L’esplosione del termine, tuttavia, si ebbe a partire dal 1989
con la diffusione del famosissimo virus informatico per dispositivi Amiga Lamer
Exterminator. Quest’ultimo, infatti, era un malware presente nei floppy disk che
gradualmente infestava il settore di avvio dell’Amiga e, quindi, danneggiava
tutti i floppy disk
inseriti. Oggi il termine Lamer è rimasto per indicare chi si adopera per la
creazione e diffusione di malware. I Lamer sono tipicamente considerati come
adolescenti dediti ad attività di vandalismo che cercano di provocare danno. Ciò
può avvenire nei casi più raffinati attraverso l'invio di trojan (ad altri utenti al
fine di avere accesso ai
loro sistemi, per poi eventualmente danneggiare o distruggere informazioni
oppure attraverso l'utilizzo di piccoli programmi, che i Lamer reperiscono nel
web, per attuare attacchi ai siti Internet, allo scopo di danneggiarli o sfregiarli. I
Lamer vengono tradizionalmente disprezzati dagli hacker perché sono ritenuti,
almeno in parte, responsabili della connotazione negativa del termine hacker.
Parte 2
Software
L’uso dei software è, generalmente, inquadrabile in due grosse macro-categorie contrapposte basate su ideologie radicalmente distanti. Da un lato, infatti, possiamo individuare quel nutrito numero di prodotti software che rispondono alla logica del prodotto sottoposto alla proprietà. Quindi trattasi di software sviluppati da una azienda che rivende o cede in licenza d’uso il prodotto agli Utilizzatori. Dall’altro lato troviamo la macro-categoria dei software che sono “liberi” (termine ora usato in senso a-tecnico ovvero programmi che non hanno, genericamente dei limiti al loro utilizzo oppure necessitano di essere acquistati. Qualsiasi software sia esso un programma applicativo od un sistema operativo, viene creato utilizzando un determinato linguaggio di programmazione ed esso consente anche la creazione del c.d. codice sorgente, ossia delle istruzioni che non sono ancora interpretabili dal computer, ma scritte già in un complesso linguaggio formale che comprende delle variabili e delle complesse funzioni algoritmiche. Per far sì che il computer comprenda le istruzioni scritte in linguaggio di programmazione, queste devono essere “in linguaggio macchina detta procedura prende il nome di “compilazione” (mentre il software che traduce si chiama compilatore) e genera il c.d. “codice macchina”, cioè un software eseguibile, comprensibile dal processore (binario). Osservando questa struttura nel modello del software proprietario, essa è fornita in maniera binaria, cioè precompilata (ne sono esempio i file con estensione .exe nel mondo Microsoft). Quindi non è reso disponibile il codice sorgente e, pertanto, è impossibile per chiunque non solo fare modifiche al software ma anche eseguire la sua semplice lettura. Tale possibilità è riservata al solo proprietario, ovvero al possessore del codice sorgente. In realtà è astrattamente ipotizzabile risalire al codice sorgente partendo dal codice binario ma ciò implica l’utilizzo di disassemblatori e rilevantissimi, investimenti in ordine di denaro, strumentazioni tecnologiche, risorse umane e tempi lunghissimi senza, fra l’altro, effettiva garanzia di successo. Sicché è di gran lunga meno oneroso creare un programma ex novo od acquisire i diritti di un software già esistente che tentare, senza alcuna certezza di successo, di risalire all’intero codice sorgente di un programma proprietario. Per vedere il codice sorgente di un sito internet fare ctrl+u. Il titolare dei diritti del software proprietario pertanto, può stabilire delle limitazioni all’utilizzo od alla diffusione del prodotto, precludendone i diritti di sfruttamento economico in capo a terzi soggetti. In sostanza il software proprietario si basa sul concetto di vendita di un prodotto attraverso l’utilizzo di contratti di licenza o di brevetti. Tale modalità consente la possibilità di controllare la distribuzione del software e la peculiare modalità di sfruttamento dei diritti economici dello stesso. Quando si parla di software proprietario si deve sempre collegare la definizione al fatto che il programma non permette la visione del codice sorgente. Il primo progetto di software non sottoposto a particolari vincoli di tipo proprietari è stato progettato dall’ideatore del sistema operativo GNU, Richard Stallman. Costui, infatti, riteneva che esistessero quattro differenti livelli di libertà fondamentali che ogni software doveva avere affinché possa esser definito libero. Fondò la FSF (free software foundation) una organizzazione che aveva come scopo la diffusione della cultura del software libero con l’utopico progetto di debellare il
- La licenza non può contaminare altri software; 10.La licenza deve essere tecnologicamente neutrale; Il programma open source può quindi essere rilasciato gratuitamente ma possono esservi dei servizi aggiuntivi o degli upgrade a pagamento. Pertanto, nulla vieta che la forma etica del programma distribuito secondo lo schema dell’open source non faccia una graduazione fra pacchetti integralmente gratuiti ed aperti e pacchetti con contenuti esclusivi sottoposti ad un regime di commercializzazione. D'altronde il ritorno economico ritenuto ammissibile nell’ideologia dell’open source è considerato come un quid pluris in grado di far fiorire l’interesse per lo sviluppo ed il supporto del programma. Quindi, la linea di demarcazione fra software libero e software open source non ha dei confini così lontani od insormontabili dal punto di vista pratico. Shareware Differente tipologia di programma è quella che risponde alla filosofia dello shareware. talvolta noto come trial. In questo caso si fa riferimento ad una modalità di licenza d’uso che permette, all’utilizzatore finale, di provare gratuitamente il prodotto, senza alcun impegno per l’acquisto dello stesso. Mettendo la temporanea disponibilità del prodotto, talvolta con potenzialità limitate, si permette all’utente di familiarizzare con esso e stabilirne l’utilità. Lo Shareware sembra particolarmente impregnato sulla forza di far acquisire familiarità con il programma da parte dell’utente finale. Infatti, laddove quest’ultimo dovesse poi aver effettivamente bisogno di un programma con quelle specifiche capacità preferirà pagare per l’acquisto di un prodotto che ha già testato e di cui conosce, quantomeno in buona parte, le potenzialità e le modalità di funzionamento rispetto a cercarne uno nuovo. Se questi ha avuto una versione gratuita o completa per un limitato periodo di tempo, tenderà ad avere un approccio psicologico più favorevole a quel prodotto di quella azienda. Occorre dire che questa forma di distribuzione di prodotti software ha principiato la sua presenza nel corso degli anni 90 del XX secolo. Taluni prevedono la possibilità di utilizzare tutte le potenzialità del pacchetto completo che poi sarà possibile acquistare una volta scaduto il periodo di prova. Altre modalità, spesso definite con il termine di demo (abbreviazione di demostration consentono di utilizzare, senza limiti temporali, delle versioni semplificate e prive di alcune capacità presenti nel prodotto in vendita. Lo shareware ha la caratteristica di permettere la libera distribuzione del prodotto, anzi la incoraggia per favorirne la diffusione commerciale. Freeware Rientra nell’ambito dei software proprietari ma, a differenza di questi ultimi, è distribuito in modo gratuito. Sotto molti aspetti assomiglia allo shareware ma non ha limitazioni temporali all’utilizzo del programma applicativo. Il freeware non ha nemmeno limiti alla facoltà di redistribuzione del programma in favore di terzi. Rientrano in questa categoria:
- Gli abandonware -> In questo caso il riferimento è da farsi a software che, una volta esaurito il loro percorso di vita economica, pur mantenendo la piena validità dei diritti d’autore maturandi, perdono di interesse commerciale. Si tratta di un software ormai obsoleto il cui sviluppo è stato da tempo sospeso. Il termine è, ancora una volta, un neologismo che nasce dalla contrazione delle parole anglosassoni abandoned software. Usualmente si fa risalire l’ideazione di questa terminologia al 1997 quando Peter Ringering decise di mobilitarsi per salvare dall’oblio opere di qualità spesso notevole, raccogliendole e distribuendole gratuitamente online. Nella maggior parte dei casi, per il funzionamento di un abandonware sono necessari appositi emulatori che consentano al software di essere eseguito sulle macchine e sui sistemi operativi attuali dotati di capacità, spesso notevolmente superiori a quelle richieste dall’ abandonware.
- il software pubblico (privo di copyright o per il quale vi è stata la rinuncia al diritto d’autore ma non è un software obsoleto)
- Adware (software con fastidiosi contenuti pubblicitari, spesso in pop up, che talvolta contengono infezioni informatica quali gli spyware
La tripartizione nel web
Il word wide web costituisce il principale servizio internet permettendo al contempo di navigare, utilizzare contenuti multimediali, comunicare, usufruire dei collegamenti ipertestuali per muoversi attraverso i siti. Quindi si tratta di uno spazio virtuale, in costante evoluzione, dove sono presenti miliardi di siti internet che possono esser facilmente raggiunti. Taluni possono offrire servizi, altri informazioni, oppure infinite altre attività, ivi comprese quelle svolte sui social network e sui social media. Non vi sono dubbi che le attività sul web possano essere di grande utilità sociale, così come di svago ovvero di aggregazione. Inoltre, nessuno può mettere in dubbio che, fra tutte le innumerevole attività e servizi svolti nella rete, possano manifestarsi condotte criminali. Dai casi più semplici di delitti contro l’onore, passando per i traffici illeciti, la pirateria informatica, le frodi informatiche, le truffe, la pedopornografia, la tratta di schiavi, lo spionaggio, il sabotaggio, attività terroristiche ed eversive e così via per tutte le più disparate condotte genericamente definite illecite. Eppure, quando si pensa a queste attività, si tende a identificarle esclusivamente nel contesto ben noto a tutti ovvero nel web liberamente accessibile attraverso i canali tradizionali. Quindi, mediante la ricerca dei siti con i motori di ricerca (es Google, Yahoo!, Bing, YouTube ecc.) tramite i link, ovvero attraverso la digitazione dell’URL* (è una sequenza di caratteri che identifica univocamente l'indirizzo di una risorsa in Internet, tipicamente presente su un host server, come ad esempio un documento, un'immagine, un video, rendendola accessibile ad un client che ne faccia richiesta attraverso l'utilizzo di un web browser) del sito internet così da raggiungerlo rapidamente. Recentemente è stato stimato che solamente il 4% di tutto ciò che è presente sul web sia liberamente accessibile. In passato un famosissimo studio condotto nel 2000 dalla Bright Planet* dimostrò che su oltre 550 miliardi di documenti presenti nel web Google ne indicizzava solamente 2 miliardi. Il web è un ecosistema molto complesso e come tale si compone di molti strati sovrapposti spesso lontanissimi fra loro. Al mondo ci sono circa 3 5 miliardi di utenti internet quotidiani (circa il 46% della popolazione mondiale). Le profondità del web sono esplorate da circa 900 000 persone al giorno.
- Prima partizione-> Il surface web è chiaramente attinente a tutte quelle attività che, indipendentemente dalla loro liceità, possono essere facilmente raggiungibili attraverso l’indicizzazione nei motori di ricerca ovvero mediante la digitazione dell’indirizzo URL o con i collegamenti ipertestuali. Praticamente tutto quel che troviamo in rete rientra in questa categoria.
- Seconda partizione-> Il deep web è rappresentato, sia da tutte quelle attività svolte su internet che non risultano indicizzate dai motori di ricerca, che da tutti quei siti con accesso limitato. Laddove per aree ad accesso limitato si intende uno spazio unico a cui l’utente può accedere tramite l’identificazione con uno username e una password pertanto, si tratta di un’area che è unicamente accessibile ad utenti già registrati. L’area riservata di un sito può presentare contenuti molto diversi e può avere finalità molto difformi a seconda della natura dell’attività svolta. Essa può contenere dati personali dell’utente che, ad esempio, possono consentire l’acquisto di prodotti o servizi on line. Può, altresì, permettere di accedere a sezioni, nell’ipotesi di forum dove gli utenti possono liberamente scambiarsi informazioni ed interagire in modo visibile solo per gli utenti iscritti a quel dato servizio ovvero, solo agli utenti abilitati ad accedere a quella specifica area. Il tutto senza che tale attività sia di natura illecita.
- Terza partizione-> Il dark web è il luogo più profondo e nascosto del web. Qui l’illiceità è la regola e non l’eccezione. Vi si accede unicamente attraverso degli appositi strumenti ed utilizzando dei protocolli di autenticazione predeterminati. È un mondo invisibile che sostanzialmente si basa sul caos e dove la sopravvivenza è legata alla capacità di occultare le proprie tracce di navigazione. Il pericolo di navigare in questi luoghi è estremo, si può facilmente incontrare terroristi, serial killer, hacker, organizzazioni di criminalità organizzata, personale dei servizi segreti ed agenti infiltrati. Il lato oscuro del web
Prima di tutto, per navigare nel dark web è necessario l’utilizzo di strumenti, soprattutto software, oltre a determinate conoscenze dei meccanismi del sistema. Le prerogative principali del dark web sono da individuarsi, da un lato nella navigazione in incognito ovvero una serie di accorgimenti che permettono di muoversi nel web senza lasciare tracce (o quasi), dall’altro l’accessibilità a siti, contenuti ed attività legate alla criminalità ed alla illegalità. Nel dark web, infatti, per le sue prerogative occulte, sono presenti le più disparate attività legate alla criminalità, quali borse nere, dove è possibile trovare ogni sorta di oggetto in vendita, dalla droga, passando per immagini pedopornografiche, al commercio di armi e farmaci proibiti fino a giungere alla tratta di esseri umani e la vendita di organi. Nel dark web possono essere, inoltre, rinvenute attività quali servizi turistici sessuali, servizi di hacking e cracking, kit per clonare carte di credito, documenti falsi, inserzioni per l’arruolamento per attività terroristiche, attività estorsive e furto di dati e identità digitali, sette sataniche e qualunque altra attività illecita possa venire in mente. Nel Dark Web esistono anche veri e propri store di e-commerce, simili a quelli utilizzati comunemente come Amazon od eBay. Anche qui esistono le recensioni, i feedback, la reputazione dei venditori, solo che si vendono oggetti e servizi illeciti. Il noto sito di black market Silk Road è stato posto sotto sequestro nel 2013 quando si venne a scoprire che il 70% dei venditori commerciava droga e sostanze stupefacenti. Tra il 2011 e il 2013 è stato riscontrato un giro di affari di oltre 1,2 miliardi di dollari. Nel 2014 è nato Silk Road 2.0 ma successivamente è stato smantellato il market e nella medesima operazione si è giunti all’arrestato del famoso fondatore noto con lo pseudonimo di DEFCOM. Il valore dei bitcoin è molto fluttuante. Al 9 aprile 2017 un bitcoin valeva circa 1.100 euro. La navigazione anonima 1) Tor-> Le origini della navigazione anonima nonché del più noto browser utilizzato nel web a questo scopo, è da individuarsi nelle ricerche svolte da Paul Syverson e Micheal Reed. I quali, avevano progettato un sistema di navigazione con lo scopo di proteggere le trasmissioni dei dati e delle comunicazioni dei servizi segreti americani. In seguito, il progetto fu acquisito e sviluppato dalla DARPA che, sviluppò così The Onion Routing project meglio noto come Tor Tale denominazione che, ovviamente, si ispirava al termine inglese Onion ->cipolla, era stata scelta per richiamare l’azione crittografica “a strati”, che veniva operata sull’attività del router il segnale iniziale, invece di palesarsi con il proprio IP, attraversa una moltitudine di nodi, in particolare router e server Tor , prima di giungere, ormai non più identificabile, al server ultimo di destinazione desiderata dall’utente. In aggiunta, la ricerca, le informazioni ovvero i messaggi immessi attraverso la navigazione con questi browser, vengono cifrati attraverso un meccanismo di criptazione dinamica a più strati con codice hash.
- Invisible Internet Project-> meglio noto con l’acronimo di I2P, è un sistema, è ancora in versione beta, pertanto, nonostante le alte funzionalità che garantiscono forti livelli di anonimato, è possibile la presenza di fragilità che, quindi, possono potenzialmente permettere ipotetici exploit (un codice che, idoneamente iniettato nel codice di programmazione, sfruttando un bug od altre vulnerabilità di sistema, in questo modo-> è possibile, per l’ hacker, ottenere dei privilegi su un determinato strumento informatico, ovvero sito, sino a prenderne il controllo). È un sistema molto complesso che prevede oltre a nodi di trasmissione anche l’uso di crittografia asimmetrica e dei tunnel di criptaggio dei dati dei proxy. Avvertenze L’utilizzo del dark web e la navigazione in esso sono fortemente sconsigliate anche il solo curiosare può esporre a rischi. Pertanto, si è volutamente omessa l’indicazione degli strumenti e delle tecniche per operare in questi settori. La famosa Operation Onymous avvenuta fra il 5 ed il 6 novembre 2014 quando, 413 siti web che operavano attraverso Tor nel dark web sono stati chiusi compresi i mercati della droga, oltre a numerosi altri siti di riciclaggio di denaro. L'operazione ha comportato l’intervento dell’ Europol e la coordinazione di ben 16 paesi dell’Europa, portando all’arresto di 17 persone ed al sequestro di 1 milione di dollari in Bitcoin e 180 000 euro in droga, oro e argento. I moderni strumenti per le indagini forensi permettono
una tale capacità di analisi che tentare di insinuarsi negli ambienti criminali del dark web può portare facilmente all’arresto. Parte 3 Informatica-> l’etimologia della parola deriva dal tedesco «informitikt» un verbo che significa informarsi. Il termine informatica è stato utilizzato per la prima volta nel 1957 da Steinbuch e poi diffuso da Dreyfus nel 1962 che fondò la «societé d’ Informatique appliquée». Fra le varie aree di studio, ha tre branche essenziali:
- L’intelligenza Artificiale-> Si occupa di studiare come riprodurre i processi mentali attraverso lo sviluppo dei computer. L’intento è creare una capacità cognitiva ed una forma di autodeterminazione dei sistemi computerizzati.
- L’informatica «tradizionale» -> Indirizzata al trattamento delle informazioni in modo automatizzato ed alla elaborazione ed archiviazione delle stesse. Il primo sistema di calcolo binario fu ideato nel 1600 dal vescovo spagnolo Lobkowitz che per primo espose i vantaggi di un sistema di calcolo con base 2 anziché 10. Tuttavia, la sua idea prevedeva un calcolo basato sulla rappresentazione dei numeri mediante le lettere “a” e “b”. Il sistema binario moderno fu congeniato da Leibniz, che prospettava l’idea di un linguaggio matematico basato sull’uso dei simboli “0” ed “1”.
- La robotica-> Si occupa dello studio e dell’evoluzione dei robot nell’ottica di migliorarne le prestazioni funzionali biomeccaniche onde utilizzarli nelle attività lavorative. Nativi digitali L'espressione richiama l'innata familiarità fra uomo e tecnologie digitali che caratterizza le nuove generazioni. Il nativo digitale cresce in una società multischermo e considera le tecnologie come un elemento naturale non provando nessun disagio nel manipolarle ed interagire con esse. Analizzando i dati della Digital Learning, si evidenziano tre tipologie differenti di nativi digitali che seguono l'evoluzione dall'ineluttabile transizione dall’analogico al digitale dei giovani nei paesi sviluppati. Le tre macro -categorie:
- Nativi digitali puri (fra fra0e12 anni);
- Millennials (fra fra14 e18 anni);
- Nativi digitali spuri (fra fra18 e 25 anni). Bit Il concetto di bit e del calcolo binario. In fondo se tutto ciò che riguarda il mondo dell’informatica è tradotto in due stati elettrici. Ogni singola lettera, ma anche ciascun numero, ogni comando, qualunque istruzione, tipologia di colore di suono, viene espressa attraverso una sequenza di stati elettrici che rispondono alla logica del codice binario. Il bit può avere un duplice significato, da un lato può essere inteso come l’unità di misura dell’informazione, dall’altro è una cifra binaria contraddistinta dai simboli zero (0) ed uno (1) che quantifica la grandezza dell’informazione. Nella programmazione è ormai comune raggruppare sequenze di bit in entità più vaste che possono assumere valori in intervalli assai più ampi di quello consentito da un singolo bit. Il bit nella sua accezione di quantità di informazione richiama la teoria dell’informazione (C. Shannon,1948) che si basa su due teoremi. Il primo, sinteticamente, stabilisce che in media, il numero di bit necessari a rappresentare il risultato di un evento è pari alla sua entropia (è l’informazione media contenuta in un messaggio), fornendo così un limite superiore alla possibilità di comprimere dati. Il secondo teorema stabilisce invece che il massimo tasso di informazione trasferibile in modo affidabile su un canale affetto da rumore sta sotto una certa soglia che prende il nome di capacità di canale.
La codifica in formato binario dell’informazione testuale potrà invece essere effettuata stabilendo una tavola di corrispondenza fra i caratteri da una parte e i relativi numeri binari dall’altra, passando per i decimali. Sarà quindi necessario individuare tutti i caratteri che quotidianamente si utilizzano nel linguaggio scritto, compresi i caratteri maiuscoli e quelli minuscoli, i segni di interpunzione, lo spazio separatore delle parole ed ogni altro segno grafico rappresentato nei testi, per convertirli in cifra binaria. Fra i principali codici attualmente utilizzati nel mondo informatico si contraddistinguono il codice EBCDIC, a 8 bit mediante il quale è possibile rappresentare 256 caratteri e quindi 256 combinazioni binarie diverse. Altro codice diffusissimo è il codice ASCIIASC, originariamente a 7 bit e quindi rappresentativo di soli 128 caratteri, successivamente esteso a 8 bit rappresentativo. Ogni Combinazione di 8 bit prende il nome di byte. Per indicare la quantità di byte che costituiscono l’informazione in formato Digitale si utilizzano le seguenti unità di misura: I simboli che rappresentano le unità di misura sopra elencate sono Kb ove K sta per “Kilo” ossia circa1.000 bytes; Mb ove M sta per ‘’Mega” ossia circa1milione di bytes; Gb ove G sta per “Giga ” ossia circa 1miliardo di bytes e Tb ove T sta per “Teras” ossia dal greco rappresentativo di circa 1.000 miliardi di bytes. La codifica binaria dell’informazione fa perdere di ‘’originale’’ il concetto di “copia”. Così come il caso del fotomontaggio. Per capire se un documento scritto in word è originale od una copia basta sapere che esistono strumenti che possono rendere possibile l’identificazione del momento in cui è stato redatto un atto (es. marca temporale) o l’identità di chi l’ha scritto (es firma digitale) oppure quando è stato notificato (es posta elettronica certificata). Oggi si può assistere ed anche partecipare alla digitalizzazione di moltissimi contenuti che, almeno originariamente, nascevano su di un supporto materiale. Spesso erano supporti che non erano sempre facilmente duplicabili e potevano essere condivisi solo attraverso il prestito. Si pensi ai brani musicali: nati con i vecchi dischi in vinile divenuti dapprima musicassette poi trasformati in Compact Disk, successivamente divenuti file MP3, in seguito elementi presenti in app per smartphone e i-Phone oppure del tutto smaterializzati nel cloud. Nel passato si spezzava il disco in vinile, in linea di principio, non era più recuperabile la melodia incisa. I cellulari avevano una memoria interna. I file ed i dati, anche eventualmente cancellati, lasciavano una traccia nella SIM o nella memoria. Quindi c’erano dati da estrapolare dalla memoria memoria. Stessa cosa per i PC: I dati erano nell’HD. I dati nel telefono potrebbero essere nel cloud. Il problema è capire quale cloud. Elenco dei principali fornitori di servizi cloud:
- Google Drive->è uno dei più conosciuti servizi di Cloud Storage, ma anche uno dei più versatili infatti è perfettamente integrato con i prodotti Windows, Mac, Linux, iOS e Android.
- Dropbox-> è stato uno dei più importanti servizi sul panorama dei Cloud Storage, vantando milioni di utenti e permette di sincronizzare automaticamente le foto all’interno del vostro smartphone/ tablet per avere un backup da portare su qualsiasi piattaforma.
- One Drive-> Lanciato dalla Microsoft come evoluzione del vecchio Skydrive.
- Mega-> nato dalle ceneri di uno dei più grandi servizi di condivisione file, Megaupload.
- Just Cloud-> è uno dei migliori fornitori di archiviazione online sul mercato sia per uso personale che per uso aziendale. Disponibile anche per dispositivi mobili Android, iOS e Windows phone.
- ADrive-> è uno dei primi servizi di cloud storage, nato nel 2007 e vanta milioni di utenti.
- Amazon Cloud Drive-> il cloud del colosso americano.
- Apple iCloud-> la nuvola della casa di Cupertino.
- Bit Casa Free-> azienda statunitense.
- Box-> è uno dei cloud storage più importanti per le aziende.
- Cloud Mail.ru-> cloud Russo.
- Hi Drive-> cloud olandese.
- Hubic-> società francese leader, è la terza azienda del settore a livello mondiale.
- I Drive-> opera principalmente per i backup app e IPad.
- Mediafire-> storico colosso del cloud storage con sede in Texas.
- Mozy Home Free-> vincitore di numerosi premi per la sicurezza.
- Qihoo 360-> Azienda leader in Cina che offre anche servizi Cloud.
- Team Drive-> Azienda Tedesca.
- Tencent Weiyun-> cloud del colosso cinese Tencent (in inglese o cinese).
- 4synch-> servizi cloud con particolare attenzione alla sicurezza grazie a sistemi di criptaggio. Hardware and software Il termine hardware intende raffigurare tutto ciò che si può materialmente toccare, quindi l’insieme dei componenti fisici del computer. La definizione di software comprende, invece, tutti i componenti immateriali del computer, creati dall’intelligenza umana, necessari per impartire istruzioni all’elaboratore elettronico, macchina inanimata. Hardware e software si integrano a vicenda nel computer senza che l’uno prenda il sopravvento sull’altro. L’hardware è la parte fisica, elettronica, magnetica e meccanica, per esempio: Monitor, Stampanti, PC case, tablet ecc. Una definizione molto brutale per quanto efficace di hardware è stata data da Jeff Pesis «L’hardware è la parte dell’elaboratore che puoi prendere a calci». Il software è la parte logica per esempio i programmi ed i protocolli di trasmissione, per esempio: Antivirus, un dato informatico, Sistemi operativi, Programmi, videogiochi, il browser, un videogioco ecc. Il touch screen è un software od un hardware? -> Memorie primarie e memorie di massa
Memorie primarie
1) L’informazione digitale, costituita da stringhe di bit o suoi multipli, viene conservata
all’interno del computer in apposite “cellette” di memoria, ed i supporti di memorizzazione sono diversi a seconda della funzione che le memorie devono assolvere: avremo così dei supporti che servono per immagazzinare in modo stabile i dati (e memorie, invece, chiamate di “operative” che vengono utilizzate soltanto durante il ciclo di lavorazione dei dati. La memoria operativa, detta anche “memoria centrale” o “memoria interna” proprio per sottolineare la sua posizione vicina alla CPU (il processore). Essa è la memoria RAM , dove vengono conservati momentaneamente i dati in formato digitale in corso di elaborazione. La memoria RAM, per le sue peculiari caratteristiche, viene anche definita come memoria primaria. La memoria RAM ha la peculiare caratteristica di essere decisamente più veloce delle memorie secondarie, tuttavia ha lo svantaggio di perdere i dati ogni qualvolta avviene una privazione
La più nota di esse è l’Hard disk detto anche disco rigido. Esso è il tipo di memoria di massa più diffuso. L' hard disk venne inventato nel 1956 dall'IBM. Il primo prototipo era costituito da 50 dischi ed aveva un diametro di circa 60 cm. Originariamente aveva il nome di fixed disk ma nei primi hanno ‘70 venne chiamato hard disk per distinguere la sua rigidità rispetto ai floppy disk, che nel frattempo, stavano diffondendosi. L’hard disk è composto, essenzialmente di due parti: Una parte meccanica ed una parte elettronica. La distinzione fra memoria primaria e secondaria è dovuta essenzialmente a un problema di capacità, velocità e costi. Generalmente infatti le memorie primarie sono più veloci ma costano di più e hanno una capacità inferiore, mentre quelle secondarie sono più capienti ed economiche, ma sono anche più lente.
- Hard disk-> letteralmente dall’inglese “disco rigido” o “fisso”. In esso sono contenuti tutti i dati, i programmi e le istruzioni necessarie all’elaboratore per eseguire il proprio lavoro. Le informazioni sono registrate in apposite tracce concentriche, disposte su ciascuna faccia del disco ed organizzate in settori. Oggi comunque, grazie anche alla loro facilità e velocità di utilizzo, si fa largo uso di hard disk esterni collegabili direttamente alla porte USB 3.0 del PC.
- USB Flash Drive-> chiamata anche volgarmente pennetta ‘’USB” o “Pendrive”, è una memoria di massa portatile autoalimentata e di ridotte dimensioni, collegabile attraverso porte USB 2.0/3.0. Essa ha una capacità di archiviazioni fino a 64 GB e una banda passante (velocità di scrittura) fino a 800 MB/s. Da notare che la USB Flash Drive è molto diffusa sia per la loro versatilità che per gli oltre 100.000 cicli di scrittura. Si segnala, inoltre, che possono avere forme e dimensioni del tutto originali elementi che, congiuntamente con un costo di produzione molto basso, ne favoriscono la diffusione.
- Floppy Disk-> letteralmente dall’inglese “disco flessibile”. Il nome deriva dai primi dischetti costruiti con un involucro di cartone e quindi “flessibili”. Nell’evoluzione hanno avuto quattro differenti formati, via via più piccoli. I primissimi progetti videro lo sviluppo di floppy disk dalle dimensioni di 12 pollici (circa 30 centimetri) ed una ridottissima quantità di dati immagazzinabili. Il loro primario problema era la pericolosissima fragilità che, non fu mai risolta, benché crebbe lo spazio di memorizzazione. dalla metà degli anni ’80 presero piede i mini-floppy da 3 pollici e mezzo (circa 9centimetri) dotato di un involucro di metallo che proteggeva il nastro magnetico. Capacità di 1,44 MB.
- CD -ROM -> costituito da un disco di materiale vetroso che, colpito da un particolare raggio laser, consente la memorizzazione di informazioni in formato digitale. Analogamente a tutti i supporti ottici, permette di superare i problemi tipici dei floppy disk, cioè la fragilità e la carenza di spazio (benché anche i CD siano suscettibili a danni da flessione, da sfregamento da esposizione alla luce diretta). Essi ebbero una rivoluzionaria capacità di archiviazione circa 700 MB contro i soli 2MB dei floppy disk.
- DVD-ROM -> è un supporto di memorizzazione che ha l’aspetto e le dimensioni di un CD -ROM, ma una capacità di memoria molto superiore. Infatti, un disco DVD può contenere un intero film. In particolare, il DVD-ROM è un supporto di memoria di massa che può contenere tutti i tipi di dati normalmente gestibili da un computer (programmi, immagini, filmati, ecc.). La capacità dei DVD è decisamente più imponente rispetto a quella dei CD e, infatti, può contenere circa 4,7 GB di dati. Nel corso degli anni stati commercializzati anche i DVD-dual-player, che possono contenere fino a17 GB. La peculiarità di quest’ultimi è di scrivere le informazioni su entrambe le facciate del DVD, raddoppiandone così la capacità.
- Blue-Ray disk -> supporto ottico, apparentemente identico ai CD CD-ROM ma che, grazie alla sua vastissima capacità, è dedicato principalmente all'archiviazione di filmati in Ultra HD/4K e videogames di ultima generazione che richiedono sempre maggiore spazio di memoria, con una capacità fino a 200 GB.
- Cloud computing -> in italiano “nuvola informatica”. È una sistema di erogazione di risorse informatiche che consente di ricevere servizi e di archiviare dati su dei server. Questo permette l’accessibilità dei dati da qualunque dispositivo ed in qualunque luogo
purché si disponga di una connessione internet. Le possibilità del cloud permette di svolgere operazioni Self-Service, ovvero l’utente deve poter richiedere i servizi (potenza computazionale, applicazioni) in totale autonomia, senza necessità dell’intervento dei gestori dell’infrastruttura o del service provider. E in secondo luogo, permette l’accessibilità globale. I sistemi informativi Il computer, per funzionare ha bisogno di un insieme di componenti hardware (es .la tastiere, il mouse, il monitor ecc.) e software (i programmi). L’architettura del computer necessita dell’integrazione dei sistemi fisici (hardware)e logici(software). Si può dire che il sistema operativo è quel software residente nella memoria di massa di un computer (sia essa l'hard disk o altro dispositivo portatile), che viene eseguito al momento dell'accensione del calcolatore (bootstrap). I sistemi operativi possono essere distinti in:
- Monoutente
- Multiutente -> Seriale (per una volta) o Parallelo (simultanei)
- Monotasking (una applicazione per volta)
- Multitasking (più applicazioni simultanee)
- Portabile (utilizzabile su hardware differenti da quello di programmazione) Le principali funzioni dei sistemi operativi possono essere:
- Gestione Periferiche di input e output
- Esecuzione dei programmi ed allocazione delle risorse
- Gestione ed archiviazione dei file nel file system La struttura dei sistemi operativi si compone di sei elementi standard:
- Kernel-> Consiste nel gruppo di funzioni fondamentali che operano direttamente con i componenti hardware. Queste funzioni dispongono della massimo privilegio operativo e, pertanto, hanno il permesso di modificare praticamente ogni cosa.
- Sistema di gestione memorie primarie-> Consente l’allocazione della memoria primaria richiesta dai programmi e dal sistema operativo stesso, inoltre salva sulla memoria di massa le zone di memoria temporaneamente non usate dai programmi (memoria virtuale) e garantisce che le pagine vengano riportate in memoria se richieste.
- Scheduler->Disciplina il tempo di esecuzione delle varie applicazioni gestendole in modo tale che vengano eseguite a tempo debito. Si occupa anche della gestione dei processi in esecuzione e permette l’allocazione delle risorse laddove un processo attivo non venga utilizzato.
- File system-> Il gestore di file system consente di accedere alle memorie massa. l software di gestione del file system è responsabile dell'organizzazione di questi settori in file e di tenere traccia di quali settori appartengono a quali file e quali settori invece non sono utilizzati. L'utente ha normalmente la totale libertà di creare nuovi file, cancellare file esistenti (liberando così i blocchi che questi occupavano), e modificare file esistenti (cambiando così anche la loro dimensione e quindi il numero di blocchi occupati).
in maniera diversa, oggi questo problema è stato, fortunatamente, risolto e tra i due sistemi è stata stabilita una certa interoperabilità.
- iOS-> Il sistema operativo mobile per gli IPhone è nato nel 2007 dallo sviluppo di MacOS X. Peculiare è la presenza applicazioni mobile (app) assimilabili a dei “software”, che possono essere scaricate, ovvero acquistate, attraverso dei distributori digitali (store) che raggruppano le app in contenitori omogenei per categoria o funzionalità. Queste app consentono di personalizzare il dispositivo a seconda degli interessi e dell’uso che l’utente vuole farne.
- UNIX-> È un sistema operativo creato alla fine degli anni '60 dalla società americana AT&T e successivamente sviluppato in ambito universitario da ricercatori dell'università di Berkeley (California). È un sistema multiutente (seppur funzionante ad interfaccia testuale), multitasking e portabile su un gran numero di architetture di elaboratori e laboratori. L’invenzione del linguaggio di programmazione C, che permetteva una programmazione relativamente semplice e funzionale con istruzioni traducibili direttamente nel linguaggio macchina, ha favorito lo sviluppo di Unix. Nonostante la sua “interfaccia tradizionale”, Unix si è molto diffuso sulle workstation grazie alla sua innovativa capacità di permettere operazioni di manutenzione a livello centrale. Elemento che permise la gestione del traffico voce e dati su computer che potevano essere gestiti a livello centrale senza l’invio di tecnici sul posto per ogni singolo guasto.
- Gnu-> un sistema operativo Unix like (di tipo Unix, compatibile con Unix) ma che se ne differenzia come già dimostra il nome esteso che infatti, è l’acronimo di GNU is Not Unix. Il fondatore decise di scrivere un intero sistema operativo pienamente compatibile con Unix, ma che, a differenza di questo, fosse completamente costituito da software libero. Il sistema garantiva un software libero che, agli utenti, imponeva unicamente il vincolo di ridistribuirlo mantenendo la formula di software libero.
- Gnu/Linux-> GNU/Linux è un sistema operativo creato da un giovane studente dell’Università di Helsinki, che partendo da GNU, iniziò a sviluppare un kernel al quale venne dato il nome di Linux. Egli decise di rilasciare Linux sotto licenza GPL (della Gnu). In questo modo gli fu possibile cooperare in rete con altri programmatori per perfezionare il kernel fino a renderlo sufficientemente maturo portandolo ad un nutrito gruppo di nuove versioni. Nel corso degli anni si sono sviluppate nuove versioni di Linux che hanno iniziato ad operare in modo autonomo come veri e propri sistemi operativi:
- Ubuntu-> È un sistema operativo prevalentemente basato sul modello del software libero e di chiara derivazione da Linux. Nato nel 2004 ha conosciuto un notevole successo, tanto da essere diventata in poco tempo la più diffusa fra tutte le distribuzioni del mondo Linux. Essa unisce una notevole facilità d'uso alla stabilità di una distribuzione storica come Debian, risultando, quindi, un sistema sicuro e accessibile, nonché gratuito e liberamente copiabile e personalizzabile.
- Linux Mint-> Contraddistinto da una maggiore facilità d'uso, in quanto dal punto di vista dell’interfaccia grafica presenta molte similitudini con Windows7. La versione principale (Main) di Mint è considerata la più semplice per chi vuole avvicinarsi al sistema operativo di Linux, ciò grazie alla presenza di applicazioni già installati di default e alla presenza di codec proprietari (quali il supporto agli MP3 ed al Flash). Infatti, questo sistema, a differenza di Ubuntu permette l’uso combinato sia di programmi proprietari che open source venendo maggiormente in favore alle esigenze dell’utente.
- Android-> Creato nel 2003 per sviluppare quelli che il fondatore definì dispositivi cellulari più consapevoli della posizione e delle preferenze del loro proprietario. Nel 2005 il colosso Google, intenzionato ad inserirsi nel settore della telefonia mobile, acquistò la Android Inc. In quel periodo fu deciso di sviluppare un sistema operativo basato sul kernel Linux. A partire del 2007 venne creato un consorzio con la partecipazione del produttore di smartphone Samsung, T-Mobile e prestigiosi produttori di microprocessori. Il risultato fu il S.O. Android.
Internet, trasmissione a pacchetto, sincronizzazione
Internet è fra le più grandi e rivoluzionarie innovazioni della storia umana ma è nata attraverso un curioso progetto militare che doveva essere una clamorosa contromisura americana per contenere il pericolo derivante dall’URSS. La curiosa ambientazione sembra decisamente più da spy story che da pacifica rete pubblica aperta a tutto il mondo ed in grado di abbattere le distanze e le differenze culturali. Le origini di Internet risalgono agli anni ‘60 e la sua nascita si deve alla realizzazione di ARPANET, una rete di computer costituita negli USA da ARPA (Advanced Research Projects Agency), agenzia creata nel 1958 dal Dipartimento della Difesa degli Stati Uniti per contrastare il superamento tecnologico dell’Unione Sovietica. principale dilemma era la totale incapacità di consentire agli elaboratori di comunicare fra loro. Serviva una immensa quantità di lavoro per riuscire a trasferire i dati in formati accettati da altri computer. Il direttore della divisione informatica dell’ARPA riuscì ad ottenere un finanziamento di un milione di dollari per il progetto ARPANET. L’obbiettivo primario era riuscire a trovare una metodologia di trasmissione dei dati che consentisse, senza troppi sforzi, la condivisione di dati da un computer all’altro. Il calcolatore più grande di sempre era il SAGE, il cui obiettivo era raccogliere i dati dai radar dislocati sul territorio, processarli e produrre una immagine dello spazio aereo. Giunse un’idea da un ingegnere polacco, egli propose di dividere l’informazione da inviare in tanti componenti, inviarli in tempi diversi e, grazie a degli appositi protocolli, riassemblarli nelle giuste posizioni. Nell’ottobre del 1969 venne effettuato il primo collegamento telefonico fra due computer connettendo due importanti atenei statunitensi. Nel corso degli anni, diverse comunità scientifiche, sia negli USA che nell’Europa occidentale, contribuirono ad implementare nodi, servizi e protocolli di comunicazione. Sincronizzazione Il problema della sincronizzazione dei dati è un annoso problema che può portare a situazioni di stallo(deadlock) nelle quali non è possibile utilizzare il dispositivo. Può capitare una situazione in cui più processi siano iniziati e nessuno possa terminare perché richiedono contemporaneamente le medesime risorse. In questa situazione i processi restano congelati in attesa che si liberi la risorsa necessaria. A questo punto sia il processo A che il processo B resterebbero in attesa che si liberi l’altra risorsa pur mantenendo impegnata la prima. Ecco un classico caso di deadlock. Fu un informatico olandese a risolvere il problema servendosi di un esempio basato sui cinque filosofi a cena. Si immagini che ci siano 5 filosofi con 5 piatti di spaghetti ed altrettante bacchette cinesi. I filosofi passano la loro vita a pensare e mangiare ma per mangiare hanno bisogno, ciascuno, di due bacchette. La soluzione-> i filosofi F1, F2, F3, F4 prenderanno la loro bacchetta normalmente. Il solo filoso F5 invertirà l’ordine della mano con cui prende la bacchetta. In questo modo si genera una asimmetria che evita il deadlock.
Gli internet service provider