







































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
APPUNTI INFORMATICA E STATISTICA : Ho evidenziato già le parole chiave e le parti più importanti, sono evidenziati con colori diversi e schematizzati.
Tipologia: Appunti
1 / 47
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!








































“un motore di ricerca, quando riceve una domanda da un utente, dove va a cercare?” ricerca, avviene da siti come da Google. La ricerca, quindi, va in tutti gli archivi. Il motore di ricerca ha un funzionamento che è analogo all’organizzazione di una biblioteca: c’è un catalogo con tutti i libri della biblioteca. Nella biblioteca posso andare ad identificare i libri cercando sul catalogo: nel web, abbiamo risorse di ogni tipo al posto del catalogo: filmati, siti, immagini.. quello che il motore di ricerca riconosce sono tutti i contenuti dell’archivio e sceglie quelle più pertinenti. Noi mandiamo una ricerca e il motore di ricerca la analizza e la trova per tutto il web. C’è una distinzione fra web e deep web: parte del web che non è nota al motore di ricerca: pagine web non inserite nel catalogo di ricerca, quindi l’archivio non è necessariamente qualcosa di illegale ( una parte del deep web c’è il dark web, l’attività illegale) , ma volutamente non vengono messe nel motore di ricerca perché non sono considerate utili o le pagine web non vengono messe nell’archivio da chi sviluppa il sito web afferma che non debbano essere inserite nell’archivio di un motore di ricerca. ! consorzio del World Wide Web: esiste, ma non ha un indice generale di siti: è difficile che venga costantemente aggiornato. statistica descrittiva: misure di sintesi, di potenza centrale:! della media. “Definizione di media”: il concetto di media è un qualcosa che conosciamo tutti, ma quando dobbiamo dare una definizione di media, siamo in difficoltà è un singolo valore numerico che descrive un insieme di dati, ce ne sono diversi tipi: aritmetica, geometrica, armonica, la media ponderata. La media ponderata: ponderazione del numero di... Noi dobbiamo conoscere tutte le misure che abbiamo a disposizione che ci permettono di dare una definizione di tutti i dati che abbiamo raccolto: quando conosco la media, la moda e la mediana posso creare dei grafici attraverso la distribuzione dei dati distribuzione della frequenza: sull’asse delle Y c’è una frequenza: quante volte è stato misurato il valore della variabile X. ! dei Cookies = si salvano delle informazioni e vengono registrate dai vari siti che visitiamo, è una strategia che viene adottata da tutti i siti web per fornirci un servizio migliore piuttosto che quello che viene fornito senza cookies, vengono incontro alle nostre esigenze. 21.04. L’informatica soffre molto l’associazione che viene fatta da tutti in maniera naturale tra la disciplina e il calcolatore, il computer, e quello che spesso viene detto è che l’informatica riguarda il computer, soprattutto come disciplina. In realtà citando uno dei più grandi informatici come Dijkstra, afferma che ci sono strumenti che vengono utilizzati per lo studio della disciplina per l’elaborazione e la raccolta dei dati, ma non sono l’unica cosa che viene utilizzata e che riguarda la disciplina stessa. Ne è un esempio il telescopio per l’astronomia = ma la disciplina non è solo usare il telescopio e tutto si esaurisce li, perché la disciplina è molto più ampia. La stessa cosa è l’informatica, è importante conoscere lo strumento ma anche la disciplina in generale. Quindi, l’informatica è: “uno studio teorico dell’informazione, degli strumenti di elaborazione automatica e della computazione.”
Abbiamo tre concetti distinti: Lo studio dell’informazione è quello teorico. C’è la computazione, quindi come vengono trattate le informazioni e poi il trattamento per elaborarle. L’elaborazione avviene attraverso strumenti e soprattutto del calcolatore. Il fatto che si usi un calcolatore, porta ad avere tantissimi vantaggi: quando cerco di elaborare delle informazioni attraverso il calcolatore, ho una riduzione dei tempi di calcolo e posso svolgere delle automazioni del lavoro velocemente e delle diffusioni di metodi e tecniche che richiedono delle tecniche specifiche servono delle figure professionali specifiche. Il calcolatore può essere paragonato, per le sue funzionalità, all’uso di una calcolatrice rispetto a ad un conto manuale : uso i calcoli manuali per ottenere un risultato, ma con la calcolatrice il risultato è molto più affidabile dei conti a mente e molto più veloce = automazione dell’elaborazione delle informazioni. L’informatica viene chiamata in vari modi: “computer science” che è dovuta al trattamento e all’elaborazione grazie al calcolatore quindi si presenta un’associazione fra computer e scienza, ma può essere chiamata anche “tecnologia dell’informazione” ! dopo la scoperta di internet e della connessione, la disciplina viene chiamata: “information and communication technology” perché la comunicazione e il trasferimento di informazioni è diventato fondamentale comunicazione non solo tra persone, ma comunicazioni fra calcolatori distinti che ci permettono di ottenere tutti dei servizi che oggi utilizziamo normalmente. L’informatica che si occupa dell’elaborazione delle informazioni: Dato: insieme di simboli presi da un alfabeto : esempio 39,5 cifre decimali e virgola. L’elaboratore, quindi il computer, non ha coscienza = esegue solo istruzioni, quindi il dato non è sufficiente all’elaborazione. Informazione: associamo al dato stesso, una proprietà 39,5 gradi che equivale alla temperatura corporea di una persona. conoscenza: andare a definire tutte quelle regole necessarie alla elaborazione di questa informazione. Quindi la conoscenza dipende dall’elaborazione, perché qualcun o fornisce regole ed istruzioni che ci permettono di elaborare l’informazione esempio, prendo paracetamolo perché ho una temperatura alta. Noi umani siamo abituati ad utilizzare il linguaggio naturale per comunicare, ma il calcolatore non legge questo linguaggio perché lo legge come ambiguo. Vengono introdotti, quindi, i linguaggi formali = si usa una grammatica formale e anche una semantica formale = il significato attribuito non contiene ambiguità. Quindi: Il linguaggio naturale è ambiguo: “Sposta il cavallo” Qual è il significato specifico di cavallo? Anche conoscendo il contesto... “Tizio vide Caio nel parco con il cannocchiale” Chi aveva il cannocchiale? I linguaggi formali sono stati i ntrodotti per evitare le ambiguità nell’interpretazione. Sono composti da: alfabeto finito di simboli e dalla grammatica formale. Esistono quindi delle semantiche formali per attribuire il significato alle frasi di un linguaggio formale. Nei calcolatori tutto ciò che viene codificato avviene tramite l’unità di misura BIT (Binary digit) che fa parte delle cifre binarie. E’ possibile rappresentare il valore dei bit su dispositivi bistabili .. la bistabilità prevede due stati stazionari. Un bit può assumere i valori 0 e 1: 2 bit: 4 (2 elevato alla seconda) sequenze possibili: 00, 01, 10, 11 .. 3 bit: 8 (2 elevato alla terza) sequenze possibili: 000, 001, 010, 011, 100, ... ... 8 bit: 256 (2 elevato all’ottava) sequenze possibili .. n bit: 2(n) sequenze possibili.. 8 BIT rappresenta un BYTE. 1 BYTE ha una dimensione otto volte maggiore rispetto al BIT. Per quanto riguarda la velocità di trasferimento dei dati, le reti internet che utilizziamo a casa sono misurate per BIT per secondo, mentre quella del web p misurata per BYTE per secondo. Se devo
Ogni misura di grandezza, aggiunge un +10 di grandezza Il KG che è 1000, nel sistema binario è 1024.. nel sistema internazinale noi aumentiamo di un fattore mille alla volta, quindi passiamo dal 10 alla terza al dieci alla sesta, al dieci alla nona..mentre nel sistema binario aumentiamo solo di 10 alla volta. Quando vengono indicati BIT e BYTE vengono usate due B diverse, quindi BIT con una b minuscola, mentre BYTE con una B maiuscola. Quando parliamo di BYTE parliamo di una misura otto volte più grande di BIT. ( esempio: La velocità di download di alcuni file viene indicata è una velocità di Byte al secondo. L’unità di misura della velocità di trasferimento dei dati come il wifi è una velocità che viene indicata con BIT per secondo, quindi quando abbiamo una connessione che va ad una velocità di 100 mega, sono MEGABIT per secondo vado 8 volte più piano. Quando facciamo delle operazioni di download, la velocità di scaricamento va per BYTE al secondo. Quando abbiamo queste connessioni in cui ci viene venduto un servizio a 100 MEGABIT è il valore massimo che dovremmo raggiungere, ma non la raggiungiamo mai, perché condividiamo quella velocità con altre persone con le quali condividiamo la rete oppure per la distanza della centrale. ) quindi l’ elaborazione si svolge attraverso: Creazione ; modifica (eliminazione); confronto; conservazione; trasmissione. Tutte queste elaborazioni avvengono grazie agli algoritmi che permettono all’esecutore di partire da un input per ottenere un output. L’informazione viene elaborata tramite algoritmi, dove l’input è un codice numerico da calcolare e l’output è il risultato , quindi l’entrata è l’input e l’uscita è l’output. L’elaborazione automatica non riguarda solo i computer, ma riguarda tantissimi sistemi che prima erano manuali, ma poi sono diventati automatici. I sistemi di elaborazione si sono evoluti col tempo: abaco (rappresentazione numerica posizionale); regolo calcolatore (strumento di calcolo analogico) – elaborazione manuale dell’informazione che serve per fare dei calcoli matematici, e l’elaborazione si svolge in
modo da fare scorrere la barra centrale del regolo, e quindi l’output dipende dalle barre laterali e l’input nella barra centrale; Pascalina (calcolatrice meccanica) – ingranaggi che vengono fatti girare per avere un risultato del calcolo matematico; analytical engine (primo calcolatore programmabile); calcolatore basato su relè elettromagnetici; Colossus (calcolatore a valvole termoioniche); ENIAC – avevano grandi dimensioni, che occupavano stanze intere, la sua capacità di elaborazione e la potenza di calcolo non era paragonabile a quella che abbiamo oggi nei nostri telefoni; EDVAC; calcolatori a transistor; calcolatori con microchip; personal computer. ! dello studio di Gordon Moore , perché ha previsto, alla fine degli anni sessanta, vedendo come si stesse evolvendo la tecnologia, ha fatto una previsione dove sostanzialmente quello che diceva era che a partire dagli anni sessanta sarebbe raddoppiata la presenza di calcolo dei calcolatori. La previsione fu accurata, perché i calcolatori costruiti hanno rispettato quella previsione. Dalla fine degli anni 10 le cose sono cambiate, ma fino a quel momento la previsione era stata accurata quindi, ogni circuito, raddoppia ogni due anni. I computer derivano da un progetto di Von Neumann : difficilmente conosciuto, che è scappato negli stati uniti durante la seconda guerra mondiale, ha partecipato al progetto Manhattan ed è stato un personaggio molto complesso: fondamentale per la tecnologia che abbiamo fatto oggi. Von Neumann ha definito il calcolatore universale : a differenza di quello che era stato fatto in precedenza ha sviluppato un calcolatore universale che eseguiva qualsiasi tipo di elaborazione. Le macchine facevano solo elaborazioni di un certo tipo, risolvevano solo un determinato problema: c’erano solo calcoli di un certo tipo. Il calcolatore universale deve avere un dispositivo di memorizzazione in cui vengono mostrati i dati e tutte le operazioni che devono essere eseguite. Per poter memorizzare i dati, bisogna svolgere la codifica binaria. Andando a fare questo tipo di scelta e di lingua, si poteva permettere un’elaborazione generale questa elaborazione veniva fatta sfruttando l’aritmetica binaria , con la quale venivano svolte le operazioni. Il calcolatore cosi come lo presenta lui, è un calcolatore che è composto da un processore, che viene chiamato “CPU” = unità di calcolo centrale, processore, che va a leggere dalla memoria le istruzioni che deve seguire dai dati alla memoria il tutto viene codificato utilizzando la codifica. Tutte le componenti sono collegate fra di loro tramite il BUS. L’essere umano può interagire utilizzando un’interfaccia periferica, con lo schermo e rispettive memorie. Il tutto, all’interno, è collegato a sistemi di comunicazione. Von Neumann definisce la struttura del calcolatore, che è arrivata a noi fino ad oggi, alla quale sono state aggiunte delle cose. La base è la struttura fondamentale cosi come l’aveva immaginata lui. I calcolatori sono compatibili se utilizzano lo stesso linguaggio macchina, quello che poi è successo dopo la nascita dei primi calcolatori è che ad un certo punto il processore è diventato velocissimo rispetto alle altre componenti = problema del collo di Bottiglia di Von Neumann. Le istruzioni diventano troppo veloci per trasferirle dal processore alla memoria e viceversa. …. Quindi: Obiettivo era realizzare un calcolatore universale con le seguenti caratteristiche principali:
lettura dalla memoria (fetch); decodifica ; esecuzione ; scrittura. Il calcolatore ha delle componenti che negli anni sono cambiate. La componente principale del processore è la CPU che legge nella memoria le istruzioni di dati che deve eseguire un’elaborazione deve eseguire delle memorie che sono al suo interno: esempio “registri R” e “program counter”. All’interno del processore c’è un ‘unità aritmetica logica che è binaria = sono 0 e 1 e il processore va ad una velocità che viene stabilita da un orologio interno chiamato “clock”, e la sua frequenza è in HERTZ. I processori che troviamo nei nostri processori è Giga Hertz = i nostri processori sono in grado di eseguire miliardi di esecuzioni al secondo. Un’altra componente è la memoria: i tipi diversi di memoria compiono diversi compiti. Quella definita da Von Neumann è una memoria simile alla RAM, detta anche memoria centrale che si interfaccia direttamente col processore (CPU) tramite il BUS. È molto veloce, ma anche volatile: questa memoria riesce a contenere i dati e le info solo se il nostro calcolatore è acceso e alimentato, ma se questo calcolatore viene spento viene perso tutto. Se si perdono le info riguardo alla RAM , quindi tutto ciò che non veniva salvato, andava perso. È una memoria che ha un accesso veloce ai dati e alle info, perché ha un accesso molto particolare : RAM è random casual access, permette un accesso diretto ed è un accesso diverso rispetto ad altre memorie, come mista, sequenziale, associativa.. Le videocassette hanno un accesso sequenziale, quindi se voglio andare a vedere qualcosa che è verso il fondo del nastro, arrivo a quel punto scorrendo. La memoria RAM, invece, essendo diretta, mi focalizza subito con quello che voglio cercare. Le dimensioni massime sono di alcuni GB. I calcolatori arrivano ad avere 12-16 GB , quindi non sono particolarmente grandi, perché le memorie sono molto costose. Esistono anche altri tipi di memorie, la ROM e l’EPROM , che non erano state previste da Von Neumann e che vennero inserite nel calcolatore dopo: ROM = READ ONLY MEMORY SOLO LETTURA software ricaricato che viene inserito anche nella televisione inseriti dei dati quando vengono inserite in un dispositivo, ma il software non cambierà mai e mostrerà sempre quei dati inseriti per “leggerli”. EPROM = si può leggere ma anche riprogrammare. Ai calcolatori odierni è stata aggiunta la memoria di massa : permette la persistenza dei dati, si possono salvare i dati in maniera permanente , anche quando il calcolatore viene spento. Memoria molto più lenta e il prezzo è inferiore. Parlando di computer si parla di “disco rigido” 100 GB e 2- TB = 1024 GB. Queste memorie di massa nei telefoni sono 256 costano molto di più rispetto a quelle dei computer. Il telefono è molto più piccolo, perché va inserito nello smartphone quindi la tecnologia che ci sta dietro è costosa. Nella memoria ci possono essere: backup, formattazione e ridondanza : La ridondanza : esistono alcuni calcolatori che permettono di salvare i dati in maniera persistenze utilizzando questi meccanismi, ovvero al posto che salvare una singola copia del dato vengono salvate copie ridondanti fatto da chi ha la necessità di salvare e avere una maggiore certezza della persistenza dei propri dati. La ridondanza prevede anche che venga occupata più memoria. Si utilizzano soprattutto sulle banche per salvare le informazioni sui propri clienti. Si mettono in parallelo 2 o più hard disk, cosi vengono salvate le stesse info, cosi se dovesse saltarne uno l’altro fa da appoggio.
Backup: copia di sicurezza dei dati, che normalmente viene salvata e messa su una memoria esterna al calcolatore backup in remoto (grazie alla connessione su internet come su cloud) o su memoria esterna. Formattazione : elimino i file dalla mia memoria, riportandola alla configurazione originaria. Le memorie di massa si possono classificare in dispositivi magnetici, ottici e memorie flash: floppy disk, disco rigido, nastro magnetico, compact disco, DV, Blu Ray, memory card, drive USB, hard disk a stato solido hard disk di nuova generazione e sostituiscono i classici hard disk, ha un prezzo molto più alto dell’hard disk: ha molti vantaggi se lo usiamo su un portatile, non ha parti meccaniche in movimento ma usa una tecnologia diversa, scalda di meno, consuma di meno. Quelli ottici sono delle memorie che utilizzano la luce laser per leggerli = il disco DVD ha le stesse dimensioni di un compact disk e blu ray i laser memorizzano i dati, se c’è il blue ray ovviamente sarà molto più forte quindi memorizza di più. Il collo di bottiglia di Von Neumann: il processore è molto più veloce rispetto alla memoria che in quella delle informazioni del Bus che porta info dalla memoria al processore per l’elaborazione. Per risolvere questo problema si aggiungono delle piccole memorie al processore e si usano i principi di località temporale e spaziale per il trasferimento dei dati. Se il processore è così veloce per cui la memoria non riesce a stare al passo, si deve innanzitutto sfruttare dei principi per la lettura e la scrittura della memoria con località per spazio e tempo: si tiene in considerazione che se il processore chiede accesso ad una particolare memoria, si pensa che la richiederà ancora in un secondo momento a quella memoria: se la memoria è pronta, risparmia ancora tempo. Per quella spaziale è che se è stata letta un’area specifica il processore ha bisogno delle cellule adiacenti a quella usata. Sfruttando questi principi si prendono più informazioni di quelle richieste e vengono messe nelle CASH: che sono di primo, secondo e terzo livello memorie piccole ma utili per salvare info per il processore, in modo che il processore non perda tempo, in modo da non essere mai inattivo. Rispetto alla memoria di Von Neumann, abbiamo una struttura più complessa: il processore ha al suo interno delle memorie e non c’è tempo di attesa perché i dati sono stati già inseriti nelle memorie: registri e le memorie cash. Sono memorie che vanno da alcuni BYTE a Mega BYTE. All’esterno abbiamo la Ram e all’interno le memorie di massa, che colleghiamo tramite la porta USB. Il collo di bottiglia di Von Neumann è risolto grazie a dei principi che permettono di gestire in maniera intelligente questa lettura e scrittura e l’utilizzo di piccole memorie che permettono di tenere occupato il processore.
Dispositivo ad audio scheda sonora, media center, lettore mp3: anche l’audio è stato introdotto successivamente, quando è stato introdotto l’aspetto legato ai suoni. C’è anche il VOIP = funzionalità che ci permette di fare delle chiamate audio tramite internet, come whatsapp e skype. Combinazioni di periferiche combinano non solo input e output, ma anche audio e video:
Nel software è importante l’algoritmo. L’algoritmo è una sequenza di istruzioni che risolvono uno specifico problema e questa sequenza deve avere specifiche caratteristiche: deve avere un esecutore (in ambito informatico è il calcolatore); ha tipicamente dei dati di input e output; deve essere formulato in un linguaggio comprensibile all’esecutore; deve contenere solo istruzioni elementari (esecuzione di operazioni elementari); non deve essere ambiguo deve fornire dati di output in un tempo finito; deve essere deterministico (esistono anche algoritmi probabilistici e stocastici); i dati di input possono essere parametrici. probabilistico o stocastici: dato un input potrei avere diverse risposte, come simulatori di lancio di monete. Questi input potrebbero essere parametrici. Esempio di algoritmo: le ricette. Dati di input: acqua, pasta, sale Preparazione: 1 mettere l’acqua in una pentola 2 portare l’acqua a ebollizione 3 aggiungere il sale all’acqua 4 buttare la pasta 5 cuocere per 10 minuti 6 scolare la pasta Dati di output: pasta cotta. Ma siamo sicuri che una ricetta sia proprio un algoritmo? NO, è molto simile ma con due importanti differenze: La sequenza di azioni contiene spesso degli elementi di ambiguità risolti da un esecutore intelligente. es: spesso non si specificano gli strumenti da utilizzare, confidando che l’esecutore umano sbatta le uova nel posto giusto es: sale q.b. Non tutti i casi possibili vengono specificati. es: è chiaro che se c’è puzza di bruciato conviene spegnere il forno, anche se la ricetta non lo specifica (si confida nelle capacità deduttive dell’esecutore). La ricetta di un algoritmo non specifica tutte le informazioni e tutti i casi, ma grazie all’intelligenza dell’esecutore possiamo trovare delle soluzioni. La ricetta va bene come algoritmo quando sappiamo delle ambiguità. Algoritmo è simile ad un origami ci sono delle descrizioni con forme diverse. Ogni forma ha un significato specifico e unico. L’algoritmo è una sequenza di istruzioni scritte, in modo tale che un calcolatore possa seguirla senza commettere errori, prendendo in considerazione tutte le possibilità. 27.04. Turning Viene considerato il padre dell’informatica, era un matematico e un esperto di crittografia e di codici: ha sviluppato anche la macchina di Turning , un dispositivo astratto che ha una limitazione che lo rende impossibile da realizzare nella realtà. È una macchina concettuale che ci permette di realizzare degli algoritmi e le proprietà di rielaborazione delle informazioni, durante la seconda guerra mondiale ha permesso di decodificare le varie situazioni. Ci fa capire l’efficienza e la complessità degli algoritmi. Si esegue un algoritmo dopo averlo codificato seguendo specifiche descrizioni, ci fa vedere come funziona l’algoritmo e si vede quanto tempo ci mette per permetterci di raggiungere la soluzione e quanta memoria ci mette. È possibile capire se effettivamente un algoritmo è efficiente. È un concetto importantissimo soprattutto per gli informatici. È teorico ed è basato su una delle sue componenti: nastro. Il nastro è diviso in celle e rappresenta in questa macchina astratta la memoria. Gli algoritmi che possediamo oggi , come quello di Excel che ci permette di ordinare i valori, si basano su un metodo molto efficiente.
comunità di esperti che decidono di mettere in piedi dei soggetti che hanno un’alternativa gratuita di software a pagamento: esempio Linux, software opensource che implementa le funzionalità proposte dal pacchetto office esempio Call che è la versione open source di Excel. C’è una comunità che scrive e implementa degli algoritmi che organizzano delle funzionalità, e il lavoro che viene fatto dal programmatore riguardo al codice, viene messo a disposizione di tutti cosi tutti possono migliorarlo. Quando noi installiamo delle applicazioni sui computer o telefoni, normalmente accettiamo delle condizioni che non leggiamo mai. Queste condizioni, danno il consenso a chi vende o ci fa scaricare l’app di utilizzare i nostri dati. La licenza protegge la paternità dell’opera, quindi di chi la crea. Software il software di base è il sistema operativo è quando si può installare sopra ad un software altri software applicativi. Ci sono tantissimi software che funzionano all’interno del nostro browser, e al suo interno abbiamo a disposizione un sacco di software che si possono utilizzare come dropbox, o posta elettronica: scambio di file e di informazioni. Specialmente i software di videoscrittura, come word. Il software applicativo, quindi le app, fanno riferimento a quei software che possiamo utilizzare sul nostro calcolatore nel momento in cui abbiamo un software di base che ci permette di software un software applicativo. principali software applicativi sono: videoscrittura, gestione di fogli elettronici, produzione di presentazioni multimediali, desktop, publishing (volantini, brochure, ...) gestione di basi di dati, editor, web grafica e fotoritocco, realizzazione di diagrammi, gestione finanziaria, organizer project management, applicazioni legate a Internet e al web (browser, posta elettronica, peer2peer, ...) vengono installati sui calcolatori e permettono il corretto funzionamento del calcolatore e del software applicativo. Esempio:word funziona perché ho installato windows, e whatsapp perché ho installato android. I SO comunemente diffusi: Unix: sviluppato dai Bell Laboratories; Linux: (ad es. Ubuntu) è una famiglia di SO open source (basati su Unix); Microsoft Windows; Microsoft Windows CE: versione embedded del SO Mac ; OS: SO della Apple per personal computer Macintosh iPhone 7; OS: versione del SO della Apple per dispositivi mobile. Il sistema operativo è complesso , e si compone di diverse parti: Nucleo (Kernel): è quella parte di sistema operativo che si occupa della gestione del processore, quindi della CPU; Gestore della memoria: si occupa della RAM; Gestione dispositivi IO; File system: si occupa delle informazioni legate alla massa; Gestione della rete: connessioni internet sempre attive legge i messaggi. Interprete dei comandi. ! la gestione della CPU (Kernel) La CPU gestisce i processi in esecuzione che si possono trovare in 3 diversi stati: pronto, in esecuzione, in attesa. Grazie al timesharing: condivisione del tempo che il processore ci può dedicare per elaborare delle informazioni; e anche alla funzione Multitasking , ovvero la possibilità di fare più cose contemporaneamente, permette a noi utenti di eseguire più cose contemporaneamente al
processore e al sistema operativo. Indicano la possibilità di avere un parallelismo virtuale : è un qualcosa che viene realizzato dal processore grazie al sistema operativo, che dice al processore che cosa deve fare e i software che deve eseguire, utilizzando delle tecniche legate a specifici processi. Il sistema operativo fa eseguire al processore diversi software fornendogli le istruzioni in maniera molto efficace e veloce, in modo tale che quello che appare a noi è una sorta di parallelismo: il software passa da un miliardesimo secondo, ad esempio, da spotify alla notifica di un messaggio. Se anche la canzone di spotify e la riproduzione della canzone venissero interrotte, l’orecchio in un miliardesimo di secondo non lo sentirebbe: come se fossero in parallelo, ma non lo sono in realtà perché il processore in un miliardesimo di secondo si sposta da una applicazione all’altra. Il timesharing fa in modo che le istruzioni vengano condivise da tutti i software in esecuzione su tutto il dispositivo, e questa cosa si realizza nel multitasking e il tutto non viene fatto con un parallelismo reale, ma virtuale si cambia in maniera impercettibile. ! del context swapping = il sistema operativo fa passare all’esecuzione di un software, ad un altro = cambio di contesto. Abbiamo anche un gestore della memoria RAM, e questa è anche una componente fondamentale come il Kernel perché il sistema operativo deve gestire in modo efficiente la RAM e succede che il sistema operativo deve gestire lo spazio occupato della RAM dei sistemi in esecuzione. Il SO prende il software e lo carica nella memoria RAM, e quando viene caricato deve essere utilizzato ed eseguito dal calcolatore stesso. Il sistema operativo deve gestire l’occupazione della memoria nei vari software e lo fa utilizzando diversi concetti: memoria virtuale: prendo informazioni e le sposto da un’altra parte in un’area riservata da un hard disk; Pagine (Blocchi di memoria) a volte hanno componente hardware; Memory Managment Unit; Swapping (area di Swap). La RAM si occupa delle periferiche e tutto quello che riguarda l’interazione fra mondo esterno e calcolatore stesso: il sistema operativo fa credere ad ognuno dei software in esecuzione sul calcolatore che ogni periferica sia a sua completa disposizione. Penso ad una periferica come le casse che abbiamo nel computer: posso sentire in parallelo sia Youtube e al riproduttore musicale di windows, il programma crede di avere le sue casse a completa disposizione strumenti che devono essere riconosciuti dal sistema (stampante), che se non funzionano, scarico dei driver. La multiprogrammazione richiede la presenza di un gestore della memoria in grado di: controllare la RAM in maniera efficiente; gestire lo spazio necessario a ciascun processo; proteggere lo spazio di ogni processo; gestire lo spazio comune tra processi (usato per lo scambio di messaggi). La gestione dei file : parte del sistema che organizza informazioni in una struttura ad albero. Ogni file deve avere un nome univoco e dentro alla cartella non ci sono file con lo stesso nome il file system tiene traccia di tutti i file memorizzati sul nostro hard disk in maniera permanente, e sa quale è la posizione della memoria in cui andare a recuperare il file di cui riconosce il pathname.! delle periferiche virtuali: un processo opera come se la periferica sia a sua completa disposizione il processo è device independent grazie ai driver; L’impiego di una periferica in un dato SO è dipendente dalla presenza di un driver specifico. La gestione dei file viene effettuata dal file system. I file sono organizzati nel file system in maniera gerarchica a partire da una cartella: root. Dalla root viene originata una gerarchia con struttura ad albero. Un file viene identificato univocamente tramite pathname. Il file system memorizza le seguenti proprietà per ogni file e cartella:
Firewall: qualcosa che si pone fra il nostro calcolatore e la connessione ad internet e verifica tutte le comunicazioni in uscita e ed entrata; Antivirus: lavora internamente al nostro calcolatore – i virus sono in grado di cambiare e quindi si adatta. Internet La rete è quando noi abbiamo due o più calcolatori connessi fra di loro (o anche dispositivi). o Esistono reti che non sono Internet (La Rete); o Internet nasce perchè ci sono diverse reti connesse tra loro; o Internet viene anche definita rete delle reti. Una rete è un insieme di: Dispositivi informatici, detti Nodi della rete (calcolatori, stampanti, nas, media center); Connessioni (linea telefonica, fibra ottica); Protocolli: insieme di regole che servono per la navigazione nei vari siti web; Software (posta elettronica, safari); Utenti. In una rete avviene la comunicazione attraverso l’invio di messaggi a commutazione di pacchetto: con messaggio indichiamo qualsiasi tipo di sequenza di Bit, che vengono divisi in pacchetti e ognuno di questi pacchetti viene inviato, che piano piano raggiungerà il destinatario seguono strade diverse, c’è più efficienza un pacchetto indica l’unità minima nella quale un messaggio viene diviso. Ogni pacchetto segue il proprio percorso nella rete per raggiungere il destinatario: comunicazione più efficiente; i guasti possono essere bypassati; possibilità di inviare contemporaneamente più messaggi sulla rete. I protocolli di rete stabiliscono: il formato dei pacchetti, le modalità di comunicazione, regole per l’invio e ricezione dei messaggi. Non è l’utente preoccuparsi di come funziona l’infrastruttura ma i programmi. Stabiliscono: il formato dei pacchetti le modalità di comunicazione regole per invio e ricezioni dei messaggi Non è l’utente a preoccuparsi di come funziona l’infrastruttura, ma i programmi Chi gestisce i protocolli di rete: ISO (International Organization for Standardization); W3C (World Wide Web Consortium); emanano protocolli o standardizzano protocolli già esistenti (ad es. TCP/IP) Il protocollo TCP/IP: noi utenti non dobbiamo preoccuparci perché siamo al livello più alto del protocollo e tramite i software diamo l’input per l’invio di informazioni tramite la rete. È un protocollo della rete, che ci permette di sviluppare delle comunicazioni dove al livello più alto c’è l’utente e al più basso la connessione. Noi utenti non ci preoccupiamo di nulla, utilizziamo un software dove scriviamo dei messaggi, premo invia e whatsapp stesso, ad esempio, si interfaccerà con il livello interiore fino ad arrivare a quello più basso. Le funzionalità: interazione gerarchica tra livelli applicazione, trasporto, internetworking, collegamento il livello più alto, mentre serve per l’interazione con l’utente il livello più basso per l’interazione con il supporto fisico.
Nella rete in internet viene utilizzato il “Client server”: la rete internet non è paritaria, ci sono livelli diversi in termini di gerarchia. Nella rete i nodi possono essere attivi o passivi Alternativamente possiamo parlare di client e server Client: colui che richiede un servizio (ad es. l’utente) Server: colui che fornisce un servizio (ad es. il sito web). La funzionalità della rete dipende da: comunicazione tra più nodi e utenti ; condivisione di risorse ; LAN = calcolo scientifico, archivio centralizzato, disco condiviso, backup e la posta elettronica; WAN (e MAN) = aree network e metropolitan. Interoperabilità; cooperazione tra diverse sedi. Internet : Nasce alla fine degli anni ’60 come progetto del Ministero della Difesa degli Stati Uniti. Gli Obiettivi del progetto sono: o rete di calcolatori con SO diversi; o decentrata; o non vulnerabile (ad attacchi alle infrastrutture di telecomunicazione) Le caratteristiche: sono l’utilizzo di una struttura ridondante e della comunicazione con commutazione di pacchetto: strategia di comunicazione che viene tutt’ora utilizzata. Il progetto di internet passa da militare ad accademico perché nelle università ci si rende conto dell’! del sistema di comunicazione. Negli USA la diffusione iniziale di Internet è in ambito Militare e Accademico; In Europa negli anni ’70 ; In Italia nel 1986; Alcune applicazioni sviluppate in quegli anni sono “sopravvissute”: posta elettronica Negli anni ’. Molte altre sono state cancellate dalla killer application di Internet, sviluppata negli anni ’90: il World Wide Web Internet viene ampliata se vengono aggiunte nuove reti (la Rete delle Reti); le utenze domestiche entrano a fare parte di Internet grazie agli Internet Service Provider (ISP) ; essendo composto da più sottoreti, la connessione tra loro viene gestita da gateway: porte d’accesso alle sottoreti; in Internet i nodi vengono individuati univocamente tramite gli indirizzi IP codice fiscale dei tutti i nodi collegati alla rete internet, sono chiamati “internet protocol”. Gli IP sono sequenze di BIT: Sono indirizzi a 32 bit che vengono solitamente indicati con 4 numeri (decimali) compresi tra 0 e 255 (ad es. 192.168.1.1). l’ICANN (International Corporation for Assigned Names and Numbers) attribuisce indirizzi IP ad aziende e paesi. Gli indirizzi IP sono solo 232, ovvero circa 4 miliardi, gli indirizzi sono già finiti per cui bisogna trovare strategie per ovviare a questo problema. Sono state proposte due idee: IPv6: indirizzi IP a 128 bit, 340282366920938463463374607431768211456 indirizzi diversi; NAT (Network Address Translation): solo il gateway ha un indirizzo univoco, tutti i calcolatori della sottorete hanno indirizzi diversi tra loro ma non necessariamente diversi da quelli di altre sottoreti.
Phishing: attirarci cose che non dobbiamo fare: cambio pass homebanking, regaliamo delle info a delle richieste fasulle. Posta elettronica certificata: ci permette di inviare messaggi a cui noi possiamo aggiungere alla firma elettronica servizio che permette a chi permette di inviare messaggi e a chi riceve il messaggio inviato di avere la certezza che il mittente sia liberamente chi dice di essere. Mailing list: riguardano il servizio di posta elettronica e permettono di inviare il servizio a più persone: è un contenitore dove inserisco tutti gli indirizzi di posta elettronica delle persone mantiene privacy perché quando viene mandato un messaggio vedrà fra i destinatari solo l’indirizzo della mailing list, non tutti. Differenza fra cambi cc e bbc o ccn: quando mandiamo un messaggio di posta elettronica specifichiamo gli indirizzi in 3 campi distinti: “A..”, “cc”: copia carbone, dove inserisco rtutti gli indirizzi di posta elettronica per conoscenza ma vedo gli altri, bcc:blanc carbon copy, dove inserisco gli indirizzi di posate elttronica ma gli indirizzi restano nascosti. Perché i messaggi con allegati troppo grandi possono essere rifiutati: non intasare la casella utente. ! servizio FTP (file transfer protocol) : servizio client server computer che mette a disposizione la sua memoria per ospitare i file trasferiti che noi col nostro computer possiamo collegarci a questi server per trasferire i file di grandi dimensioni, soprattutto fra calcolatori con sistemi operativi diversi. Prendo i file eli metto su un server e per accederci liberamente o utilizzo delle credenziali: registro utente e server, mi connetto e poi trasferisco esempio dropbox. Con questo protocollo scarichiamo gli aggiornamenti delle app del nostro computer, ma non serve solo a questo: carico pagine web su un sito web, distribuzione di pacchetti software e upload di pagine web. FTP (File Transfer Protocol) è un protocollo usato per la copia di dati tra nodi della rete l’utente può usare SW detti Server FTP e Client FTP (Filezilla) lo scambio può avvenire anche tra calcolatori con SO e filesystem diversi. Un server FTP mette a disposizione dello spazio di memoria dove è possibile copiare dati. I client FTP si connettono usando credenziali per l’accesso. Sempre parlando dei servizi internet possiamo parlare del servizio peer to peer (p2p): è un’architettura paritaria, non c’è una gerarchia client/server diffuso per attività di trasferire dei file, quindi il file sharing si utilizzano programmi come Emule e Edonkey, mentre il rpimo software si chiamava Napster, a metà degli anni ’90. La persona che ha sviluppato questo software permette agli utenti di scambiarsi file senza passare da un server. Quella applicazione nasce dallo specifico per scaricare e copiare file senza copyright. ! dei gruppi di discussione e forum: scambio di informazioni tra comunità, newsgroup non più, utilizzati per la cronologia degli aggiornamenti, forum: discussioni tematiche utilizzate in thread – richiedono registrazione per partecipare alle discussioni. ! della comunicazione sincrona: esistono anche sistemi di comunicazione sincrona, che quando sono nati permettono di realizzare una comunicazione sincrona: chat, instant messaging, ICQ; MSN, skype e Voip. Skype è stato il primo strumento che crea la Voip. La chat è lo strumento al quale io accedo tramite sito web, dove io entro in una stanza virtuale e posso inviare e ricevere messaggi da parte di persone che io conosco e sono all’interno di quella stanza. Instant messaging, devo registrarmi a quel servizio.! Voip per le telefonate tramite internet. ! altri servizi:
backup di file e cartelle in remoto, il backup di solito è incrementale (Mozy) backup: ci permette di creare una copia di sicurezza dei nostri dati. Fatto il primo backup nelle settimane successive verrà inserito solo ciò che verrà modificato se lo faccio la volta successiva. archiviazione tramite strumenti di versioning (CVS, GIT) versione successive dello stesso documento. condivisione di file tra più utenti che possono leggere/scrivere (Google Drive, DropBox). cloud computing: archiviazione e/o elaborazione in remoto stiamo parlando di un servizio che ci permette di fare cose analoghe ma anche qualcosa in più e di diverso, l’elaborazione in remoto sapendo che ho una connessione alla rete internet disponibile, posso chiederre l’attivazione di un servizio sempre dall’altra parte, e se viene fatta su un server non spreco la batteria del mio telefono per arrivare a destinazione. due calcolatori comunicano attraverso messaggi codificati con appositi segnali (livello di tensione, o luce in una fibra ottica). I messaggi vengono inviati tramite appositi canali di trasmissione. I canali di trasmissione sono affetti da rumore, per questo è stata introdotta una codifica con ridondanza. E i canali di comunicazione sono: doppino telefonico: si riferisce alla linea telefonica classica che abbiamo sempre avuto; cavo coassiale: messo sempre più spesso nelle nostre case, segnali con livelli di tensione. fibra ottica: segnale luminoso. Irda, Bluetooth, wifi: sono senza fili e utilizzano metodi diversi per la trasmissione dei dati. connessione internet service provider (ISP): la connessione viene utilizzata tramite modem : strumento che si preoccupa di trasformare il segnale che arriva dal canale di connessione ai nostri calcolatori. il modem fa anche da router: dispositivo che si occupa di creare un rete sotto casa nostra. Crea una rete wifi a cui noi possiamo collegare tutti i dispositivi che abbiamo. Il router collega più cavi e computer fisicamente al dispositivo stesso. L’oggetto che abbiamo a casa oggi è un qualcosa che fonde il modem e router. Le connessioni tramite la linea telefonica sono: Linea telefonica commutata (56 Kbps); ISDN (128 Kbps); DSL (tra 160 Kbps e 52 Mbps); ADSL ( Asymmetric DSL); HDSL (High bit rate DSL, simmetrica); WiMAX. Anche tramite telefonia mobile è possibile accedere a Internet: GSM - 2G (< 10 Kbps); GPRS - 2,5G (tra 30 e 70 Kbps); EDGE - 2,75G (<200 Kbps); UMTS - 3G (<2 Mbps); HSDPA - 3,5G (<7,2 Mbps); LTE - 4G (< 3,3 Gbps). La connessione può essere effettuata con smartphone, PDA, o con un PC collegato tramite USB, IrDA o Bluetooth al telefono cellulare.