









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
Materiale per l'esame di informatica con il prof Pozzato
Tipologia: Appunti
1 / 16
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










Lo sviluppo tecnologico rende presto obsolete le conoscenze tecniche molto dettagliate. Il computer è versatile, ovvero non si possono prevedere gli usi futuri.
A partire dalla rivoluzione industriale si è deciso di farsi aiutare dalle macchine, in quanto effettuare calcoli a mente è un’attività noiosa, incline all’errore e dispendiosa in termini di tempo. Per secoli l’uomo ha cercato di porre rimedio a questo fatto automatizzando il processo di calcolo. Il calcolatore elettronico subentra proprio in questo contesto. Il primo strumento che possiamo classificare tra quelli che hanno aiutato l’essere umano a svolgere la propria attività di calcolo è l’abaco. È la prima macchina di calcolo nota, la sua origine risale al V millennio a.C. Il suo scopo è quello di assistere l’uomo mentre fa i calcoli, tuttavia non è molto diverso da un foglio di carta, in quanto la logica e la correttezza dell’operazione dipendono unicamente dall’utente. Un passo importante è rappresentato dalla Pascalina (XVII secolo d.C.), la quale permette di fare delle somme, ma la logica dell’operazione è controllata dalla macchina. Il problema è che permetteva di effettuare solo addizioni e sottrazioni. Moltiplicazioni e divisioni potevano essere calcolate mediante ripetizioni di addizioni e sottrazioni, ma era di nuovo l’utente a dover controllare il processo. Si può pensare di affrontare il problema modificando la macchina in modo da introdurre la divisone e la moltiplicazione. Nonostante ciò, si ripresenterebbero altri problemi (radice quadrata etc.). Il problema vero è che la logica che governa le operazioni è cablata nella macchina calcolatrice, per cui la soluzione è trattare tale logica come parte dell’input della macchina. In questa direzione si è mosso intorno al 1840 Charles Babbage, che ha inventato il primo esempio di macchina di calcolo programmabile: la macchina analitica. L’utente può fornire anche come trattare i dati. Babbage era molto avanti rispetto ai suoi tempi, la tecnologia non era ancora sviluppata a sufficienza, tanto che la macchina analitica avrebbe dovuto funzionare a vapore. Inoltre, l’esigenza di automatizzare il calcolo non era forte. Per questi motivi le sue idee furono dimenticate per quasi un secolo. Le idee di Babbage vennero riscoperte nella prima metà del Novecento da Alan Turing e John von Neumann. Turing è considerato uno dei padri dell’Informatica, moltissime sue idee sono attuali anche oggi e a lui si deve la cosiddetta “macchina di Turing”. Quest’ultima è un progetto teorico che gli ha permesso di tracciare a livello concettuale i limiti di ciò che è calcolabile automaticamente (computazionalmente trattabile). Alla base del suo funzionamento c’è la stessa idea alla base della macchina analitica. Il contributo di von Neumann è più pratico, in quanto descrive un calcolatore effettivamente costruibile partendo dalle idee di Babbage e Turing. È ancora oggi il modello su cui si basano i computer moderni, nonostante siano cambiate le tecnologie. Informatica in inglese: Information and Communication Technology: informatica come tecnologia (risvolti fisico- matematici del calcolo automatico, teorie e tecniche di comunicazione) Computer Science: informatica come scienza (modelizzazione, formalizzazione e verifica sperimentale). Affronta tanti temi: sicurezza, basi di dati, sistemi operativi, reti di calcolatori, linguaggi di programmazione.
Informatica: informazione automatica, insieme dei processi e delle tecnologie che consentano la creazione, la raccolta, l’elaborazione, l’immagazzinamento, la diffusione dell’informazione. Computer: elaboratore (dispositivo in grado di eseguire automaticamente una serie di istruzioni) elettronico (usa componenti elettronici) digitale (elabora info binarie) Hardware: componente fisica del sistema informatico Algoritmo: insieme delle operazioni necessarie a risolvere un problema Un programma implementa diversi algoritmi Software: insieme dei programmi che fanno funzionare l’hardware. Due categorie: sistemi operativi (software di base) e programmi applicativi, i quali svolgono i compiti più vari (app)
I computer non elaborano solamente numeri, ma anche testi, immagini, suoni, filmati. È sufficiente che l’info sia rappresentabile in modo digitale (0,1). Tipi di segnali: Segnali analogici, cioè un insieme continuo di valori sensibili alle interferenze. Segnali digitali, insieme discreto di valori (0,1) semplici da distinguere. I vantaggi del digitale sono che è un sistema molto semplice, non ambiguo (non sensibile alle interferenze) e riproducibile senza errori. IL BIT Binary digit, cifra binaria. All’interno del computer ci sono tantissimi interruttori, ciascuno di questi è un bit, che permette di rappresentare un segnale binario. Si tratta di un elemento di base per rappresentare le informazioni. Come viene realizzato un bit? Presenza/assenza di carica elettrica, direzione di magnetizzazione, presenza/assenza di corrente/tensione, passaggio/non passaggio di luce. Un bit può assumere due valori (0,1), quindi con un bit possiamo rappresentare due info. La corrispondenza informazione-valore del bit è una convenzione. Tuttavia non tutte le informazioni possono essere rappresentate da 1 bit, ma ne servono di più. Come fare per rappresentare più di due informazioni usando i bit? Combiniamo più bit per rappresentare ogni informazione. 2 bit = 4 info: 00,01,10,11. Con 3 bit ho 8 combinazioni Con 1 bit si rappresentano 2 info (2^1 ) Con 2 bit si rappresentano 4 info (2^1 x 2 = 2^2 ) Con 3 bit si rappresentano 8 info (2^2 x 2 = 2^3 ) Con N bit si rappresentano 2N^ informazioni Se abbiamo K info, di quanti bit abbiamo bisogno per rappresentarle? Dobbiamo utilizzare un numero di bit sufficiente per esprimerle tutte. Dobbiamo scegliere 2N^ K Se 2N^ = K, ogni combinazione di bit ha un’informazione corrispondente Se 2N^ K, alcune combinazioni di bit non corrispondono a info IL BYTE È stato attribuito un significato particolare ai gruppi di 8 bit (= 1 byte) 8 bit 28 = 256 info diverse
Numerale 6 10 ? x 2^2 +? x 2^1 +? 20 = =? x 4 +? x 2 +? x 1 = = 1 x 4 + 1 x 2 + 0 x 1 = 4 + 2 + 0 = 6 (^25710) 257 = 256 + 1 257 = 2^8 + 2^0 Sono a 1 i bit in posizione 8 e 0 25710 = 100000001 2
Per rappresentare i caratteri, occorre stabilire una convenzione per la corrispondenza tra configurazione di bit e carattere: codice ASCII. Quest’ultimo usa i 7 bit meno significativi di un byte (2^7 = 128 diversi caratteri rappresentabili) Nel codice ASCII le lettere maiuscolo hanno associato un codice più piccolo delle lettere minuscole. Di conseguenza, se chiediamo a un computer di ordinare alfabeticamente le parole “abete” e “Zacinto”, le metterà in questo ordine: 1. Zacinto. 2. Abete Il codice ASCII è insufficiente per rappresentare i comuni segni diacritici. Soluzione: codice ASCII esteso usa 8 bit. Al massimo 2^8 = 256 caratteri. Le cifre da 0 a 9 rappresentate in ASCII sono caratteri e non quantità numeriche, quindi non possono essere utilizzate per rappresentare quantità da utilizzare in calcoli aritmetici. 256 dell’ASCII esteso sono insufficienti per alcuni sistemi di scrittura. Quindi non esiste un unico ASCII esteso, ma uno o più diverso per ogni lingua. Soluzione: definire uno standard che utilizzi più bit e che comprenda tutti i sistemi di scrittura. Abbiamo quindi Unicode. Unicode prevede di utilizzare fino a 4 byte per ogni carattere = 32 bit per carattere. 2^32 = oltre 4 miliardi di possibili caratteri rappresentabili. Attualmente sono rappresentati oltre 98000 caratteri. Unicode ha introdotto due “dialetti” che definiscono come codificare il numero di un carattere Unicode come sequenza di bit: UTF-
Vi sono varie tecniche utilizzate per memorizzare in modo digitale un’immagine, e poi elaborarla. Immaginiamo di dover codificare un’immagine in bianco e nero. L’idea è quella di creare una griglia formata da linee a distanza costante e apporla sull’immagine. Ciascun quadrato derivato da tale suddivisione viene chiamato pixel (picture element) e può essere codificato in binario con la convenzione che: 0 rappresenta un pixel bianco 1 rappresenta un pixel nero Per avere una sequenza di bit, in quale ordine leggere i pixel? Occorre una convenzione.
Non sempre il contorno della figura coincide con le linee della griglia: digitalizzando un’immagine si ha sempre un’approssimazione dell’immagine stessa. Come avere un’immagine più fedele? Aumentando la risoluzione, cioè il numero di pixel. Con un solo bit per pixel si possono codificare solo due colori. Per codificare più informazioni, dobbiamo usare più bit. Tonalità di grigio: per ogni quadratino si stabilisce il livello medio di grigio. Si codifica ogni livello di grigio: se uso 4 bit = 16 livelli di grigio. Se uso 8 bit = 256 livelli di grigio. Se uso k bit = 2k^ tinte diverse. Come associare una rappresentazione binaria a ogni possibile colore di un pixel? Il modello più utilizzato è il Truecolor o RGB. Tre colori primari: rosso verde e blu. Il funzionamento è lo stesso: un’immagine è ottenuta mescolando vari livelli di colori primari. 256 valori possibili per ogni colore primario (da 0 a 255) R G B Nero 0 0 0 Bianco 255 255 255 Rosso 255 0 0 Giallo 255 255 0 Grigio 127 127 127 Quanti colori sono rappresentabili? 256 livelli (8 bit) per ogni canale (colore primario) 3 byte per ogni pixel = 3 x 8 bit per ogni pixel 224 colori = 16 777 216 colori Occupazione delle immagini a colori Immagine 150 x 200 pixel truecolor Occorrono 3 byte (24 bit) per pixel Quindi occupa 150 x 200 x 3 = 90 000 byte Esistono tecniche di compressioni delle immagini che consentono di ridurre la dimensione dello spazio occupato. Una tecnica consiste nel codificare aree dello stesso colore in modo abbreviato (es: 000000 6 x 0). È un esempio di tecnica lossless, cioè senza perdita di informazione. Quando decomprimiamo l’immagine questa è identica all’originale. Formati compressi lossless: gif, tiff, png. Esistono anche tecniche di compressione lossy, che, invece, causano perdita di informazione. Cioè il processo di compressione scarta alcuni dati. Quando si decomprime l’immagine, questa è diversa dall’originale: è degradata in qualità. La compressione lossy permette di risparmiare molto più spazio della lossless. Formati compressi lossy: jpeg, png. Codifica delle immagini in movimento Le immagini in movimento sono sequenza di immagini, che prendono il nome di fotogramma o frame. Visto lo spazio elevato richiesto, occorrono tecniche di memorizzazione efficienti: per esempio, sono memorizzate solo le differenze tra un fotogramma e l’altro. Esistono vari formati, soprattutto lossy: mpeg, divx, avi, quicktime.
delle informazioni. Per leggere e scrivere in una cella è necessario conoscerne l’indirizzo. Specificando l’indirizzo di una cella, la CPU è in grado di leggere e/o modificare il valore del byte memorizzato i quella cella. Gli indirizzi della cella vengono espressi come sequenze di bit. Il numero di bit che utilizziamo per specificare gli indirizzi è strettamente collegato alla dimensione della memoria RAM che si ha a disposizione. Lo spazio di indirizzamento è l’insieme o il numero delle celle indirizzabili direttamente. Il numero di celle indirizzabili è una potenza di 2, con: 16 bit si indirizzano 2^16 : 65536 celle 32 bit si indirizzano 2^32 : 4.294.967.296 celle Numero di celle indirizzabili = numero di info rappresentabile con un certo numero di bit. Dimensioni della memoria L’unità di misura della memoria è il byte. Si usano dei multipli: kilobyte (KB) = 1024 byte (2^10 byte) megabyte (MB) = 1024 KB (2^20 byte) gigabyte (GB) = 1024 MB (2^30 byte) quindi con 16 bit si indirizzano 64 KB di memoria con 32 bit si indirizzano 4 GB di memoria RAM sta per Random Access Memory: memoria ad accesso casuale. Perché si chiama ad accesso casuale? Si può accedere direttamente alle varie celle, una volta noto il loro indirizzo. Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza. Il termine random indica il fatto che non ci sono differenze nell’accesso alle varie celle della memoria. La RAM è veloce: il tempo di lettura/scrittura di una cella è compreso tra 5 e 30 nanosecondi La RAM è volatile: formata da componenti elettronici, se viene tolta l’alimentazione anche per un breve periodo di tempo tutto ciò che contiene viene perso. La RAM è relativamente costosa ROM: Read-only Memory, memoria in sola lettura. Memoria aggiuntiva che serve per l’avvio del computer. Non può essere modificata e non è volatile. Veloce quasi quanto la RAM.
Stesse proprietà della RAM, ma: più veloce (ma più piccola e costosa) della RAM. Localizzata tra la CPU e la RAM. Memorizza i dati di uso più frequente, evitando alla CPU di doverli recuperare tutte le volte dalla RAM. Influisce pesantemente sulle prestazioni e sul costo della CPU. Dimensioni tipiche sono 512 KB, 1 MB, 2 MB CPU Esegue programma scritti in linguaggio macchina. Tutti i programmi, anche Word, Excel, internamente sono codificati in LM. I programmi sono sequenze di istruzioni in LM. Le istruzioni sono comandi elementari, ad esempio: somma due numeri, leggi dalla memoria, scrivi in memoria, scrivi verso dispositivo di output, confronta due numeri. Ogni tipo di processore è in grado si eseguire un numero limitato di istruzioni. Le istruzioni si suddividono in
Aritemtiche, logiche Di salto Di lettura/scrittura in memoria Di lettura/scrittura verso dispositivi di I/O Combinando in modo diverso sequenza anche molto lunghe di istruzioni si possono fare svolgere al computer compiti completamente diversi. La CPU è formata da:
insieme di collegamenti in rame. Tutti i componenti del sistema sono collegati al bus. Il bus di sistema collega la CPU ad altri dispositivi del computer. Il bus locale è un’evoluzione del bus di sistema, per il collegamento veloce tra CPU, memoria e periferiche veloci.
Insieme di uno o più elaboratori collegati tra loro mediante un mezzo che permette di farli colloquiare. Una rete permette di:
Svantaggi: circuito occupato, anche se la banda non è usata interamente. Gli altri calcolatori non possono utilizzare i collegamenti finché il circuito non viene rilasciato. Poca efficienza. Vantaggi: garanzia di servizio. Dato che le risorse necessarie sono prenotate, la banda è costante e garantita commutazione di pacchetto: usata da internet. Invece di riservare delle risorse alla comunicazione, i nodi intermedi restano a disposizione di chiunque. Si rinuncia alla garanzia di servizio per aumentare l’efficienza. Best effort delivery: nessuna garanzia, ma il meglio possibile a seconda della situazione. Simile al sistema postale; gli uffici postali non vengono riservato, i postini fanno il meglio possibile, ma la consegna può venire ritardata in caso di elevato traffico. Il mittente in genere non viene informato se la consegna è avvenuta. Pacchetto IP: contiene lo spazio per scrivere: informazione (una quantità imitata), u numero progressivo (identificatore), l’indirizzo IP del destinatario. I pacchetti IP sono inviati attraverso internet uno alla volta. Possono seguire percorsi diversi anche fra i medesimi mittente e destinatario. Ogni pacchetto occupa il mezzo trasmissivo per un tempo limitato. Come fare arrivare i pacchetti a destinazione? Ogni nodo ritrasmette i pacchetti ricevuti al nodo (cui è collegato) più vicino alla destinazione (instradamento/routing). I nodi possiedono una tabella che indica, per ogni destinazione, a quale vicino trasmettere il pacchetto. Inoltre, la scelta del nodo di inoltro dipende anche da situazioni temporanee di carico della rete, guasti, alternative di inoltro. Vantaggi: maggiore efficienza. A e B non occupano una linea completa per tutta la durata della conversazione. Svantaggi: nessuna garanzia: se i pacchetti sono troppi, vengono messi in coda. Possono arrivare in ritardo oppure venire scartati. Cosa succede quando ci colleghiamo da casa? Dall’elaboratore di casa al provider è in atto un collegamento a commutazione di circuito, la linea risulta occupata. Dal provider a un altro punto sulla rete Internet è in corso una commutazione di pacchetto. Due modi per classificare le reti: topologia, in base a quali collegamenti esistono tra i calcolatori. o A bus o lineare: tutti i nodi sono collegati tramite una stessa linea. Il segnale emesso da un nodo percorre tutta la linea, raggiungendo così la destinazione. o Ad anello: i nodi sono collegati in una struttura circolare. Ogni nodo è collegato solo ad altri due nodi. Il segnale emesso da un nodo passa al successivo finché non raggiunge il destinatario, viene ritrasmesso al nodo seguente. o A stella: i nodi sono collegati a un nodo centrale. La comunicazione avviene attraverso il nodo centrale. L’info trasmessa da un nodo viene smistata dal nodo centrale verso il nodo di destinazione o Punto-punto: i nodi sono collegati a coppie e operano allo stesso livello. La comunicazione è diretta tra due nodi, è utilizzabile solo per pochi nodi. Topologie miste: combinazioni di più topologie semplici estensione, in base all’area coperta dalla rete o Personal Area Network. Rete personale, collega due o più dispositivi vicini a un utente (cellulare con PDA, stampante, antenna GPS). Raggio di una decina di metri. Spesso sono wireless, usano Bluetooth
.di.unito.it: sotto-sottodominio, che identifica la rete del Dipartimento di Informatica pianeta.di.unito.it: identifica l’elaboratore “pianeta” appartenente al sotto-sottodominio del Dipartimento di Informatica. Per localizzare un elaboratore occorre conoscere il suo indirizzo IP. Come ottenerlo a partire dall’indirizzo logico? Il DNS è il servizio che gestisce la traduzione tra indirizzi logici e indirizzi IP. Il DNS ha una struttura gerarchica. Internet offre tutte una serie di servizi: WWW, e-mail, Instant messaging, Voice over IP, File sharing. World Wide Web. Servizio basato su Internet. Nato all’inizio degli anni ’90 al CERN a Ginevra per permettere agli scienziati di condividere informazioni. Costituito da documenti ipertestuali che si trovano su elaboratori distribuiti in tutto il mondo. I contenuti dei vari documenti sono in genere collegati fra loro mediante link. I contenuti sono consultabili mediante programmi chiamati browser. L’interazione tra browser e server web è di tipo client-server. URL Gli indirizzi logici e IP non sono sufficienti per identificare un determinato documento nel web. Quindi, ai documenti web viene associato un indirizzo al fine di essere reperiti. La posta elettronica Servizio che permette di spedire e ricevere messaggi. Gli utenti hanno un indirizzo: nome utente @ dominio
Una delle applicazioni informatiche più utilizzate. Database. In ogni ambiente in cui è necessario memorizzare e reperire grandi quantità di dati è utile un database (anagrafe, biblio). Memorizza grandi quantità di informazioni in modo da facilitare la modifica e il reperimento. Soluzioni: File system/foglio elettronico. Svantaggi: organizzazione dei file a carico dell’utente. Dati non strutturati: come confrontarli ed elaborarli? Difficile condivisione tra più utenti, difficile reperire informazioni. DB adatti a memorizzare dati omogenei che devono essere strutturati. Gestiti da DBMS, sistema di gestione di basi di dati. Vantaggi: permettono di considerare i dati come risorsa di un’organizzazione. Una risorsa comune: a disposizione di molteplici utenti e applicazioni. Offrono un modello formale della realtà di interesse. Preciso, riutilizzabile. Un DBMS gestisce insieme di dati: grandi, persistenti, condivisi. Concorrenza = Nello stesso momento più applicazioni possono accedere al medesimo dato; tali accessi non devono interferire tra loro per garantire l’integrità dei dati. La condivisione permetti di evitare ridondanza e incoerenza. I DBMS danno backup e recovery. Utenti: amministratore, responsabile della progettazione, controllo e amministrazione. Modello dei dati Insieme di concetti utilizzati per organizzare i dati di interesse a descriverne la struttura. Il modello Entità-Relazioni
Il software è un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici in un oggetto in grado di svolgere funzioni di varia natura. I computer sono programmabili: possono svolgere compiti diversi in base a istruzioni contenute nei programmi. Il sistema operativo (software di base) è un insieme di programmi che interagiscono e cooperano tra di loro per gestire efficientemente il computer e le sue periferiche, creare un ambiente virtuale per facilitare l’interazione uomo-macchina. Il s.o. esegue un comando seguendo i seguenti passi:
Dato che la RAM è molto più veloce dell’hard disk, aumentare la quantità della RAM può migliorare le prestazioni del computer, perché il s.o. dovrà fare ricorso meno frequentemente all’hard disk per implementare la memoria virtuale.
Lo scopo è quello di mettere a disposizione un sistema per i calcoli. Formato tabellare.
= integrare più media sullo stesso dispositivo. I media possono essere: suoni, immagini ferme, immagini in movimento, testi etc. Applicazioni: intrattenimento, addestramento, istruzione e formazione, web, ufficio, basi di dati multimediali. Le immagini. Due classi principali di grafica al calcolatore: grafica bitmap (Paint), le immagini non sono scalabili, se ingrandite perdono qualità. Grafica vettoriale (Powerpoint), si basa sul concetto di primitive grafiche: linee, poligoni, ellissi, archi. Le primitive sono memorizzate con una descrizione matematica: coordinate e/o formule matematiche. Quindi abbiamo un controllo accurato delle linee e dei colori, vi è la possibilità di ruotare e ridimensionare oggetto, di inserire testo. Inoltre c’è una ridotta occupazione di spazio se l’immagine è semplice, in quanto si memorizza l’oggetto non ciò che produce. La grafica vettoriale viene usata specialmente per immagini di sintesi, fondamentale quando bisogna ridimensionare/ruotare un’immagine (loghi, simboli, animazioni 3D, CAD).
Linguaggio a tag. Tutti i blocchi vanno racchiusi tra un tag di apertura e tag di chiusura con la slash.